[Patch 5.8.1 Encode.pm] v-strings deprecated
[p5sagit/p5-mst-13.2.git] / ext / Digest / MD5 / Changes
CommitLineData
1c9948bf 12003-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
ac70dec1 152003-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
f05fc781 312003-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
cf0ec753 412003-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
502003-01-04 Gisle Aas <gisle@ActiveState.com>
f62a1bde 51
52 Release 2.22.
53
54 Added clone method.
55 Contributed by Holger Smolinski <holger@kunterbunt.bb.bawue.de>
56
57
58
9a03235d 592002-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
0dfa9f37 732002-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
5a046520 862002-05-01 Gisle Aas <gisle@ActiveState.com>
87
7e2b0cd5 88 Release 2.19
89
90 One more test suite update from Jarkko to sync it
91 even better with bleadperl.
92
93
94
952002-05-01 Gisle Aas <gisle@ActiveState.com>
96
5a046520 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
1072002-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
db2a39d5 1192001-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
1292001-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
1392001-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
3357b1b1 1542001-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
1622000-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
1712000-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
1812000-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
1931999-08-06 Gisle Aas <gisle@aas.no>
194
195 Release 2.09
196
197 Documentation update.
198
199
200
2011999-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
2101999-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
2271999-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
2421999-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
2501999-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
2661999-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
2781999-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
2911998-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
2991998-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
3111998-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
3211998-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
3321998-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
3501998-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
4031998-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
4121998-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
4241998-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
4381998-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
4581998-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
4671998-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
4921998-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
511Neil Winton's versions below:
512
513
514*** 96/06/20 Version 1.7
515
516MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
51732-bit quantities and requires a typedef UINT4 to be defined in
518global.h. Perl configuration data (the value of BYTEORDER) is used to
519determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
520DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
521If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
522Makefile.PL will override this.
523
524On some machines (at least Cray that I know of) there is no 32-bit
525integer type. In this case defining TRUNCATE_UINT4 (which is done
526automatically for a Cray) will ensure that 64-bit values are masked
527down to 32 bits. I have done my best to test this but without easy
528access to a true 64-bit machine I can not totally guarantee it (unless
529anyone wants to lend me a spare Cray :-)
530
531There is one remaining limitation for 64-bit enabled processors. The
532amount of data passed to any single call to the underlying MD5
533routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
534sorry if that's a real problem for you ...
535
536And finally, a minor complilation warning (unsigned char * used with
537function having char * prototype) has also been eliminated.
538
539*** 96/04/09 Version 1.6
540
541Re-generated module framework using h2xs to pick up the latest module
542conventions for versions etc. You can now say "use MD5 1.6;" and things
543should work correctly. MD5.pod has been integrated into MD5.pm and
544CHANGES renamed to Changes. There is a fairly comprehensive test.pl
545which can be invoked via "make test". There are no functional changes
546to the MD5 routines themselves.
547
548*** 96/03/14 Version 1.5.3
549
550Fixed 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
552recommended way of passing file-handles. The documentation now gives more
553examples as to how the routines might be used.
554
555*** 96/03/12 Version 1.5.2
556
557Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
558support for building on OS/2 (and to work arround a perl -w bug).
559
560Remove warning about possible difference between add('foo', 'bar') and
561add('foobar'). This is not true (it may have been true in the earliest
562version of the module but is no longer the case).
563
564*** 96/03/08 Version 1.5.1
565
566Add CHANGES file to make it easier for people to figure out what has
567been going on. (Meant to do this as part of 1.5)
568
569*** 96/03/05 Version 1.5
570
571Add hash() and hexhash() methods at the suggestion/request of Gary
572Howland <gary@kampai.euronet.nl> before inclusion in a wider library
573of cryptography modules.
574
575*** 96/02/27 Version 1.4
576
577Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
578Pizzini <kenp@spry.com>!
579
580*** 95/11/29 Version 1.3.1
581
582Add explanations of current known problems.
583
584*** 95/06/02 Version 1.3
585
586Fix problems with scope resolution in addfile() reported by
587Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
588always 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]