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