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