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