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