1 2010-09-30 Gisle Aas <gisle@ActiveState.com>
6 Fix compilation with c++ compilers
9 Fix repository specification in META.yml
13 2010-09-25 Gisle Aas <gisle@ActiveState.com>
17 Chris 'BinGOs' Williams (1):
18 Amended tests to work with perl core.
21 Attach context pointers using sv magic
22 Add failing test for thread cloning
23 Clone MD5 contexts on thread cloning
24 get_md5_ctx should never return anything but a valid pointer
27 perl-5.6 no longer supported
30 Preserve utf8ness of argument [RT#44927]
34 2010-07-03 Gisle Aas <gisle@ActiveState.com>
39 Safer alignment test [RT#35823]
45 Remove the MacOS branch of this test
49 2009-06-09 Gisle Aas <gisle@ActiveState.com>
54 Get rid of the PERL_CORE hacks
55 Sync core: Rename ext/Digest/MD5 to ext/Digest-MD5
58 Handle non-numeric version numbers in ext/Digest/MD5/Makefile.PL
62 2008-11-14 Gisle Aas <gisle@ActiveState.com>
66 The 2.37 tarball was infected by various '._*' files.
69 Applied warning fix from Geoff Richards [RT#19643]
71 Applied compatiblity fix from Alexandr Ciornii [RT#30348]
75 2008-11-12 Gisle Aas <gisle@ActiveState.com>
79 Sync up with consting changes from the perl core.
83 2005-11-30 Gisle Aas <gisle@ActiveState.com>
87 Fix documentation typo.
91 2005-11-26 Gisle Aas <gisle@ActiveState.com>
95 Forgot to incorporate fixes already applied to bleadperl :-(
99 - USE_HEAP_INSTEAD_OF_STACK for Symbian
103 2005-11-26 Gisle Aas <gisle@ActiveState.com>
107 Document that it is now easy to generate different messages that produce the
110 Use XSLoader; perl-5.6 is now required.
112 Tweaks to the processing of $? after running the test program.
116 2003-12-07 Gisle Aas <gisle@ActiveState.com>
120 Enable explicit context passing for slight performance
121 improvement in threaded perls.
123 Tweaks to the Makefile.PL so that it is suitable both for
128 2003-12-05 Gisle Aas <gisle@ActiveState.com>
132 Don't run u32align test program on HP-UX 10.20 as it
133 will hang. Patch by H.Merijn Brand <h.m.brand@hccnet.nl>.
135 Fixed documentation typo.
139 2003-11-28 Gisle Aas <gisle@ActiveState.com>
143 Inherit add_bits() from Digest::base if available.
147 2003-10-09 Gisle Aas <gisle@ActiveState.com>
151 Some tweaks to make the module build on perl-5.004 and
156 2003-10-06 Gisle Aas <gisle@ActiveState.com>
160 Another try. Forgot to update the test checksums.
164 2003-10-06 Gisle Aas <gisle@ActiveState.com>
168 Fix minor documentation typo.
172 2003-08-04 Gisle Aas <gisle@ActiveState.com>
176 Avoid having to figure how to compile alignment test program
177 on MS-Windows by just assume free alignment as for i386. Source
178 builds on Windows was apparently broken.
182 2003-07-21 Gisle Aas <gisle@ActiveState.com>
186 Don't assume PerlIO_read() works like fread() even though
187 it was documented like that for perl 5.6. It returns negative
190 Kill test #3 in t/badfile.t. I don't know a reliable way
191 to test read failures on a file handle. Seems better not to
192 test than to make many worry.
196 2003-07-04 Gisle Aas <gisle@ActiveState.com>
200 The $md5->addfile method now croaks if it discovers
201 errors on the handle after reading from it. This should
202 make it more difficult to end up with the wrong digest
203 just because you are to lazy to check the error status
204 on your file handles after reading from them.
206 Improved documentation.
208 Sync up with bleadperl; even safer patchlevel include.
212 2003-03-09 Gisle Aas <gisle@ActiveState.com>
216 Don't let the $^W test get confused by lexical warnings.
218 Sync up with bleadperl; safer patchlevel include.
222 2003-01-18 Gisle Aas <gisle@ActiveState.com>
226 Override INSTALLDIRS for 5.8 as suggested by
227 Guido Ostkamp <Guido.Ostkamp@t-online.de>.
231 2003-01-04 Gisle Aas <gisle@ActiveState.com>
236 Contributed by Holger Smolinski <holger@kunterbunt.bb.bawue.de>
240 2002-12-27 Gisle Aas <gisle@ActiveState.com>
244 Minor tweaks sync up with bleadperl:
245 - VMS optimizer tweaks to the Makefile.PL
247 - Added alignment test
249 Added example to the MD5 POD that shows how to calculate the
250 digest of Unicode strings.
254 2002-05-05 Gisle Aas <gisle@ActiveState.com>
258 More synchronization with tweaks Jarkko have done to the
259 bleadperl test suite. This time various EBCDIC hacks.
261 Outside PERL_CORE the md5-aaa.t test loaded the wrong version of
262 the module (and would fail if no previous Digest::MD5 was installed).
263 Patch by Mike Stok <mike@stok.co.uk>
267 2002-05-01 Gisle Aas <gisle@ActiveState.com>
271 One more test suite update from Jarkko to sync it
272 even better with bleadperl.
276 2002-05-01 Gisle Aas <gisle@ActiveState.com>
280 Changes #12954 and #16173 from bleadperl. Documentation typo fix
281 and some signed/unsigned mismatches that Microsoft's C compiler
284 The EBCDIC-aware md5-aaa.t from bleadperl.
288 2002-04-25 Gisle Aas <gisle@ActiveState.com>
292 The SvPVbyte in perl-5.6.1 is buggy. Use the one from 5.7.3
295 Give warning if the function interface is used as instance
296 methods: $md5->md5_hex().
300 2001-09-07 Gisle Aas <gisle@ActiveState.com>
304 Sync up with the bleadperl version:
305 - use SvPVbyte() if available
306 - fixes to make the code 'gcc -Wall'-clean
310 2001-08-27 Gisle Aas <gisle@ActiveState.com>
314 Avoid exit() in Makefile.PL and bleadperl redefinition of printf
315 in the alignment test program.
316 Patch by Doug MacEachern <dougm@covalent.net>.
320 2001-07-18 Gisle Aas <gisle@ActiveState.com>
324 Try to warn if the functional interface is used as methods,
325 i.e. Digest::MD5->md5_hex("foo") will make noise if -w is
328 Document the missing padding for the base64 digests.
330 If both XS bootstrap and locating Digest::Perl::MD5 fails
331 re-raise the original XS bootstrap exception.
335 2001-03-13 Gisle Aas <gisle@ActiveState.com>
339 Moved all other Digest:: modules out of the Digest-MD5 dist.
343 2000-09-18 Gisle Aas <gisle@ActiveState.com>
347 Avoid pointer cast warning for machines with bigger ints
348 than pointers. Patch by Robin Barker <rmb1@cise.npl.co.uk>.
352 2000-08-19 Gisle Aas <gisle@ActiveState.com>
356 The fallback code introduced in 2.10 did only work for
357 perl-5.6.0. It should now for for perl5.004 and 5.005
358 as well. Patch by Ville Skyttä <ville@office.popsystems.com>.
362 2000-08-18 Gisle Aas <gisle@ActiveState.com>
366 Digest::MD5 will now try to fallback to the pure perl
367 implementation of Digest::Perl::MD5 if bootstrap fails.
369 Added a bit internal paranoia about casting the IV
370 in the Digest::MD5 object to the MD5_CTX* pointer.
374 1999-08-06 Gisle Aas <gisle@aas.no>
378 Documentation update.
382 1999-07-28 Gisle Aas <gisle@aas.no>
386 The addfile() methods could trigger a core dump when passed
387 a filehandle that had failed to open.
391 1999-04-26 Gisle Aas <gisle@aas.no>
395 The Digest::SHA1 module failed on some 64-bit systems, because I
396 assumed there was a correspondence between the U32 size and
397 BYTEORDER. This version use 'unsigned long' as Uwe's original
400 The module should now work better when liked statically with perl,
401 because we now use a safer module-loaded test in Digest.pm.
403 Assume we know the outcome of the alignment test on VMS. Patch by
404 Chuck Lane <lane@duphy4.physics.drexel.edu>
408 1999-03-26 Gisle Aas <gisle@aas.no>
412 Avoid LONG and BYTE types in SHA.xs as they was in conflict
413 with similar definitions in <winnt.h>.
415 Patch by Marko Asplund <aspa@hip.fi> to make the the alignment
416 test program link successfully with sfio-perl.
418 Fixed a typo in MD5.xs that might have affected 64-bit systems.
419 Spotted by Nick Ing-Simmons
423 1999-03-15 Gisle Aas <gisle@aas.no>
427 Included Digest::SHA1 based on Uwe Hollerbach's SHA module.
431 1999-03-05 Gisle Aas <gisle@aas.no>
435 Avoid the -o option when compiling alignment test program
436 for Win32 as suggested by Gurusamy Sarathy.
438 DEC Compiler bug workaround. Contributed by D Roland Walker
439 <walker@ncbi.nlm.nih.gov>
441 Having references to a local variable called "na" was not
442 very safe either. Some older versions of Perl can apparently
443 macroize this into something completely different.
447 1999-02-27 Gisle Aas <gisle@aas.no>
451 Patch from Christopher J. Madsen <chris_madsen@geocities.com> that
452 should help getting the u32align test program to compile with
453 Visual C++ 5 on Windows NT.
455 Got rid of references to PL_na.
459 1999-01-31 Gisle Aas <gisle@aas.no>
463 Added a hints file as workaround for an IRIX compiler bug.
464 Contributed by D Roland Walker <walker@ncbi.nlm.nih.gov>.
466 Note that the rfc2202 test can still fail on some DEC Alpha,
467 because of a compiler bug that affects the perl 'x' operator.
468 The Digest:: modules should work and be safe to install anyway.
472 1998-12-18 Gisle Aas <aas@sn.no>
476 Some casts and tweaks to make picky compilers more happy.
480 1998-11-04 Gisle Aas <aas@sn.no>
484 Taken out Digest::SHA1 as this module will be provided from Uwe
487 Some tweaks to MD2.xs and MD5.xs since "na" disappeared in
492 1998-10-30 Gisle Aas <aas@sn.no>
496 The 1.99_59 release introduced compilation problems for big-endian
497 systems with free U32 alignment. Bug reported, and fix suggested
498 by Paul J. Schinder <schinder@pobox.com>.
502 1998-10-28 Gisle Aas <aas@sn.no>
506 Makefile.PL will run a test program to find out if U32 values can
507 be aligned anywhere. This hopefully cures the core dumps reported
508 on Solaris and other big endian systems. Thanks to Graham Barr for
513 1998-10-28 Gisle Aas <aas@sn.no>
517 Should be very close to a 2.00 release now. Need some success
518 reports from people running on big-endian machines first I think.
520 Added a Digest::MD2 implementation.
522 Wrote Digest.pm documentation. This define the interface that all
523 Digest:: modules should provide.
525 Avoided some code duplication in MD5.xs
527 Fixed typo, that prevented Digest::SHA1::sha1_base64() from working.
531 1998-10-27 Gisle Aas <aas@sn.no>
535 Rewritten most of the MD5 C code to make it real fast (especially
536 on little-endian machines without alignment restrictions for U32).
537 Compared to MD5-1.7 we can process files 4 times as fast and we
538 digest small stuff in memory 7 times faster. I came to these
539 conclusions after these tests (gcc -O2, i586, Linux):
541 First tested calculation of the digest of a 31 MB file, using
542 perl -le 'print Digest::MD5->new->addfile(*STDIN)->hexdigest'
546 Digest::MD5-1.99_57: 5.23s
547 md5sum (GNU textutils): 4.90s
549 As you can see, we do nearly as good as the md5sum program. I
550 think the reason we don't beat md5sum is that perl always insist on
551 loading extra modules like Config.pm, Carp.pm, strict.pm, vars.pm,
552 AutoLoader.pm and DynaLoader.pm. When I simply wrapped the MD5.xs
553 hasher code in a C program I managed to process the file in 4.68s.
555 Then we calculated the digest of the same 6 byte sting, 20000
559 Digest::MD5-1.99_57: 1.68s
561 Digest::MD5 benefit from making this into a plain procedure call
562 instead of a static method call.
565 Other changes in this release are:
569 Internal MD5.xs cleanup.
571 $md5->digest will automatically reset now.
573 Digest::HMAC methods add() and addfile() did not return the
576 Added Digest.pm loading module. I am not sure this is a good idea.
578 Added Digest::SHA1 and Digest::HMAC_SHA1 module. The Digest::SHA1
579 module is just a wrapper around SHA.pm. I hope to get the author
580 of SHA.pm to move his module to the Digest:: category.
584 1998-10-25 Gisle Aas <aas@sn.no>
588 Fix memcpy_byteswap() function in MD5.xs. Must be careful with
589 htovl() as it might evaluate its arguments more than once.
593 1998-10-25 Gisle Aas <aas@sn.no>
597 Grahams HMAC_MD5.pm splitted into two modules. Digest::HMAC and
598 Digest::HMAC_MD5. Also provide functional interface. Documentation
601 Included RFC 2202 based test for HMAC-MD5.
605 1998-10-24 Gisle Aas <aas@sn.no>
609 Included HMAC_MD5.pm, contributed by Graham Barr <gbarr@ti.com>.
611 I have a hard time to make up my mind :-) md5_bin() renamed back
612 to md5(). Functions are not exported by default any more.
614 Try to Encode/Decode with memcpy_byteswap for 32-bit big-endian
619 1998-10-23 Gisle Aas <aas@sn.no>
623 Renamed core module as Digest::MD5. Leave a MD5.pm stub for
626 The md5() function renamed as md5_bin().
628 The constructor, Digest::MD5->new, no longer takes any extra
631 Added some new tests.
633 Updated the documentation.
635 $md5->b64digest implemented with same base64 encoder as md5_base64.
639 1998-10-23 Gisle Aas <aas@sn.no>
643 Patch from Graham Barr which make it work for big-endian machines
648 1998-10-22 Gisle Aas <aas@sn.no>
652 The MD5 class is now subclassable.
654 The add() and addfile() methods now return $self.
656 The reset() method is just an alias for new().
658 The constructor (MD5->new) now takes optional arguments which are
659 automatically added. It means that we can now write:
661 MD5->new($data)->hexdigest;
663 New $md5->b64digest method.
665 New functions that are exported on request: md5, md5_hex, md5_base64
669 Barely started to update the documentation.
673 1998-10-22 Gisle Aas <aas@sn.no>
677 Much better performance (more than twice as fast now). Mostly
678 because we use Copy/Zero instead of the original MD5_memcpy and
679 MD5_memset functions.
681 The addfile() and hexdigest() methods are now XS implemented.
683 All RSA functions now included in MD5.xs and made static.
685 Use perl's Copy/Zero.
687 Random cleanup, simplifications and reformatting.
688 Merged things better with the perl configuration.
692 Neil Winton's versions below:
695 *** 96/06/20 Version 1.7
697 MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
698 32-bit quantities and requires a typedef UINT4 to be defined in
699 global.h. Perl configuration data (the value of BYTEORDER) is used to
700 determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
701 DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
702 If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
703 Makefile.PL will override this.
705 On some machines (at least Cray that I know of) there is no 32-bit
706 integer type. In this case defining TRUNCATE_UINT4 (which is done
707 automatically for a Cray) will ensure that 64-bit values are masked
708 down to 32 bits. I have done my best to test this but without easy
709 access to a true 64-bit machine I can not totally guarantee it (unless
710 anyone wants to lend me a spare Cray :-)
712 There is one remaining limitation for 64-bit enabled processors. The
713 amount of data passed to any single call to the underlying MD5
714 routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
715 sorry if that's a real problem for you ...
717 And finally, a minor compilation warning (unsigned char * used with
718 function having char * prototype) has also been eliminated.
720 *** 96/04/09 Version 1.6
722 Re-generated module framework using h2xs to pick up the latest module
723 conventions for versions etc. You can now say "use MD5 1.6;" and things
724 should work correctly. MD5.pod has been integrated into MD5.pm and
725 CHANGES renamed to Changes. There is a fairly comprehensive test.pl
726 which can be invoked via "make test". There are no functional changes
727 to the MD5 routines themselves.
729 *** 96/03/14 Version 1.5.3
731 Fixed addfile method to accept type-glob references for the file-handle
732 (eg \*STDOUT). This is more consistent with other routines and is now the
733 recommended way of passing file-handles. The documentation now gives more
734 examples as to how the routines might be used.
736 *** 96/03/12 Version 1.5.2
738 Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
739 support for building on OS/2 (and to work around a perl -w bug).
741 Remove warning about possible difference between add('foo', 'bar') and
742 add('foobar'). This is not true (it may have been true in the earliest
743 version of the module but is no longer the case).
745 *** 96/03/08 Version 1.5.1
747 Add CHANGES file to make it easier for people to figure out what has
748 been going on. (Meant to do this as part of 1.5)
750 *** 96/03/05 Version 1.5
752 Add hash() and hexhash() methods at the suggestion/request of Gary
753 Howland <gary@kampai.euronet.nl> before inclusion in a wider library
754 of cryptography modules.
756 *** 96/02/27 Version 1.4
758 Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
759 Pizzini <kenp@spry.com>!
761 *** 95/11/29 Version 1.3.1
763 Add explanations of current known problems.
765 *** 95/06/02 Version 1.3
767 Fix problems with scope resolution in addfile() reported by
768 Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
769 always implicitly in package main while other filehandles aren't.
771 *** 95/05/23 Version 1.2.1
773 [Changes pre 1.2.1 not recorded]