Re: FreeBSD mostly OK. [nwc10@colon.colondot.net: Report /export/home/nwc10/Even...
[p5sagit/p5-mst-13.2.git] / ext / Digest / MD5 / Changes
1 2002-05-05   Gisle Aas <gisle@ActiveState.com>
2
3    Release 2.20
4
5    More synchronization with tweaks Jarkko have done to the
6    bleadperl test suite. This time various EBCDIC hacks.
7
8    Outside PERL_CORE the md5-aaa.t test loaded the wrong version of
9    the module (and would fail if no previous Digest::MD5 was installed).
10    Patch by Mike Stok <mike@stok.co.uk>
11
12
13
14 2002-05-01   Gisle Aas <gisle@ActiveState.com>
15
16    Release 2.19
17
18    One more test suite update from Jarkko to sync it
19    even better with bleadperl.
20
21
22
23 2002-05-01   Gisle Aas <gisle@ActiveState.com>
24
25    Release 2.18
26
27    Changes #12954 and #16173 from bleadperl.  Documentation typo fix
28    and some signed/unsigned mismatches that Microsoft's C compiler
29    complained about.
30
31    The EBCDIC-aware md5-aaa.t from bleadperl.
32
33
34
35 2002-04-25   Gisle Aas <gisle@ActiveState.com>
36
37    Release 2.17
38
39    The SvPVbyte in perl-5.6.1 is buggy.  Use the one from 5.7.3
40    instead.
41
42    Give warning if the function interface is used as instance
43    methods:  $md5->md5_hex().
44
45
46
47 2001-09-07   Gisle Aas <gisle@ActiveState.com>
48
49    Release 2.16
50
51    Sync up with the bleadperl version:
52       - use SvPVbyte() if avaiable
53       - fixes to make the code 'gcc -Wall'-clean
54
55
56
57 2001-08-27   Gisle Aas <gisle@ActiveState.com>
58
59    Release 2.15
60
61    Avoid exit() in Makefile.PL and bleedperls redefinition of printf
62    in the alignment test program.
63    Patch by Doug MacEachern <dougm@covalent.net>.
64
65
66
67 2001-07-18   Gisle Aas <gisle@ActiveState.com>
68
69    Release 2.14
70
71    Try to warn if the functional interface is used as methods,
72    i.e. Digest::MD5->md5_hex("foo") will make noise if -w is
73    enabled.
74
75    Document the missing padding for the base64 digests.
76
77    If both XS bootstrap and locating Digest::Perl::MD5 fails
78    reraise the original XS bootstrap exception.
79
80
81
82 2001-03-13   Gisle Aas <gisle@ActiveState.com>
83
84    Release 2.13
85
86    Moved all other Digest:: modules out of the Digest-MD5 dist.
87
88
89
90 2000-09-18   Gisle Aas <gisle@ActiveState.com>
91
92    Release 2.12
93
94    Avoid pointer cast warning for machines with bigger ints
95    than pointers.  Patch by Robin Barker <rmb1@cise.npl.co.uk>.
96
97
98
99 2000-08-19   Gisle Aas <gisle@ActiveState.com>
100
101    Release 2.11
102    
103    The fallback code introduced in 2.10 did only work for
104    perl-5.6.0.  It should now for for perl5.004 and 5.005
105    as well.  Patch by Ville Skyttä <ville@office.popsystems.com>.
106
107
108
109 2000-08-18   Gisle Aas <gisle@ActiveState.com>
110
111    Release 2.10
112
113    Digest::MD5 will now try to fallback to the pure perl
114    implementation of Digest::Perl::MD5 if bootstrap fails.
115
116    Added a bit internal paranoia about casting the IV
117    in the Digest::MD5 object to the MD5_CTX* pointer.
118
119
120
121 1999-08-06   Gisle Aas <gisle@aas.no>
122
123    Release 2.09
124
125    Documentation update.
126
127
128
129 1999-07-28   Gisle Aas <gisle@aas.no>
130
131    Release 2.08
132
133    The addfile() methods could trigger a core dump when passed
134    a filehandle that had failed to open.
135
136
137
138 1999-04-26   Gisle Aas <gisle@aas.no>
139
140    Release 2.07
141
142    The Digest::SHA1 module failed on some 64-bit systems, because I
143    assumed there was a correspondence between the U32 size and
144    BYTEORDER.  This version use 'unsigned long' as Uwe's original
145    SHA module did.
146
147    The module should now work better when liked statically with perl,
148    because we now use a safer module-loaded test in Digest.pm.
149
150    Assume we know the outcome of the alignment test on VMS. Patch by
151    Chuck Lane <lane@duphy4.physics.drexel.edu>
152
153
154
155 1999-03-26   Gisle Aas <gisle@aas.no>
156
157    Release 2.06
158
159    Avoid LONG and BYTE types in SHA.xs as they was in conflict
160    with similar definitions in <winnt.h>.
161
162    Patch by Marko Asplund <aspa@hip.fi> to make the the alignment
163    test program link successfully with sfio-perl.
164
165    Fixed a typo in MD5.xs that might have affected 64-bit systems.
166    Spotted by Nick Ing-Simmons
167
168
169
170 1999-03-15   Gisle Aas <gisle@aas.no>
171
172    Release 2.05
173
174    Included Digest::SHA1 based on Uwe Hollerbach's SHA module.
175
176
177
178 1999-03-05   Gisle Aas <gisle@aas.no>
179
180    Release 2.04
181
182    Avoid the -o option when compiling alignment test program
183    for Win32 as suggested by Gurusamy Sarathy.
184
185    DEC Compiler bug workaround.  Contributed by D Roland Walker
186    <walker@ncbi.nlm.nih.gov>
187
188    Having references to a local variable called "na" was not
189    very safe either.  Some older versions of Perl can apparently
190    macroize this into something completely different.
191
192
193
194 1999-02-27   Gisle Aas <gisle@aas.no>
195
196    Release 2.03
197
198    Patch from Christopher J. Madsen <chris_madsen@geocities.com> that
199    should help getting the u32align test program to compile with
200    Visual C++ 5 on Windows NT.
201
202    Got rid of references to PL_na.
203
204
205
206 1999-01-31   Gisle Aas <gisle@aas.no>
207
208    Release 2.02
209
210    Added a hints file as workaround for an IRIX compiler bug.
211    Contributed by D Roland Walker <walker@ncbi.nlm.nih.gov>.
212
213    Note that the rfc2202 test can still fail on some DEC Alpha,
214    because of a compiler bug that affects the perl 'x' operator.
215    The Digest:: modules should work and be safe to install anyway.
216
217
218
219 1998-12-18   Gisle Aas <aas@sn.no>
220
221    Release 2.01
222
223    Some casts and tweaks to make picky compilers more happy.
224
225
226
227 1998-11-04   Gisle Aas <aas@sn.no>
228
229    Release 2.00.
230
231    Taken out Digest::SHA1 as this module will be provided from Uwe
232    Hollerbach later.
233
234    Some tweaks to MD2.xs and MD5.xs since "na" disappeared in
235    perl5.005_53
236
237
238
239 1998-10-30   Gisle Aas <aas@sn.no>
240
241    Release 1.99_60
242
243    The 1.99_59 release introduced compilation problems for big-endian
244    systems with free U32 alignment.  Bug reported, and fix suggested
245    by Paul J. Schinder <schinder@pobox.com>.
246
247
248
249 1998-10-28   Gisle Aas <aas@sn.no>
250
251    Release 1.99_59
252
253    Makefile.PL will run a test program to find out if U32 values can
254    be aligned anywhere.  This hopefully cures the core dumps reported
255    on Solaris and other big endian systems.  Thanks to Graham Barr for
256    debugging this.
257
258
259
260 1998-10-28   Gisle Aas <aas@sn.no>
261
262    Release 1.99_58
263
264    Should be very close to a 2.00 release now.  Need some success
265    reports from people running on big-endian machines first I think.
266
267    Added a Digest::MD2 implementation.
268
269    Wrote Digest.pm documentation.  This define the interface that all
270    Digest:: modules should provide.
271
272    Avoided some code duplication in MD5.xs
273
274    Fixed typo, that prevented Digest::SHA1::sha1_base64() from working.
275
276
277
278 1998-10-27   Gisle Aas <aas@sn.no>
279
280    Release 1.99_57
281
282    Rewritten most of the MD5 C code to make it real fast (especially
283    on little-endian machines without alignment restrictions for U32).
284    Compared to MD5-1.7 we can process files 4 times as fast and we
285    digest small stuff in memory 7 times faster.  I came to these
286    conclusions after these tests (gcc -O2, i586, Linux):
287
288    First tested calculation of the digest of a 31 MB file, using
289    perl -le 'print Digest::MD5->new->addfile(*STDIN)->hexdigest'
290    and similar stuff:
291
292       MD5-1.7:                 21.06s
293       Digest::MD5-1.99_57:      5.23s
294       md5sum (GNU textutils):   4.90s
295
296    As you can see, we do nearly as good as the md5sum program.  I
297    think the reason we don't beat md5sum is that perl always insist on
298    loading extra modules like Config.pm, Carp.pm, strict.pm, vars.pm,
299    AutoLoader.pm and DynaLoader.pm.  When I simply wrapped the MD5.xs
300    hasher code in a C program I managed to process the file in 4.68s.
301
302    Then we calculated the digest of the same 6 byte sting, 20000
303    times:
304
305       MD5-1.7:                 11.81s
306       Digest::MD5-1.99_57:      1.68s
307
308    Digest::MD5 benefit from making this into a plain procedure call
309    instead of a static method call.
310
311
312    Other changes in this release are:
313
314    Documentation update
315
316    Internal MD5.xs cleanup.
317
318    $md5->digest will automatically reset now.
319
320    Digest::HMAC methods add() and addfile() did not return the
321    corret object.
322
323    Added Digest.pm loading module.  I am not sure this is a good idea.
324
325    Added Digest::SHA1 and Digest::HMAC_SHA1 module.  The Digest::SHA1
326    module is just a wrapper around SHA.pm.  I hope to get the author
327    of SHA.pm to move his module to the Digest:: category.
328
329
330
331 1998-10-25   Gisle Aas <aas@sn.no>
332
333    Release 1.99_56
334
335    Fix memcpy_byteswap() function in MD5.xs.  Must be careful with
336    htovl() as it might evaluate its arguments more than once.
337
338
339
340 1998-10-25   Gisle Aas <aas@sn.no>
341
342    Release 1.99_55
343
344    Grahams HMAC_MD5.pm splitted into two modules.  Digest::HMAC and
345    Digest::HMAC_MD5.  Also provide functional interface.  Documentation
346    is still lacking.
347
348    Included RFC 2202 based test for HMAC-MD5.
349
350
351
352 1998-10-24   Gisle Aas <aas@sn.no>
353
354    Release 1.99_54
355
356    Included HMAC_MD5.pm, contributed by Graham Barr <gbarr@ti.com>.
357
358    I have a hard time to make up my mind :-)  md5_bin() renamed back
359    to md5().   Functions are not exported by default any more.
360
361    Try to Encode/Decode with memcpy_byteswap for 32-bit big-endian
362    machines.
363
364
365
366 1998-10-23   Gisle Aas <aas@sn.no>
367
368    Release 1.99_53
369
370    Renamed core module as Digest::MD5.  Leave a MD5.pm stub for
371    legacy code.
372
373    The md5() function renamed as md5_bin().
374
375    The constructor, Digest::MD5->new, no longer takes any extra
376    arguments.
377
378    Added some new tests.
379
380    Updated the documentation.
381
382    $md5->b64digest implemented with same base64 encoder as md5_base64.
383
384
385
386 1998-10-23   Gisle Aas <aas@sn.no>
387
388    Release 1.99_52
389
390    Patch from Graham Barr which make it work for big-endian machines
391    again.
392
393
394
395 1998-10-22   Gisle Aas <aas@sn.no>
396
397    Release 1.99_51
398
399    The MD5 class is now subclassable.
400
401    The add() and addfile() methods now return $self.
402
403    The reset() method is just an alias for new().
404
405    The constructor (MD5->new) now takes optional arguments which are
406    automatically added.  It means that we can now write:
407
408       MD5->new($data)->hexdigest;
409
410    New $md5->b64digest method.
411
412    New functions that are exported on request: md5, md5_hex, md5_base64
413
414    Included RFC 1321
415
416    Barely started to update the documentation.
417
418
419
420 1998-10-22   Gisle Aas <aas@sn.no>
421
422    Release 1.99_50
423
424    Much better performance (more than twice as fast now).  Mostly
425    because we use Copy/Zero instead of the original MD5_memcpy and
426    MD5_memset functions.
427
428    The addfile() and hexdigest() methods are now XS implemented.
429
430    All RSA functions now included in MD5.xs and made static.
431
432    Use perl's Copy/Zero.
433
434    Random cleanup, simplifications and reformatting.
435    Merged things better with the perl configuration.
436
437
438
439 Neil Winton's versions below:
440
441
442 *** 96/06/20 Version 1.7
443
444 MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
445 32-bit quantities and requires a typedef UINT4 to be defined in
446 global.h. Perl configuration data (the value of BYTEORDER) is used to
447 determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
448 DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
449 If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
450 Makefile.PL will override this.
451
452 On some machines (at least Cray that I know of) there is no 32-bit
453 integer type. In this case defining TRUNCATE_UINT4 (which is done
454 automatically for a Cray) will ensure that 64-bit values are masked
455 down to 32 bits. I have done my best to test this but without easy
456 access to a true 64-bit machine I can not totally guarantee it (unless
457 anyone wants to lend me a spare Cray :-)
458
459 There is one remaining limitation for 64-bit enabled processors. The
460 amount of data passed to any single call to the underlying MD5
461 routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
462 sorry if that's a real problem for you ...
463
464 And finally, a minor complilation warning (unsigned char * used with
465 function having char * prototype) has also been eliminated.
466
467 *** 96/04/09 Version 1.6
468
469 Re-generated module framework using h2xs to pick up the latest module
470 conventions for versions etc. You can now say "use MD5 1.6;" and things
471 should work correctly. MD5.pod has been integrated into MD5.pm and
472 CHANGES renamed to Changes. There is a fairly comprehensive test.pl
473 which can be invoked via "make test". There are no functional changes
474 to the MD5 routines themselves.
475
476 *** 96/03/14 Version 1.5.3
477
478 Fixed addfile method to accept type-glob references for the file-handle
479 (eg \*STDOUT). This is more consistent with other routines and is now the
480 recommended way of passing file-handles. The documentation now gives more
481 examples as to how the routines might be used.
482
483 *** 96/03/12 Version 1.5.2
484
485 Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
486 support for building on OS/2 (and to work arround a perl -w bug).
487
488 Remove warning about possible difference between add('foo', 'bar') and
489 add('foobar'). This is not true (it may have been true in the earliest
490 version of the module but is no longer the case).
491
492 *** 96/03/08 Version 1.5.1
493
494 Add CHANGES file to make it easier for people to figure out what has
495 been going on. (Meant to do this as part of 1.5)
496
497 *** 96/03/05 Version 1.5
498
499 Add hash() and hexhash() methods at the suggestion/request of Gary
500 Howland <gary@kampai.euronet.nl> before inclusion in a wider library
501 of cryptography modules.
502
503 *** 96/02/27 Version 1.4
504
505 Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
506 Pizzini <kenp@spry.com>!
507
508 *** 95/11/29 Version 1.3.1
509
510 Add explanations of current known problems.
511
512 *** 95/06/02 Version 1.3
513
514 Fix problems with scope resolution in addfile() reported by
515 Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
516 always implicitly in package main while other filehandles aren't.
517  
518 *** 95/05/23 Version 1.2.1
519
520 [Changes pre 1.2.1 not recorded]