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