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