"Fossies" - the Fresh Open Source Software Archive 
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1 2010-07-03 Release 2.13
2
3 Mike McCauley (1):
4 Fix memory leak in sha1_transform
5
6
7
8 2009-05-23 Release 2.12
9
10 Gisle Aas (6):
11 Get rid of the old CVS ids
12 Avoid "redefined" error for ULONG on Win64
13 Less optimizations on IRIX [RT#8999]
14 Clean up the 'git status' output
15 Mention that SHA-1 might be weak [RT#11880]
16 Ensure more stuff in the META.yml file [RT#40757]
17
18 Steve Peters (1):
19 Quiet warnings when compiled with -Wwrite-strings [RT#31915]
20
21
22
23 2006-01-18 Gisle Aas <gisle@ActiveState.com>
24
25 Release 2.11
26
27 Internal cleanup to avoid some compiler warnings.
28
29
30
31 2004-04-05 Gisle Aas <gisle@ActiveState.com>
32
33 Release 2.10
34
35 Restore compatibility with perl-5.004 and perl-5.005.
36
37
38
39 2004-04-01 Gisle Aas <gisle@ActiveState.com>
40
41 Release 2.09
42
43 The 2.08 release did not compile with a threaded debugging
44 perl, because assert() then needs my_perl. Fixed by commenting
45 out the asserts.
46
47
48
49 2004-04-01 Gisle Aas <gisle@ActiveState.com>
50
51 Release 2.08
52
53 Enable PERL_NO_GET_CONTEXT for more more efficient execution
54 on a threaded perl.
55
56 Fix up md5 references. Patch by Ville Skyttä <ville.skytta@iki.fi>.
57
58
59
60 2003-12-05 Gisle Aas <gisle@ActiveState.com>
61
62 Release 2.07
63
64 Inherit add_bits() from Digest::base if available.
65
66
67
68 2003-10-13 Gisle Aas <gisle@ActiveState.com>
69
70 Release 2.06
71
72 The sha1_transform() function did not check that it was actually
73 passed any arguments.
74
75 Complete self-contained documentation included (copied from
76 Digest::MD5), since the Digest.pm manpage is not always available.
77
78
79
80 2003-10-06 Gisle Aas <gisle@ActiveState.com>
81
82 Release 2.05
83
84 Added missing cast to support C++ compilation. Patch by Jan Dubois.
85
86 Document that the sha1_base64 function and the b64digest method
87 does not pad their result.
88
89
90
91 2003-07-22 Gisle Aas <gisle@ActiveState.com>
92
93 Release 2.04
94
95 Don't assume PerlIO_read() works like fread() even though
96 it was documented like that for perl 5.6. It returns negative
97 on read failure.
98
99 Kill test #3 in t/badfile.t. I don't know a reliable way
100 to test read failures on a file handle. Seems better not to
101 test than to make many worry.
102
103
104
105 2003-07-05 Gisle Aas <gisle@ActiveState.com>
106
107 Release 2.03
108
109 Implemented sha1_transform, required to implement NIST FIPS 186-2.
110 Contributed by Mike McCauley <mikem@open.com.au>.
111
112 Make it build on 64-bit platforms with 32-bit longs. At least
113 I hope it will.
114
115 Sync up with the Digest::MD5 implementation:
116 - added clone method
117 - addfile croaks if it can't read
118 - the sha1*() functions warn if called as method
119 or with reference arguments.
120
121
122
123 2002-12-27 Gisle Aas <gisle@ActiveState.com>
124
125 Release 2.02
126
127 Make it work when there is a mismatch between the
128 sizeof(BYTEORDER) and sizeof(long). Based on patch
129 by Allen Smith <easmith@beatrice.rutgers.edu>.
130
131 Support UTF8 strings in newer versions of Perl.
132
133
134
135 2001-12-30 Gisle Aas <gisle@ActiveState.com>
136
137 Release 2.01
138
139 Applied trivial win32 fix from Gurusamy Sarathy that
140 avoids stray temp files left after 'make test'.
141
142
143
144 2001-03-13 Gisle Aas <gisle@ActiveState.com>
145
146 Release 2.00
147
148 Broken out of the Digest-MD5-2.12 distribution and made into
149 a separate dist.
150
151
152
153 -------------------------------------------------------------------
154 Changes below from the Digest-MD5 dist.
155
156
157 2000-09-18 Gisle Aas <gisle@ActiveState.com>
158
159 Release 2.12
160
161 Avoid pointer cast warning for machines with bigger ints
162 than pointers. Patch by Robin Barker <rmb1@cise.npl.co.uk>.
163
164
165
166 2000-08-19 Gisle Aas <gisle@ActiveState.com>
167
168 Release 2.11
169
170 The fallback code introduced in 2.10 did only work for
171 perl-5.6.0. It should now for for perl5.004 and 5.005
172 as well. Patch by Ville Skyttä <ville@office.popsystems.com>.
173
174
175
176 2000-08-18 Gisle Aas <gisle@ActiveState.com>
177
178 Release 2.10
179
180 Digest::MD5 will now try to fallback to the pure perl
181 implementation of Digest::Perl::MD5 if bootstrap fails.
182
183 Added a bit internal paranoia about casting the IV
184 in the Digest::MD5 object to the MD5_CTX* pointer.
185
186
187
188 1999-08-06 Gisle Aas <gisle@aas.no>
189
190 Release 2.09
191
192 Documentation update.
193
194
195
196 1999-07-28 Gisle Aas <gisle@aas.no>
197
198 Release 2.08
199
200 The addfile() methods could trigger a core dump when passed
201 a filehandle that had failed to open.
202
203
204
205 1999-04-26 Gisle Aas <gisle@aas.no>
206
207 Release 2.07
208
209 The Digest::SHA1 module failed on some 64-bit systems, because I
210 assumed there was a correspondence between the U32 size and
211 BYTEORDER. This version use 'unsigned long' as Uwe's original
212 SHA module did.
213
214 The module should now work better when liked statically with perl,
215 because we now use a safer module-loaded test in Digest.pm.
216
217 Assume we know the outcome of the alignment test on VMS. Patch by
218 Chuck Lane <lane@duphy4.physics.drexel.edu>
219
220
221
222 1999-03-26 Gisle Aas <gisle@aas.no>
223
224 Release 2.06
225
226 Avoid LONG and BYTE types in SHA.xs as they was in conflict
227 with similar definitions in <winnt.h>.
228
229 Patch by Marko Asplund <aspa@hip.fi> to make the the alignment
230 test program link successfully with sfio-perl.
231
232 Fixed a typo in MD5.xs that might have affected 64-bit systems.
233 Spotted by Nick Ing-Simmons
234
235
236
237 1999-03-15 Gisle Aas <gisle@aas.no>
238
239 Release 2.05
240
241 Included Digest::SHA1 based on Uwe Hollerbach's SHA module.
242
243
244
245 1999-03-05 Gisle Aas <gisle@aas.no>
246
247 Release 2.04
248
249 Avoid the -o option when compiling alignment test program
250 for Win32 as suggested by Gurusamy Sarathy.
251
252 DEC Compiler bug workaround. Contributed by D Roland Walker
253 <walker@ncbi.nlm.nih.gov>
254
255 Having references to a local variable called "na" was not
256 very safe either. Some older versions of Perl can apparently
257 macroize this into something completely different.
258
259
260
261 1999-02-27 Gisle Aas <gisle@aas.no>
262
263 Release 2.03
264
265 Patch from Christopher J. Madsen <chris_madsen@geocities.com> that
266 should help getting the u32align test program to compile with
267 Visual C++ 5 on Windows NT.
268
269 Got rid of references to PL_na.
270
271
272
273 1999-01-31 Gisle Aas <gisle@aas.no>
274
275 Release 2.02
276
277 Added a hints file as workaround for an IRIX compiler bug.
278 Contributed by D Roland Walker <walker@ncbi.nlm.nih.gov>.
279
280 Note that the rfc2202 test can still fail on some DEC Alpha,
281 because of a compiler bug that affects the perl 'x' operator.
282 The Digest:: modules should work and be safe to install anyway.
283
284
285
286 1998-12-18 Gisle Aas <aas@sn.no>
287
288 Release 2.01
289
290 Some casts and tweaks to make picky compilers more happy.
291
292
293
294 1998-11-04 Gisle Aas <aas@sn.no>
295
296 Release 2.00.
297
298 Taken out Digest::SHA1 as this module will be provided from Uwe
299 Hollerbach later.
300
301 Some tweaks to MD2.xs and MD5.xs since "na" disappeared in
302 perl5.005_53
303
304
305
306 1998-10-30 Gisle Aas <aas@sn.no>
307
308 Release 1.99_60
309
310 The 1.99_59 release introduced compilation problems for big-endian
311 systems with free U32 alignment. Bug reported, and fix suggested
312 by Paul J. Schinder <schinder@pobox.com>.
313
314
315
316 1998-10-28 Gisle Aas <aas@sn.no>
317
318 Release 1.99_59
319
320 Makefile.PL will run a test program to find out if U32 values can
321 be aligned anywhere. This hopefully cures the core dumps reported
322 on Solaris and other big endian systems. Thanks to Graham Barr for
323 debugging this.
324
325
326
327 1998-10-28 Gisle Aas <aas@sn.no>
328
329 Release 1.99_58
330
331 Should be very close to a 2.00 release now. Need some success
332 reports from people running on big-endian machines first I think.
333
334 Added a Digest::MD2 implementation.
335
336 Wrote Digest.pm documentation. This define the interface that all
337 Digest:: modules should provide.
338
339 Avoided some code duplication in MD5.xs
340
341 Fixed typo, that prevented Digest::SHA1::sha1_base64() from working.
342
343
344
345 1998-10-27 Gisle Aas <aas@sn.no>
346
347 Release 1.99_57
348
349 Rewritten most of the MD5 C code to make it real fast (especially
350 on little-endian machines without alignment restrictions for U32).
351 Compared to MD5-1.7 we can process files 4 times as fast and we
352 digest small stuff in memory 7 times faster. I came to these
353 conclusions after these tests (gcc -O2, i586, Linux):
354
355 First tested calculation of the digest of a 31 MB file, using
356 perl -le 'print Digest::MD5->new->addfile(*STDIN)->hexdigest'
357 and similar stuff:
358
359 MD5-1.7: 21.06s
360 Digest::MD5-1.99_57: 5.23s
361 md5sum (GNU textutils): 4.90s
362
363 As you can see, we do nearly as good as the md5sum program. I
364 think the reason we don't beat md5sum is that perl always insist on
365 loading extra modules like Config.pm, Carp.pm, strict.pm, vars.pm,
366 AutoLoader.pm and DynaLoader.pm. When I simply wrapped the MD5.xs
367 hasher code in a C program I managed to process the file in 4.68s.
368
369 Then we calculated the digest of the same 6 byte sting, 20000
370 times:
371
372 MD5-1.7: 11.81s
373 Digest::MD5-1.99_57: 1.68s
374
375 Digest::MD5 benefit from making this into a plain procedure call
376 instead of a static method call.
377
378
379 Other changes in this release are:
380
381 Documentation update
382
383 Internal MD5.xs cleanup.
384
385 $md5->digest will automatically reset now.
386
387 Digest::HMAC methods add() and addfile() did not return the
388 correct object.
389
390 Added Digest.pm loading module. I am not sure this is a good idea.
391
392 Added Digest::SHA1 and Digest::HMAC_SHA1 module. The Digest::SHA1
393 module is just a wrapper around SHA.pm. I hope to get the author
394 of SHA.pm to move his module to the Digest:: category.
395
396
397
398 1998-10-25 Gisle Aas <aas@sn.no>
399
400 Release 1.99_56
401
402 Fix memcpy_byteswap() function in MD5.xs. Must be careful with
403 htovl() as it might evaluate its arguments more than once.
404
405
406
407 1998-10-25 Gisle Aas <aas@sn.no>
408
409 Release 1.99_55
410
411 Grahams HMAC_MD5.pm splitted into two modules. Digest::HMAC and
412 Digest::HMAC_MD5. Also provide functional interface. Documentation
413 is still lacking.
414
415 Included RFC 2202 based test for HMAC-MD5.
416
417
418
419 1998-10-24 Gisle Aas <aas@sn.no>
420
421 Release 1.99_54
422
423 Included HMAC_MD5.pm, contributed by Graham Barr <gbarr@ti.com>.
424
425 I have a hard time to make up my mind :-) md5_bin() renamed back
426 to md5(). Functions are not exported by default any more.
427
428 Try to Encode/Decode with memcpy_byteswap for 32-bit big-endian
429 machines.
430
431
432
433 1998-10-23 Gisle Aas <aas@sn.no>
434
435 Release 1.99_53
436
437 Renamed core module as Digest::MD5. Leave a MD5.pm stub for
438 legacy code.
439
440 The md5() function renamed as md5_bin().
441
442 The constructor, Digest::MD5->new, no longer takes any extra
443 arguments.
444
445 Added some new tests.
446
447 Updated the documentation.
448
449 $md5->b64digest implemented with same base64 encoder as md5_base64.
450
451
452
453 1998-10-23 Gisle Aas <aas@sn.no>
454
455 Release 1.99_52
456
457 Patch from Graham Barr which make it work for big-endian machines
458 again.
459
460
461
462 1998-10-22 Gisle Aas <aas@sn.no>
463
464 Release 1.99_51
465
466 The MD5 class is now subclassable.
467
468 The add() and addfile() methods now return $self.
469
470 The reset() method is just an alias for new().
471
472 The constructor (MD5->new) now takes optional arguments which are
473 automatically added. It means that we can now write:
474
475 MD5->new($data)->hexdigest;
476
477 New $md5->b64digest method.
478
479 New functions that are exported on request: md5, md5_hex, md5_base64
480
481 Included RFC 1321
482
483 Barely started to update the documentation.
484
485
486
487 1998-10-22 Gisle Aas <aas@sn.no>
488
489 Release 1.99_50
490
491 Much better performance (more than twice as fast now). Mostly
492 because we use Copy/Zero instead of the original MD5_memcpy and
493 MD5_memset functions.
494
495 The addfile() and hexdigest() methods are now XS implemented.
496
497 All RSA functions now included in MD5.xs and made static.
498
499 Use perl's Copy/Zero.
500
501 Random cleanup, simplifications and reformatting.
502 Merged things better with the perl configuration.
503
504
505
506 Neil Winton's versions below:
507
508
509 *** 96/06/20 Version 1.7
510
511 MD5 is now completely 64-bit clean (I hope). The basic MD5 code uses
512 32-bit quantities and requires a typedef UINT4 to be defined in
513 global.h. Perl configuration data (the value of BYTEORDER) is used to
514 determine if unsigned longs have 4 or 8 bytes. On 64-bit platforms (eg
515 DEC Alpha) then it assumes that "unsigned int" will be a 32-bit type.
516 If this is incorrect then adding -DUINT4_IS_LONG to the DEFINES line in
517 Makefile.PL will override this.
518
519 On some machines (at least Cray that I know of) there is no 32-bit
520 integer type. In this case defining TRUNCATE_UINT4 (which is done
521 automatically for a Cray) will ensure that 64-bit values are masked
522 down to 32 bits. I have done my best to test this but without easy
523 access to a true 64-bit machine I can not totally guarantee it (unless
524 anyone wants to lend me a spare Cray :-)
525
526 There is one remaining limitation for 64-bit enabled processors. The
527 amount of data passed to any single call to the underlying MD5
528 routines is limited to (2^32 - 1) bytes -- that's 4 gigabytes. I'm
529 sorry if that's a real problem for you ...
530
531 And finally, a minor compilation warning (unsigned char * used with
532 function having char * prototype) has also been eliminated.
533
534 *** 96/04/09 Version 1.6
535
536 Re-generated module framework using h2xs to pick up the latest module
537 conventions for versions etc. You can now say "use MD5 1.6;" and things
538 should work correctly. MD5.pod has been integrated into MD5.pm and
539 CHANGES renamed to Changes. There is a fairly comprehensive test.pl
540 which can be invoked via "make test". There are no functional changes
541 to the MD5 routines themselves.
542
543 *** 96/03/14 Version 1.5.3
544
545 Fixed addfile method to accept type-glob references for the file-handle
546 (eg \*STDOUT). This is more consistent with other routines and is now the
547 recommended way of passing file-handles. The documentation now gives more
548 examples as to how the routines might be used.
549
550 *** 96/03/12 Version 1.5.2
551
552 Minor fixes from Christopher J Madsen <madsen@computek.net> to provide
553 support for building on OS/2 (and to work around a perl -w bug).
554
555 Remove warning about possible difference between add('foo', 'bar') and
556 add('foobar'). This is not true (it may have been true in the earliest
557 version of the module but is no longer the case).
558
559 *** 96/03/08 Version 1.5.1
560
561 Add CHANGES file to make it easier for people to figure out what has
562 been going on. (Meant to do this as part of 1.5)
563
564 *** 96/03/05 Version 1.5
565
566 Add hash() and hexhash() methods at the suggestion/request of Gary
567 Howland <gary@kampai.euronet.nl> before inclusion in a wider library
568 of cryptography modules.
569
570 *** 96/02/27 Version 1.4
571
572 Finally fixed the pesky Solaris dynamic loading bug. All kudos to Ken
573 Pizzini <kenp@spry.com>!
574
575 *** 95/11/29 Version 1.3.1
576
577 Add explanations of current known problems.
578
579 *** 95/06/02 Version 1.3
580
581 Fix problems with scope resolution in addfile() reported by
582 Jean-Claude Giese <Jean-Claude.Giese@loria.fr>. Basically ARGV is
583 always implicitly in package main while other filehandles aren't.
584
585 *** 95/05/23 Version 1.2.1
586
587 [Changes pre 1.2.1 not recorded]