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