588 lines
15 KiB
Plaintext
588 lines
15 KiB
Plaintext
|
2010-07-03 Release 2.13
|
||
|
|
||
|
Mike McCauley (1):
|
||
|
Fix memory leak in sha1_transform
|
||
|
|
||
|
|
||
|
|
||
|
2009-05-23 Release 2.12
|
||
|
|
||
|
Gisle Aas (6):
|
||
|
Get rid of the old CVS ids
|
||
|
Avoid "redefined" error for ULONG on Win64
|
||
|
Less optimizations on IRIX [RT#8999]
|
||
|
Clean up the 'git status' output
|
||
|
Mention that SHA-1 might be weak [RT#11880]
|
||
|
Ensure more stuff in the META.yml file [RT#40757]
|
||
|
|
||
|
Steve Peters (1):
|
||
|
Quiet warnings when compiled with -Wwrite-strings [RT#31915]
|
||
|
|
||
|
|
||
|
|
||
|
2006-01-18 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.11
|
||
|
|
||
|
Internal cleanup to avoid some compiler warnings.
|
||
|
|
||
|
|
||
|
|
||
|
2004-04-05 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.10
|
||
|
|
||
|
Restore compatibility with perl-5.004 and perl-5.005.
|
||
|
|
||
|
|
||
|
|
||
|
2004-04-01 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.09
|
||
|
|
||
|
The 2.08 release did not compile with a threaded debugging
|
||
|
perl, because assert() then needs my_perl. Fixed by commenting
|
||
|
out the asserts.
|
||
|
|
||
|
|
||
|
|
||
|
2004-04-01 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.08
|
||
|
|
||
|
Enable PERL_NO_GET_CONTEXT for more more efficient execution
|
||
|
on a threaded perl.
|
||
|
|
||
|
Fix up md5 references. Patch by Ville Skyttä <ville.skytta@iki.fi>.
|
||
|
|
||
|
|
||
|
|
||
|
2003-12-05 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.07
|
||
|
|
||
|
Inherit add_bits() from Digest::base if available.
|
||
|
|
||
|
|
||
|
|
||
|
2003-10-13 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.06
|
||
|
|
||
|
The sha1_transform() function did not check that it was actually
|
||
|
passed any arguments.
|
||
|
|
||
|
Complete self-contained documentation included (copied from
|
||
|
Digest::MD5), since the Digest.pm manpage is not always available.
|
||
|
|
||
|
|
||
|
|
||
|
2003-10-06 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.05
|
||
|
|
||
|
Added missing cast to support C++ compilation. Patch by Jan Dubois.
|
||
|
|
||
|
Document that the sha1_base64 function and the b64digest method
|
||
|
does not pad their result.
|
||
|
|
||
|
|
||
|
|
||
|
2003-07-22 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.04
|
||
|
|
||
|
Don't assume PerlIO_read() works like fread() even though
|
||
|
it was documented like that for perl 5.6. It returns negative
|
||
|
on read failure.
|
||
|
|
||
|
Kill test #3 in t/badfile.t. I don't know a reliable way
|
||
|
to test read failures on a file handle. Seems better not to
|
||
|
test than to make many worry.
|
||
|
|
||
|
|
||
|
|
||
|
2003-07-05 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.03
|
||
|
|
||
|
Implemented sha1_transform, required to implement NIST FIPS 186-2.
|
||
|
Contributed by Mike McCauley <mikem@open.com.au>.
|
||
|
|
||
|
Make it build on 64-bit platforms with 32-bit longs. At least
|
||
|
I hope it will.
|
||
|
|
||
|
Sync up with the Digest::MD5 implementation:
|
||
|
- added clone method
|
||
|
- addfile croaks if it can't read
|
||
|
- the sha1*() functions warn if called as method
|
||
|
or with reference arguments.
|
||
|
|
||
|
|
||
|
|
||
|
2002-12-27 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.02
|
||
|
|
||
|
Make it work when there is a mismatch between the
|
||
|
sizeof(BYTEORDER) and sizeof(long). Based on patch
|
||
|
by Allen Smith <easmith@beatrice.rutgers.edu>.
|
||
|
|
||
|
Support UTF8 strings in newer versions of Perl.
|
||
|
|
||
|
|
||
|
|
||
|
2001-12-30 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.01
|
||
|
|
||
|
Applied trivial win32 fix from Gurusamy Sarathy that
|
||
|
avoids stray temp files left after 'make test'.
|
||
|
|
||
|
|
||
|
|
||
|
2001-03-13 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.00
|
||
|
|
||
|
Broken out of the Digest-MD5-2.12 distribution and made into
|
||
|
a separate dist.
|
||
|
|
||
|
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Changes below from the Digest-MD5 dist.
|
||
|
|
||
|
|
||
|
2000-09-18 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.12
|
||
|
|
||
|
Avoid pointer cast warning for machines with bigger ints
|
||
|
than pointers. Patch by Robin Barker <rmb1@cise.npl.co.uk>.
|
||
|
|
||
|
|
||
|
|
||
|
2000-08-19 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.11
|
||
|
|
||
|
The fallback code introduced in 2.10 did only work for
|
||
|
perl-5.6.0. It should now for for perl5.004 and 5.005
|
||
|
as well. Patch by Ville Skyttä <ville@office.popsystems.com>.
|
||
|
|
||
|
|
||
|
|
||
|
2000-08-18 Gisle Aas <gisle@ActiveState.com>
|
||
|
|
||
|
Release 2.10
|
||
|
|
||
|
Digest::MD5 will now try to fallback to the pure perl
|
||
|
implementation of Digest::Perl::MD5 if bootstrap fails.
|
||
|
|
||
|
Added a bit internal paranoia about casting the IV
|
||
|
in the Digest::MD5 object to the MD5_CTX* pointer.
|
||
|
|
||
|
|
||
|
|
||
|
1999-08-06 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.09
|
||
|
|
||
|
Documentation update.
|
||
|
|
||
|
|
||
|
|
||
|
1999-07-28 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.08
|
||
|
|
||
|
The addfile() methods could trigger a core dump when passed
|
||
|
a filehandle that had failed to open.
|
||
|
|
||
|
|
||
|
|
||
|
1999-04-26 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.07
|
||
|
|
||
|
The Digest::SHA1 module failed on some 64-bit systems, because I
|
||
|
assumed there was a correspondence between the U32 size and
|
||
|
BYTEORDER. This version use 'unsigned long' as Uwe's original
|
||
|
SHA module did.
|
||
|
|
||
|
The module should now work better when liked statically with perl,
|
||
|
because we now use a safer module-loaded test in Digest.pm.
|
||
|
|
||
|
Assume we know the outcome of the alignment test on VMS. Patch by
|
||
|
Chuck Lane <lane@duphy4.physics.drexel.edu>
|
||
|
|
||
|
|
||
|
|
||
|
1999-03-26 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.06
|
||
|
|
||
|
Avoid LONG and BYTE types in SHA.xs as they was in conflict
|
||
|
with similar definitions in <winnt.h>.
|
||
|
|
||
|
Patch by Marko Asplund <aspa@hip.fi> to make the the alignment
|
||
|
test program link successfully with sfio-perl.
|
||
|
|
||
|
Fixed a typo in MD5.xs that might have affected 64-bit systems.
|
||
|
Spotted by Nick Ing-Simmons
|
||
|
|
||
|
|
||
|
|
||
|
1999-03-15 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.05
|
||
|
|
||
|
Included Digest::SHA1 based on Uwe Hollerbach's SHA module.
|
||
|
|
||
|
|
||
|
|
||
|
1999-03-05 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.04
|
||
|
|
||
|
Avoid the -o option when compiling alignment test program
|
||
|
for Win32 as suggested by Gurusamy Sarathy.
|
||
|
|
||
|
DEC Compiler bug workaround. Contributed by D Roland Walker
|
||
|
<walker@ncbi.nlm.nih.gov>
|
||
|
|
||
|
Having references to a local variable called "na" was not
|
||
|
very safe either. Some older versions of Perl can apparently
|
||
|
macroize this into something completely different.
|
||
|
|
||
|
|
||
|
|
||
|
1999-02-27 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.03
|
||
|
|
||
|
Patch from Christopher J. Madsen <chris_madsen@geocities.com> that
|
||
|
should help getting the u32align test program to compile with
|
||
|
Visual C++ 5 on Windows NT.
|
||
|
|
||
|
Got rid of references to PL_na.
|
||
|
|
||
|
|
||
|
|
||
|
1999-01-31 Gisle Aas <gisle@aas.no>
|
||
|
|
||
|
Release 2.02
|
||
|
|
||
|
Added a hints file as workaround for an IRIX compiler bug.
|
||
|
Contributed by D Roland Walker <walker@ncbi.nlm.nih.gov>.
|
||
|
|
||
|
Note that the rfc2202 test can still fail on some DEC Alpha,
|
||
|
because of a compiler bug that affects the perl 'x' operator.
|
||
|
The Digest:: modules should work and be safe to install anyway.
|
||
|
|
||
|
|
||
|
|
||
|
1998-12-18 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 2.01
|
||
|
|
||
|
Some casts and tweaks to make picky compilers more happy.
|
||
|
|
||
|
|
||
|
|
||
|
1998-11-04 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 2.00.
|
||
|
|
||
|
Taken out Digest::SHA1 as this module will be provided from Uwe
|
||
|
Hollerbach later.
|
||
|
|
||
|
Some tweaks to MD2.xs and MD5.xs since "na" disappeared in
|
||
|
perl5.005_53
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-30 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_60
|
||
|
|
||
|
The 1.99_59 release introduced compilation problems for big-endian
|
||
|
systems with free U32 alignment. Bug reported, and fix suggested
|
||
|
by Paul J. Schinder <schinder@pobox.com>.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-28 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_59
|
||
|
|
||
|
Makefile.PL will run a test program to find out if U32 values can
|
||
|
be aligned anywhere. This hopefully cures the core dumps reported
|
||
|
on Solaris and other big endian systems. Thanks to Graham Barr for
|
||
|
debugging this.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-28 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_58
|
||
|
|
||
|
Should be very close to a 2.00 release now. Need some success
|
||
|
reports from people running on big-endian machines first I think.
|
||
|
|
||
|
Added a Digest::MD2 implementation.
|
||
|
|
||
|
Wrote Digest.pm documentation. This define the interface that all
|
||
|
Digest:: modules should provide.
|
||
|
|
||
|
Avoided some code duplication in MD5.xs
|
||
|
|
||
|
Fixed typo, that prevented Digest::SHA1::sha1_base64() from working.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-27 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_57
|
||
|
|
||
|
Rewritten most of the MD5 C code to make it real fast (especially
|
||
|
on little-endian machines without alignment restrictions for U32).
|
||
|
Compared to MD5-1.7 we can process files 4 times as fast and we
|
||
|
digest small stuff in memory 7 times faster. I came to these
|
||
|
conclusions after these tests (gcc -O2, i586, Linux):
|
||
|
|
||
|
First tested calculation of the digest of a 31 MB file, using
|
||
|
perl -le 'print Digest::MD5->new->addfile(*STDIN)->hexdigest'
|
||
|
and similar stuff:
|
||
|
|
||
|
MD5-1.7: 21.06s
|
||
|
Digest::MD5-1.99_57: 5.23s
|
||
|
md5sum (GNU textutils): 4.90s
|
||
|
|
||
|
As you can see, we do nearly as good as the md5sum program. I
|
||
|
think the reason we don't beat md5sum is that perl always insist on
|
||
|
loading extra modules like Config.pm, Carp.pm, strict.pm, vars.pm,
|
||
|
AutoLoader.pm and DynaLoader.pm. When I simply wrapped the MD5.xs
|
||
|
hasher code in a C program I managed to process the file in 4.68s.
|
||
|
|
||
|
Then we calculated the digest of the same 6 byte sting, 20000
|
||
|
times:
|
||
|
|
||
|
MD5-1.7: 11.81s
|
||
|
Digest::MD5-1.99_57: 1.68s
|
||
|
|
||
|
Digest::MD5 benefit from making this into a plain procedure call
|
||
|
instead of a static method call.
|
||
|
|
||
|
|
||
|
Other changes in this release are:
|
||
|
|
||
|
Documentation update
|
||
|
|
||
|
Internal MD5.xs cleanup.
|
||
|
|
||
|
$md5->digest will automatically reset now.
|
||
|
|
||
|
Digest::HMAC methods add() and addfile() did not return the
|
||
|
correct object.
|
||
|
|
||
|
Added Digest.pm loading module. I am not sure this is a good idea.
|
||
|
|
||
|
Added Digest::SHA1 and Digest::HMAC_SHA1 module. The Digest::SHA1
|
||
|
module is just a wrapper around SHA.pm. I hope to get the author
|
||
|
of SHA.pm to move his module to the Digest:: category.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-25 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_56
|
||
|
|
||
|
Fix memcpy_byteswap() function in MD5.xs. Must be careful with
|
||
|
htovl() as it might evaluate its arguments more than once.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-25 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_55
|
||
|
|
||
|
Grahams HMAC_MD5.pm splitted into two modules. Digest::HMAC and
|
||
|
Digest::HMAC_MD5. Also provide functional interface. Documentation
|
||
|
is still lacking.
|
||
|
|
||
|
Included RFC 2202 based test for HMAC-MD5.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-24 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_54
|
||
|
|
||
|
Included HMAC_MD5.pm, contributed by Graham Barr <gbarr@ti.com>.
|
||
|
|
||
|
I have a hard time to make up my mind :-) md5_bin() renamed back
|
||
|
to md5(). Functions are not exported by default any more.
|
||
|
|
||
|
Try to Encode/Decode with memcpy_byteswap for 32-bit big-endian
|
||
|
machines.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-23 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_53
|
||
|
|
||
|
Renamed core module as Digest::MD5. Leave a MD5.pm stub for
|
||
|
legacy code.
|
||
|
|
||
|
The md5() function renamed as md5_bin().
|
||
|
|
||
|
The constructor, Digest::MD5->new, no longer takes any extra
|
||
|
arguments.
|
||
|
|
||
|
Added some new tests.
|
||
|
|
||
|
Updated the documentation.
|
||
|
|
||
|
$md5->b64digest implemented with same base64 encoder as md5_base64.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-23 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_52
|
||
|
|
||
|
Patch from Graham Barr which make it work for big-endian machines
|
||
|
again.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-22 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_51
|
||
|
|
||
|
The MD5 class is now subclassable.
|
||
|
|
||
|
The add() and addfile() methods now return $self.
|
||
|
|
||
|
The reset() method is just an alias for new().
|
||
|
|
||
|
The constructor (MD5->new) now takes optional arguments which are
|
||
|
automatically added. It means that we can now write:
|
||
|
|
||
|
MD5->new($data)->hexdigest;
|
||
|
|
||
|
New $md5->b64digest method.
|
||
|
|
||
|
New functions that are exported on request: md5, md5_hex, md5_base64
|
||
|
|
||
|
Included RFC 1321
|
||
|
|
||
|
Barely started to update the documentation.
|
||
|
|
||
|
|
||
|
|
||
|
1998-10-22 Gisle Aas <aas@sn.no>
|
||
|
|
||
|
Release 1.99_50
|
||
|
|
||
|
Much better performance (more than twice as fast now). Mostly
|
||
|
because we use Copy/Zero instead of the original MD5_memcpy and
|
||
|
MD5_memset functions.
|
||
|
|
||
|
The addfile() and hexdigest() methods are now XS implemented.
|
||
|
|
||
|
All RSA functions now included in MD5.xs and made static.
|
||
|
|
||
|
Use perl's Copy/Zero.
|
||
|
|
||
|
Random cleanup, simplifications and reformatting.
|
||
|
Merged things better with the perl configuration.
|
||
|
|
||
|
|
||
|
|
||
|
Neil Winton's versions below:
|
||
|
|
||
|
|
||
|
*** 96/06/20 Version 1.7
|
||
|
|
||
|
MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
|
||
|
32-bit quantities and requires a typedef UINT4 to be defined in
|
||
|
global.h. Perl configuration data (the value of BYTEORDER) is used to
|
||
|
determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
|
||
|
DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
|
||
|
If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
|
||
|
Makefile.PL will override this.
|
||
|
|
||
|
On some machines (at least Cray that I know of) there is no 32-bit
|
||
|
integer type. In this case defining TRUNCATE_UINT4 (which is done
|
||
|
automatically for a Cray) will ensure that 64-bit values are masked
|
||
|
down to 32 bits. I have done my best to test this but without easy
|
||
|
access to a true 64-bit machine I can not totally guarantee it (unless
|
||
|
anyone wants to lend me a spare Cray :-)
|
||
|
|
||
|
There is one remaining limitation for 64-bit enabled processors. The
|
||
|
amount of data passed to any single call to the underlying MD5
|
||
|
routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
|
||
|
sorry if that's a real problem for you ...
|
||
|
|
||
|
And finally, a minor compilation warning (unsigned char * used with
|
||
|
function having char * prototype) has also been eliminated.
|
||
|
|
||
|
*** 96/04/09 Version 1.6
|
||
|
|
||
|
Re-generated module framework using h2xs to pick up the latest module
|
||
|
conventions for versions etc. You can now say "use MD5 1.6;" and things
|
||
|
should work correctly. MD5.pod has been integrated into MD5.pm and
|
||
|
CHANGES renamed to Changes. There is a fairly comprehensive test.pl
|
||
|
which can be invoked via "make test". There are no functional changes
|
||
|
to the MD5 routines themselves.
|
||
|
|
||
|
*** 96/03/14 Version 1.5.3
|
||
|
|
||
|
Fixed addfile method to accept type-glob references for the file-handle
|
||
|
(eg \*STDOUT). This is more consistent with other routines and is now the
|
||
|
recommended way of passing file-handles. The documentation now gives more
|
||
|
examples as to how the routines might be used.
|
||
|
|
||
|
*** 96/03/12 Version 1.5.2
|
||
|
|
||
|
Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
|
||
|
support for building on OS/2 (and to work around a perl -w bug).
|
||
|
|
||
|
Remove warning about possible difference between add('foo', 'bar') and
|
||
|
add('foobar'). This is not true (it may have been true in the earliest
|
||
|
version of the module but is no longer the case).
|
||
|
|
||
|
*** 96/03/08 Version 1.5.1
|
||
|
|
||
|
Add CHANGES file to make it easier for people to figure out what has
|
||
|
been going on. (Meant to do this as part of 1.5)
|
||
|
|
||
|
*** 96/03/05 Version 1.5
|
||
|
|
||
|
Add hash() and hexhash() methods at the suggestion/request of Gary
|
||
|
Howland <gary@kampai.euronet.nl> before inclusion in a wider library
|
||
|
of cryptography modules.
|
||
|
|
||
|
*** 96/02/27 Version 1.4
|
||
|
|
||
|
Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
|
||
|
Pizzini <kenp@spry.com>!
|
||
|
|
||
|
*** 95/11/29 Version 1.3.1
|
||
|
|
||
|
Add explanations of current known problems.
|
||
|
|
||
|
*** 95/06/02 Version 1.3
|
||
|
|
||
|
Fix problems with scope resolution in addfile() reported by
|
||
|
Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
|
||
|
always implicitly in package main while other filehandles aren't.
|
||
|
|
||
|
*** 95/05/23 Version 1.2.1
|
||
|
|
||
|
[Changes pre 1.2.1 not recorded]
|