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