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