Re: 5.8.9 RC1 report
[p5sagit/p5-mst-13.2.git] / ext / Digest / MD5 / Changes
CommitLineData
0c8767ae 12008-11-12 Gisle Aas <gisle@ActiveState.com>
2
3 Release 2.37
4
5 Sync up with consting changes from the perl core.
6
7
8
efbeba86 92005-11-30 Gisle Aas <gisle@ActiveState.com>
10
11 Release 2.36
12
13 Fix documentation typo.
14
15
16
6e770d9c 172005-11-26 Gisle Aas <gisle@ActiveState.com>
18
19 Release 2.35
20
21 Forgot to incorporate fixes already applied to bleadperl :-(
22 - doc typo
23 - consting
24 - unused my_na
25 - USE_HEAP_INSTEAD_OF_STACK for Symbian
26
27
28
292005-11-26 Gisle Aas <gisle@ActiveState.com>
30
31 Release 2.34
32
33 Document that it is now easy to generate different messages that produce the
34 same MD5 digest.
35
36 Use XSLoader; perl-5.6 is now required.
37
38 Tweaks to the processing of $? after running the test program.
39
40
41
ee7ea0b1 422003-12-07 Gisle Aas <gisle@ActiveState.com>
43
44 Release 2.33
45
46 Enable explicit context passing for slight performance
47 improvement in threaded perls.
48
49 Tweaks to the Makefile.PL so that it is suitable both for
50 core and CPAN use.
51
52
53
542003-12-05 Gisle Aas <gisle@ActiveState.com>
55
56 Release 2.32
57
58 Don't run u32align test program on HP-UX 10.20 as it
59 will hang. Patch by H.Merijn Brand <h.m.brand@hccnet.nl>.
60
61 Fixed documentation typo.
62
63
64
49953a3f 652003-11-28 Gisle Aas <gisle@ActiveState.com>
66
67 Release 2.31
68
69 Inherit add_bits() from Digest::base if available.
70
71
72
8be5f608 732003-10-09 Gisle Aas <gisle@ActiveState.com>
74
75 Release 2.30
76
77 Some tweaks to make the module build on perl-5.004 and
78 perl-5.005 again.
79
80
81
822003-10-06 Gisle Aas <gisle@ActiveState.com>
83
84 Release 2.29
85
86 Another try. Forgot to update the test checksums.
87
88
89
902003-10-06 Gisle Aas <gisle@ActiveState.com>
91
92 Release 2.28
93
94 Fix minor documentation typo.
95
96
97
515b806d 982003-08-04 Gisle Aas <gisle@ActiveState.com>
99
100 Release 2.27
101
102 Avoid having to figure how to compile alignment test program
103 on MS-Windows by just assume free alignment as for i386. Source
104 builds on Windows was apparently broken.
105
106
107
1c9948bf 1082003-07-21 Gisle Aas <gisle@ActiveState.com>
109
110 Release 2.26
111
112 Don't assume PerlIO_read() works like fread() even though
113 it was documented like that for perl 5.6. It returns negative
114 on read failure.
115
116 Kill test #3 in t/badfile.t. I don't know a reliable way
117 to test read failures on a file handle. Seems better not to
118 test than to make many worry.
119
120
121
ac70dec1 1222003-07-04 Gisle Aas <gisle@ActiveState.com>
123
124 Release 2.25
125
126 The $md5->addfile method now croaks if it discovers
127 errors on the handle after reading from it. This should
128 make it more difficult to end up with the wrong digest
129 just because you are to lazy to check the error status
130 on your file handles after reading from them.
131
132 Improved documentation.
133
134 Sync up with bleadperl; even safer patchlevel include.
135
136
137
f05fc781 1382003-03-09 Gisle Aas <gisle@ActiveState.com>
139
140 Release 2.24
141
142 Don't let the $^W test get confused by lexical warnings.
143
144 Sync up with bleadperl; safer patchlevel include.
145
146
147
cf0ec753 1482003-01-18 Gisle Aas <gisle@ActiveState.com>
149
150 Release 2.23
151
152 Override INSTALLDIRS for 5.8 as suggested by
153 Guido Ostkamp <Guido.Ostkamp@t-online.de>.
154
155
156
1572003-01-04 Gisle Aas <gisle@ActiveState.com>
f62a1bde 158
159 Release 2.22.
160
161 Added clone method.
162 Contributed by Holger Smolinski <holger@kunterbunt.bb.bawue.de>
163
164
165
9a03235d 1662002-12-27 Gisle Aas <gisle@ActiveState.com>
167
168 Release 2.21
169
170 Minor tweaks sync up with bleadperl:
171 - VMS optimizer tweaks to the Makefile.PL
172 - MacOS support
173 - Added alignment test
174
175 Added example to the MD5 POD that shows how to calculate the
176 digest of Unicode strings.
177
178
179
0dfa9f37 1802002-05-05 Gisle Aas <gisle@ActiveState.com>
181
182 Release 2.20
183
184 More synchronization with tweaks Jarkko have done to the
185 bleadperl test suite. This time various EBCDIC hacks.
186
187 Outside PERL_CORE the md5-aaa.t test loaded the wrong version of
188 the module (and would fail if no previous Digest::MD5 was installed).
189 Patch by Mike Stok <mike@stok.co.uk>
190
191
192
5a046520 1932002-05-01 Gisle Aas <gisle@ActiveState.com>
194
7e2b0cd5 195 Release 2.19
196
197 One more test suite update from Jarkko to sync it
198 even better with bleadperl.
199
200
201
2022002-05-01 Gisle Aas <gisle@ActiveState.com>
203
5a046520 204 Release 2.18
205
206 Changes #12954 and #16173 from bleadperl. Documentation typo fix
207 and some signed/unsigned mismatches that Microsoft's C compiler
208 complained about.
209
210 The EBCDIC-aware md5-aaa.t from bleadperl.
211
212
213
2142002-04-25 Gisle Aas <gisle@ActiveState.com>
215
216 Release 2.17
217
218 The SvPVbyte in perl-5.6.1 is buggy. Use the one from 5.7.3
219 instead.
220
221 Give warning if the function interface is used as instance
222 methods: $md5->md5_hex().
223
224
225
db2a39d5 2262001-09-07 Gisle Aas <gisle@ActiveState.com>
227
228 Release 2.16
229
230 Sync up with the bleadperl version:
8be5f608 231 - use SvPVbyte() if available
db2a39d5 232 - fixes to make the code 'gcc -Wall'-clean
233
234
235
2362001-08-27 Gisle Aas <gisle@ActiveState.com>
237
238 Release 2.15
239
8be5f608 240 Avoid exit() in Makefile.PL and bleadperl redefinition of printf
db2a39d5 241 in the alignment test program.
242 Patch by Doug MacEachern <dougm@covalent.net>.
243
244
245
2462001-07-18 Gisle Aas <gisle@ActiveState.com>
247
248 Release 2.14
249
250 Try to warn if the functional interface is used as methods,
251 i.e. Digest::MD5->md5_hex("foo") will make noise if -w is
252 enabled.
253
254 Document the missing padding for the base64 digests.
255
256 If both XS bootstrap and locating Digest::Perl::MD5 fails
8be5f608 257 re-raise the original XS bootstrap exception.
db2a39d5 258
259
260
3357b1b1 2612001-03-13 Gisle Aas <gisle@ActiveState.com>
262
263 Release 2.13
264
265 Moved all other Digest:: modules out of the Digest-MD5 dist.
266
267
268
2692000-09-18 Gisle Aas <gisle@ActiveState.com>
270
271 Release 2.12
272
273 Avoid pointer cast warning for machines with bigger ints
274 than pointers. Patch by Robin Barker <rmb1@cise.npl.co.uk>.
275
276
277
2782000-08-19 Gisle Aas <gisle@ActiveState.com>
279
280 Release 2.11
281
282 The fallback code introduced in 2.10 did only work for
283 perl-5.6.0. It should now for for perl5.004 and 5.005
284 as well. Patch by Ville Skyttä <ville@office.popsystems.com>.
285
286
287
2882000-08-18 Gisle Aas <gisle@ActiveState.com>
289
290 Release 2.10
291
292 Digest::MD5 will now try to fallback to the pure perl
293 implementation of Digest::Perl::MD5 if bootstrap fails.
294
295 Added a bit internal paranoia about casting the IV
296 in the Digest::MD5 object to the MD5_CTX* pointer.
297
298
299
3001999-08-06 Gisle Aas <gisle@aas.no>
301
302 Release 2.09
303
304 Documentation update.
305
306
307
3081999-07-28 Gisle Aas <gisle@aas.no>
309
310 Release 2.08
311
312 The addfile() methods could trigger a core dump when passed
313 a filehandle that had failed to open.
314
315
316
3171999-04-26 Gisle Aas <gisle@aas.no>
318
319 Release 2.07
320
321 The Digest::SHA1 module failed on some 64-bit systems, because I
322 assumed there was a correspondence between the U32 size and
323 BYTEORDER. This version use 'unsigned long' as Uwe's original
324 SHA module did.
325
326 The module should now work better when liked statically with perl,
327 because we now use a safer module-loaded test in Digest.pm.
328
329 Assume we know the outcome of the alignment test on VMS. Patch by
330 Chuck Lane <lane@duphy4.physics.drexel.edu>
331
332
333
3341999-03-26 Gisle Aas <gisle@aas.no>
335
336 Release 2.06
337
338 Avoid LONG and BYTE types in SHA.xs as they was in conflict
339 with similar definitions in <winnt.h>.
340
341 Patch by Marko Asplund <aspa@hip.fi> to make the the alignment
342 test program link successfully with sfio-perl.
343
344 Fixed a typo in MD5.xs that might have affected 64-bit systems.
345 Spotted by Nick Ing-Simmons
346
347
348
3491999-03-15 Gisle Aas <gisle@aas.no>
350
351 Release 2.05
352
353 Included Digest::SHA1 based on Uwe Hollerbach's SHA module.
354
355
356
3571999-03-05 Gisle Aas <gisle@aas.no>
358
359 Release 2.04
360
361 Avoid the -o option when compiling alignment test program
362 for Win32 as suggested by Gurusamy Sarathy.
363
364 DEC Compiler bug workaround. Contributed by D Roland Walker
365 <walker@ncbi.nlm.nih.gov>
366
367 Having references to a local variable called "na" was not
368 very safe either. Some older versions of Perl can apparently
369 macroize this into something completely different.
370
371
372
3731999-02-27 Gisle Aas <gisle@aas.no>
374
375 Release 2.03
376
377 Patch from Christopher J. Madsen <chris_madsen@geocities.com> that
378 should help getting the u32align test program to compile with
379 Visual C++ 5 on Windows NT.
380
381 Got rid of references to PL_na.
382
383
384
3851999-01-31 Gisle Aas <gisle@aas.no>
386
387 Release 2.02
388
389 Added a hints file as workaround for an IRIX compiler bug.
390 Contributed by D Roland Walker <walker@ncbi.nlm.nih.gov>.
391
392 Note that the rfc2202 test can still fail on some DEC Alpha,
393 because of a compiler bug that affects the perl 'x' operator.
394 The Digest:: modules should work and be safe to install anyway.
395
396
397
3981998-12-18 Gisle Aas <aas@sn.no>
399
400 Release 2.01
401
402 Some casts and tweaks to make picky compilers more happy.
403
404
405
4061998-11-04 Gisle Aas <aas@sn.no>
407
408 Release 2.00.
409
410 Taken out Digest::SHA1 as this module will be provided from Uwe
411 Hollerbach later.
412
413 Some tweaks to MD2.xs and MD5.xs since "na" disappeared in
414 perl5.005_53
415
416
417
4181998-10-30 Gisle Aas <aas@sn.no>
419
420 Release 1.99_60
421
422 The 1.99_59 release introduced compilation problems for big-endian
423 systems with free U32 alignment. Bug reported, and fix suggested
424 by Paul J. Schinder <schinder@pobox.com>.
425
426
427
4281998-10-28 Gisle Aas <aas@sn.no>
429
430 Release 1.99_59
431
432 Makefile.PL will run a test program to find out if U32 values can
433 be aligned anywhere. This hopefully cures the core dumps reported
434 on Solaris and other big endian systems. Thanks to Graham Barr for
435 debugging this.
436
437
438
4391998-10-28 Gisle Aas <aas@sn.no>
440
441 Release 1.99_58
442
443 Should be very close to a 2.00 release now. Need some success
444 reports from people running on big-endian machines first I think.
445
446 Added a Digest::MD2 implementation.
447
448 Wrote Digest.pm documentation. This define the interface that all
449 Digest:: modules should provide.
450
451 Avoided some code duplication in MD5.xs
452
453 Fixed typo, that prevented Digest::SHA1::sha1_base64() from working.
454
455
456
4571998-10-27 Gisle Aas <aas@sn.no>
458
459 Release 1.99_57
460
461 Rewritten most of the MD5 C code to make it real fast (especially
462 on little-endian machines without alignment restrictions for U32).
463 Compared to MD5-1.7 we can process files 4 times as fast and we
464 digest small stuff in memory 7 times faster. I came to these
465 conclusions after these tests (gcc -O2, i586, Linux):
466
467 First tested calculation of the digest of a 31 MB file, using
468 perl -le 'print Digest::MD5->new->addfile(*STDIN)->hexdigest'
469 and similar stuff:
470
471 MD5-1.7: 21.06s
472 Digest::MD5-1.99_57: 5.23s
473 md5sum (GNU textutils): 4.90s
474
475 As you can see, we do nearly as good as the md5sum program. I
476 think the reason we don't beat md5sum is that perl always insist on
477 loading extra modules like Config.pm, Carp.pm, strict.pm, vars.pm,
478 AutoLoader.pm and DynaLoader.pm. When I simply wrapped the MD5.xs
479 hasher code in a C program I managed to process the file in 4.68s.
480
481 Then we calculated the digest of the same 6 byte sting, 20000
482 times:
483
484 MD5-1.7: 11.81s
485 Digest::MD5-1.99_57: 1.68s
486
487 Digest::MD5 benefit from making this into a plain procedure call
488 instead of a static method call.
489
490
491 Other changes in this release are:
492
493 Documentation update
494
495 Internal MD5.xs cleanup.
496
497 $md5->digest will automatically reset now.
498
499 Digest::HMAC methods add() and addfile() did not return the
8be5f608 500 correct object.
3357b1b1 501
502 Added Digest.pm loading module. I am not sure this is a good idea.
503
504 Added Digest::SHA1 and Digest::HMAC_SHA1 module. The Digest::SHA1
505 module is just a wrapper around SHA.pm. I hope to get the author
506 of SHA.pm to move his module to the Digest:: category.
507
508
509
5101998-10-25 Gisle Aas <aas@sn.no>
511
512 Release 1.99_56
513
514 Fix memcpy_byteswap() function in MD5.xs. Must be careful with
515 htovl() as it might evaluate its arguments more than once.
516
517
518
5191998-10-25 Gisle Aas <aas@sn.no>
520
521 Release 1.99_55
522
523 Grahams HMAC_MD5.pm splitted into two modules. Digest::HMAC and
524 Digest::HMAC_MD5. Also provide functional interface. Documentation
525 is still lacking.
526
527 Included RFC 2202 based test for HMAC-MD5.
528
529
530
5311998-10-24 Gisle Aas <aas@sn.no>
532
533 Release 1.99_54
534
535 Included HMAC_MD5.pm, contributed by Graham Barr <gbarr@ti.com>.
536
537 I have a hard time to make up my mind :-) md5_bin() renamed back
538 to md5(). Functions are not exported by default any more.
539
540 Try to Encode/Decode with memcpy_byteswap for 32-bit big-endian
541 machines.
542
543
544
5451998-10-23 Gisle Aas <aas@sn.no>
546
547 Release 1.99_53
548
549 Renamed core module as Digest::MD5. Leave a MD5.pm stub for
550 legacy code.
551
552 The md5() function renamed as md5_bin().
553
554 The constructor, Digest::MD5->new, no longer takes any extra
555 arguments.
556
557 Added some new tests.
558
559 Updated the documentation.
560
561 $md5->b64digest implemented with same base64 encoder as md5_base64.
562
563
564
5651998-10-23 Gisle Aas <aas@sn.no>
566
567 Release 1.99_52
568
569 Patch from Graham Barr which make it work for big-endian machines
570 again.
571
572
573
5741998-10-22 Gisle Aas <aas@sn.no>
575
576 Release 1.99_51
577
578 The MD5 class is now subclassable.
579
580 The add() and addfile() methods now return $self.
581
582 The reset() method is just an alias for new().
583
584 The constructor (MD5->new) now takes optional arguments which are
585 automatically added. It means that we can now write:
586
587 MD5->new($data)->hexdigest;
588
589 New $md5->b64digest method.
590
591 New functions that are exported on request: md5, md5_hex, md5_base64
592
593 Included RFC 1321
594
595 Barely started to update the documentation.
596
597
598
5991998-10-22 Gisle Aas <aas@sn.no>
600
601 Release 1.99_50
602
603 Much better performance (more than twice as fast now). Mostly
604 because we use Copy/Zero instead of the original MD5_memcpy and
605 MD5_memset functions.
606
607 The addfile() and hexdigest() methods are now XS implemented.
608
609 All RSA functions now included in MD5.xs and made static.
610
611 Use perl's Copy/Zero.
612
613 Random cleanup, simplifications and reformatting.
614 Merged things better with the perl configuration.
615
616
617
618Neil Winton's versions below:
619
620
621*** 96/06/20 Version 1.7
622
623MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
62432-bit quantities and requires a typedef UINT4 to be defined in
625global.h. Perl configuration data (the value of BYTEORDER) is used to
626determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
627DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
628If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
629Makefile.PL will override this.
630
631On some machines (at least Cray that I know of) there is no 32-bit
632integer type. In this case defining TRUNCATE_UINT4 (which is done
633automatically for a Cray) will ensure that 64-bit values are masked
634down to 32 bits. I have done my best to test this but without easy
635access to a true 64-bit machine I can not totally guarantee it (unless
636anyone wants to lend me a spare Cray :-)
637
638There is one remaining limitation for 64-bit enabled processors. The
639amount of data passed to any single call to the underlying MD5
640routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
641sorry if that's a real problem for you ...
642
8be5f608 643And finally, a minor compilation warning (unsigned char * used with
3357b1b1 644function having char * prototype) has also been eliminated.
645
646*** 96/04/09 Version 1.6
647
648Re-generated module framework using h2xs to pick up the latest module
649conventions for versions etc. You can now say "use MD5 1.6;" and things
650should work correctly. MD5.pod has been integrated into MD5.pm and
651CHANGES renamed to Changes. There is a fairly comprehensive test.pl
652which can be invoked via "make test". There are no functional changes
653to the MD5 routines themselves.
654
655*** 96/03/14 Version 1.5.3
656
657Fixed addfile method to accept type-glob references for the file-handle
658(eg \*STDOUT). This is more consistent with other routines and is now the
659recommended way of passing file-handles. The documentation now gives more
660examples as to how the routines might be used.
661
662*** 96/03/12 Version 1.5.2
663
664Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
8be5f608 665support for building on OS/2 (and to work around a perl -w bug).
3357b1b1 666
667Remove warning about possible difference between add('foo', 'bar') and
668add('foobar'). This is not true (it may have been true in the earliest
669version of the module but is no longer the case).
670
671*** 96/03/08 Version 1.5.1
672
673Add CHANGES file to make it easier for people to figure out what has
674been going on. (Meant to do this as part of 1.5)
675
676*** 96/03/05 Version 1.5
677
678Add hash() and hexhash() methods at the suggestion/request of Gary
679Howland <gary@kampai.euronet.nl> before inclusion in a wider library
680of cryptography modules.
681
682*** 96/02/27 Version 1.4
683
684Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
685Pizzini <kenp@spry.com>!
686
687*** 95/11/29 Version 1.3.1
688
689Add explanations of current known problems.
690
691*** 95/06/02 Version 1.3
692
693Fix problems with scope resolution in addfile() reported by
694Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
695always implicitly in package main while other filehandles aren't.
696
697*** 95/05/23 Version 1.2.1
698
699[Changes pre 1.2.1 not recorded]