12010-07-03   Release 2.13
2
3    Mike McCauley (1):
4          Fix memory leak in sha1_transform
5
6
7
82009-05-23   Release 2.12
9
10    Gisle Aas (6):
11	  Get rid of the old CVS ids
12	  Avoid "redefined" error for ULONG on Win64
13	  Less optimizations on IRIX [RT#8999]
14	  Clean up the 'git status' output
15	  Mention that SHA-1 might be weak [RT#11880]
16	  Ensure more stuff in the META.yml file [RT#40757]
17
18    Steve Peters (1):
19	  Quiet warnings when compiled with -Wwrite-strings [RT#31915]
20
21
22
232006-01-18   Gisle Aas <gisle@ActiveState.com>
24
25   Release 2.11
26
27   Internal cleanup to avoid some compiler warnings.
28
29
30
312004-04-05   Gisle Aas <gisle@ActiveState.com>
32
33   Release 2.10
34
35   Restore compatibility with perl-5.004 and perl-5.005.
36
37
38
392004-04-01   Gisle Aas <gisle@ActiveState.com>
40
41   Release 2.09
42
43   The 2.08 release did not compile with a threaded debugging
44   perl, because assert() then needs my_perl.  Fixed by commenting
45   out the asserts.
46
47
48
492004-04-01   Gisle Aas <gisle@ActiveState.com>
50
51   Release 2.08
52
53   Enable PERL_NO_GET_CONTEXT for more more efficient execution
54   on a threaded perl.
55
56   Fix up md5 references.  Patch by Ville Skyttä <ville.skytta@iki.fi>.
57
58
59
602003-12-05   Gisle Aas <gisle@ActiveState.com>
61
62   Release 2.07
63
64   Inherit add_bits() from Digest::base if available.
65
66
67
682003-10-13   Gisle Aas <gisle@ActiveState.com>
69
70   Release 2.06
71
72   The sha1_transform() function did not check that it was actually
73   passed any arguments.
74
75   Complete self-contained documentation included (copied from
76   Digest::MD5), since the Digest.pm manpage is not always available.
77
78
79
802003-10-06   Gisle Aas <gisle@ActiveState.com>
81
82   Release 2.05
83
84   Added missing cast to support C++ compilation.  Patch by Jan Dubois.
85
86   Document that the sha1_base64 function and the b64digest method
87   does not pad their result.
88
89
90
912003-07-22   Gisle Aas <gisle@ActiveState.com>
92
93   Release 2.04
94
95   Don't assume PerlIO_read() works like fread() even though
96   it was documented like that for perl 5.6.  It returns negative
97   on read failure.
98
99   Kill test #3 in t/badfile.t.  I don't know a reliable way
100   to test read failures on a file handle.  Seems better not to
101   test than to make many worry.
102
103
104
1052003-07-05   Gisle Aas <gisle@ActiveState.com>
106
107   Release 2.03
108
109   Implemented sha1_transform, required to implement NIST FIPS 186-2.
110   Contributed by Mike McCauley <mikem@open.com.au>.
111
112   Make it build on 64-bit platforms with 32-bit longs.  At least
113   I hope it will.
114
115   Sync up with the Digest::MD5 implementation:
116      - added clone method
117      - addfile croaks if it can't read
118      - the sha1*() functions warn if called as method
119        or with reference arguments.
120
121
122
1232002-12-27   Gisle Aas <gisle@ActiveState.com>
124
125   Release 2.02
126
127   Make it work when there is a mismatch between the
128   sizeof(BYTEORDER) and sizeof(long).  Based on patch
129   by Allen Smith <easmith@beatrice.rutgers.edu>.
130
131   Support UTF8 strings in newer versions of Perl.
132
133
134
1352001-12-30   Gisle Aas <gisle@ActiveState.com>
136
137   Release 2.01
138
139   Applied trivial win32 fix from Gurusamy Sarathy that
140   avoids stray temp files left after 'make test'.
141
142
143
1442001-03-13   Gisle Aas <gisle@ActiveState.com>
145
146   Release 2.00
147
148   Broken out of the Digest-MD5-2.12 distribution and made into
149   a separate dist.
150
151
152
153-------------------------------------------------------------------
154Changes below from the Digest-MD5 dist.
155
156
1572000-09-18   Gisle Aas <gisle@ActiveState.com>
158
159   Release 2.12
160
161   Avoid pointer cast warning for machines with bigger ints
162   than pointers.  Patch by Robin Barker <rmb1@cise.npl.co.uk>.
163
164
165
1662000-08-19   Gisle Aas <gisle@ActiveState.com>
167
168   Release 2.11
169
170   The fallback code introduced in 2.10 did only work for
171   perl-5.6.0.  It should now for for perl5.004 and 5.005
172   as well.  Patch by Ville Skyttä <ville@office.popsystems.com>.
173
174
175
1762000-08-18   Gisle Aas <gisle@ActiveState.com>
177
178   Release 2.10
179
180   Digest::MD5 will now try to fallback to the pure perl
181   implementation of Digest::Perl::MD5 if bootstrap fails.
182
183   Added a bit internal paranoia about casting the IV
184   in the Digest::MD5 object to the MD5_CTX* pointer.
185
186
187
1881999-08-06   Gisle Aas <gisle@aas.no>
189
190   Release 2.09
191
192   Documentation update.
193
194
195
1961999-07-28   Gisle Aas <gisle@aas.no>
197
198   Release 2.08
199
200   The addfile() methods could trigger a core dump when passed
201   a filehandle that had failed to open.
202
203
204
2051999-04-26   Gisle Aas <gisle@aas.no>
206
207   Release 2.07
208
209   The Digest::SHA1 module failed on some 64-bit systems, because I
210   assumed there was a correspondence between the U32 size and
211   BYTEORDER.  This version use 'unsigned long' as Uwe's original
212   SHA module did.
213
214   The module should now work better when liked statically with perl,
215   because we now use a safer module-loaded test in Digest.pm.
216
217   Assume we know the outcome of the alignment test on VMS. Patch by
218   Chuck Lane <lane@duphy4.physics.drexel.edu>
219
220
221
2221999-03-26   Gisle Aas <gisle@aas.no>
223
224   Release 2.06
225
226   Avoid LONG and BYTE types in SHA.xs as they was in conflict
227   with similar definitions in <winnt.h>.
228
229   Patch by Marko Asplund <aspa@hip.fi> to make the the alignment
230   test program link successfully with sfio-perl.
231
232   Fixed a typo in MD5.xs that might have affected 64-bit systems.
233   Spotted by Nick Ing-Simmons
234
235
236
2371999-03-15   Gisle Aas <gisle@aas.no>
238
239   Release 2.05
240
241   Included Digest::SHA1 based on Uwe Hollerbach's SHA module.
242
243
244
2451999-03-05   Gisle Aas <gisle@aas.no>
246
247   Release 2.04
248
249   Avoid the -o option when compiling alignment test program
250   for Win32 as suggested by Gurusamy Sarathy.
251
252   DEC Compiler bug workaround.  Contributed by D Roland Walker
253   <walker@ncbi.nlm.nih.gov>
254
255   Having references to a local variable called "na" was not
256   very safe either.  Some older versions of Perl can apparently
257   macroize this into something completely different.
258
259
260
2611999-02-27   Gisle Aas <gisle@aas.no>
262
263   Release 2.03
264
265   Patch from Christopher J. Madsen <chris_madsen@geocities.com> that
266   should help getting the u32align test program to compile with
267   Visual C++ 5 on Windows NT.
268
269   Got rid of references to PL_na.
270
271
272
2731999-01-31   Gisle Aas <gisle@aas.no>
274
275   Release 2.02
276
277   Added a hints file as workaround for an IRIX compiler bug.
278   Contributed by D Roland Walker <walker@ncbi.nlm.nih.gov>.
279
280   Note that the rfc2202 test can still fail on some DEC Alpha,
281   because of a compiler bug that affects the perl 'x' operator.
282   The Digest:: modules should work and be safe to install anyway.
283
284
285
2861998-12-18   Gisle Aas <aas@sn.no>
287
288   Release 2.01
289
290   Some casts and tweaks to make picky compilers more happy.
291
292
293
2941998-11-04   Gisle Aas <aas@sn.no>
295
296   Release 2.00.
297
298   Taken out Digest::SHA1 as this module will be provided from Uwe
299   Hollerbach later.
300
301   Some tweaks to MD2.xs and MD5.xs since "na" disappeared in
302   perl5.005_53
303
304
305
3061998-10-30   Gisle Aas <aas@sn.no>
307
308   Release 1.99_60
309
310   The 1.99_59 release introduced compilation problems for big-endian
311   systems with free U32 alignment.  Bug reported, and fix suggested
312   by Paul J. Schinder <schinder@pobox.com>.
313
314
315
3161998-10-28   Gisle Aas <aas@sn.no>
317
318   Release 1.99_59
319
320   Makefile.PL will run a test program to find out if U32 values can
321   be aligned anywhere.  This hopefully cures the core dumps reported
322   on Solaris and other big endian systems.  Thanks to Graham Barr for
323   debugging this.
324
325
326
3271998-10-28   Gisle Aas <aas@sn.no>
328
329   Release 1.99_58
330
331   Should be very close to a 2.00 release now.  Need some success
332   reports from people running on big-endian machines first I think.
333
334   Added a Digest::MD2 implementation.
335
336   Wrote Digest.pm documentation.  This define the interface that all
337   Digest:: modules should provide.
338
339   Avoided some code duplication in MD5.xs
340
341   Fixed typo, that prevented Digest::SHA1::sha1_base64() from working.
342
343
344
3451998-10-27   Gisle Aas <aas@sn.no>
346
347   Release 1.99_57
348
349   Rewritten most of the MD5 C code to make it real fast (especially
350   on little-endian machines without alignment restrictions for U32).
351   Compared to MD5-1.7 we can process files 4 times as fast and we
352   digest small stuff in memory 7 times faster.  I came to these
353   conclusions after these tests (gcc -O2, i586, Linux):
354
355   First tested calculation of the digest of a 31 MB file, using
356   perl -le 'print Digest::MD5->new->addfile(*STDIN)->hexdigest'
357   and similar stuff:
358
359      MD5-1.7:                 21.06s
360      Digest::MD5-1.99_57:      5.23s
361      md5sum (GNU textutils):   4.90s
362
363   As you can see, we do nearly as good as the md5sum program.  I
364   think the reason we don't beat md5sum is that perl always insist on
365   loading extra modules like Config.pm, Carp.pm, strict.pm, vars.pm,
366   AutoLoader.pm and DynaLoader.pm.  When I simply wrapped the MD5.xs
367   hasher code in a C program I managed to process the file in 4.68s.
368
369   Then we calculated the digest of the same 6 byte sting, 20000
370   times:
371
372      MD5-1.7:                 11.81s
373      Digest::MD5-1.99_57:      1.68s
374
375   Digest::MD5 benefit from making this into a plain procedure call
376   instead of a static method call.
377
378
379   Other changes in this release are:
380
381   Documentation update
382
383   Internal MD5.xs cleanup.
384
385   $md5->digest will automatically reset now.
386
387   Digest::HMAC methods add() and addfile() did not return the
388   correct object.
389
390   Added Digest.pm loading module.  I am not sure this is a good idea.
391
392   Added Digest::SHA1 and Digest::HMAC_SHA1 module.  The Digest::SHA1
393   module is just a wrapper around SHA.pm.  I hope to get the author
394   of SHA.pm to move his module to the Digest:: category.
395
396
397
3981998-10-25   Gisle Aas <aas@sn.no>
399
400   Release 1.99_56
401
402   Fix memcpy_byteswap() function in MD5.xs.  Must be careful with
403   htovl() as it might evaluate its arguments more than once.
404
405
406
4071998-10-25   Gisle Aas <aas@sn.no>
408
409   Release 1.99_55
410
411   Grahams HMAC_MD5.pm splitted into two modules.  Digest::HMAC and
412   Digest::HMAC_MD5.  Also provide functional interface.  Documentation
413   is still lacking.
414
415   Included RFC 2202 based test for HMAC-MD5.
416
417
418
4191998-10-24   Gisle Aas <aas@sn.no>
420
421   Release 1.99_54
422
423   Included HMAC_MD5.pm, contributed by Graham Barr <gbarr@ti.com>.
424
425   I have a hard time to make up my mind :-)  md5_bin() renamed back
426   to md5().   Functions are not exported by default any more.
427
428   Try to Encode/Decode with memcpy_byteswap for 32-bit big-endian
429   machines.
430
431
432
4331998-10-23   Gisle Aas <aas@sn.no>
434
435   Release 1.99_53
436
437   Renamed core module as Digest::MD5.  Leave a MD5.pm stub for
438   legacy code.
439
440   The md5() function renamed as md5_bin().
441
442   The constructor, Digest::MD5->new, no longer takes any extra
443   arguments.
444
445   Added some new tests.
446
447   Updated the documentation.
448
449   $md5->b64digest implemented with same base64 encoder as md5_base64.
450
451
452
4531998-10-23   Gisle Aas <aas@sn.no>
454
455   Release 1.99_52
456
457   Patch from Graham Barr which make it work for big-endian machines
458   again.
459
460
461
4621998-10-22   Gisle Aas <aas@sn.no>
463
464   Release 1.99_51
465
466   The MD5 class is now subclassable.
467
468   The add() and addfile() methods now return $self.
469
470   The reset() method is just an alias for new().
471
472   The constructor (MD5->new) now takes optional arguments which are
473   automatically added.  It means that we can now write:
474
475      MD5->new($data)->hexdigest;
476
477   New $md5->b64digest method.
478
479   New functions that are exported on request: md5, md5_hex, md5_base64
480
481   Included RFC 1321
482
483   Barely started to update the documentation.
484
485
486
4871998-10-22   Gisle Aas <aas@sn.no>
488
489   Release 1.99_50
490
491   Much better performance (more than twice as fast now).  Mostly
492   because we use Copy/Zero instead of the original MD5_memcpy and
493   MD5_memset functions.
494
495   The addfile() and hexdigest() methods are now XS implemented.
496
497   All RSA functions now included in MD5.xs and made static.
498
499   Use perl's Copy/Zero.
500
501   Random cleanup, simplifications and reformatting.
502   Merged things better with the perl configuration.
503
504
505
506Neil Winton's versions below:
507
508
509*** 96/06/20 Version 1.7
510
511MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
51232-bit quantities and requires a typedef UINT4 to be defined in
513global.h. Perl configuration data (the value of BYTEORDER) is used to
514determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
515DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
516If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
517Makefile.PL will override this.
518
519On some machines (at least Cray that I know of) there is no 32-bit
520integer type. In this case defining TRUNCATE_UINT4 (which is done
521automatically for a Cray) will ensure that 64-bit values are masked
522down to 32 bits. I have done my best to test this but without easy
523access to a true 64-bit machine I can not totally guarantee it (unless
524anyone wants to lend me a spare Cray :-)
525
526There is one remaining limitation for 64-bit enabled processors. The
527amount of data passed to any single call to the underlying MD5
528routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
529sorry if that's a real problem for you ...
530
531And finally, a minor compilation warning (unsigned char * used with
532function having char * prototype) has also been eliminated.
533
534*** 96/04/09 Version 1.6
535
536Re-generated module framework using h2xs to pick up the latest module
537conventions for versions etc. You can now say "use MD5 1.6;" and things
538should work correctly. MD5.pod has been integrated into MD5.pm and
539CHANGES renamed to Changes. There is a fairly comprehensive test.pl
540which can be invoked via "make test". There are no functional changes
541to the MD5 routines themselves.
542
543*** 96/03/14 Version 1.5.3
544
545Fixed addfile method to accept type-glob references for the file-handle
546(eg \*STDOUT). This is more consistent with other routines and is now the
547recommended way of passing file-handles. The documentation now gives more
548examples as to how the routines might be used.
549
550*** 96/03/12 Version 1.5.2
551
552Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
553support for building on OS/2 (and to work around a perl -w bug).
554
555Remove warning about possible difference between add('foo', 'bar') and
556add('foobar'). This is not true (it may have been true in the earliest
557version of the module but is no longer the case).
558
559*** 96/03/08 Version 1.5.1
560
561Add CHANGES file to make it easier for people to figure out what has
562been going on. (Meant to do this as part of 1.5)
563
564*** 96/03/05 Version 1.5
565
566Add hash() and hexhash() methods at the suggestion/request of Gary
567Howland <gary@kampai.euronet.nl> before inclusion in a wider library
568of cryptography modules.
569
570*** 96/02/27 Version 1.4
571
572Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
573Pizzini <kenp@spry.com>!
574
575*** 95/11/29 Version 1.3.1
576
577Add explanations of current known problems.
578
579*** 95/06/02 Version 1.3
580
581Fix problems with scope resolution in addfile() reported by
582Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
583always implicitly in package main while other filehandles aren't.
584
585*** 95/05/23 Version 1.2.1
586
587[Changes pre 1.2.1 not recorded]
588