Commit | Line | Data |
---|---|---|
6bc89f92 SP |
1 | Revision history for Perl extension Digest::SHA. |
2 | ||
e7a1ec00 CBW |
3 | 5.62 Sat May 14 04:00:34 MST 2011 |
4 | - removed unnecessary loading of MIME::Base64 module | |
5 | -- thanks to dolmen for pointing this out | |
6 | ||
340a2f44 CBW |
7 | 5.61 Wed Mar 9 05:26:36 MST 2011 |
8 | - corrected bug in 'algorithm' method | |
9 | - fixed -x option in Makefile.PL | |
10 | -- not often used since it deliberately excludes | |
11 | all 64-bit SHA transforms | |
12 | - addressed minor documentation oversights | |
13 | ||
65484cb9 CBW |
14 | 5.60 Thu Mar 3 05:26:42 MST 2011 |
15 | - added new SHA-512/224 and SHA-512/256 transforms | |
16 | -- ref. NIST Draft FIPS 180-4 (February 2011) | |
17 | - simplified shasum by removing duplicative text | |
18 | - improved efficiency of Addfile | |
19 | -- expensive -T test now occurs only in portable mode | |
20 | ||
9cc8ef8a CBW |
21 | 5.50 Tue Dec 14 06:20:08 MST 2010 |
22 | - adopted convention that '-' always means STDIN | |
23 | -- actual filename '-' accessed as './-' | |
24 | -- accords with behavior of sha1sum/md5sum | |
25 | - corrected undefined subroutine oversight in shasum | |
26 | -- inadvertent migration of _bail() from SHA.pm | |
27 | ||
0a178734 CBW |
28 | 5.49 Sun Dec 12 07:22:04 MST 2010 |
29 | - modified Addfile to accept all POSIX filenames | |
30 | -- standard allows all characters except NUL and '/' | |
31 | - updated shasum to more closely mimic sha1sum/md5sum | |
32 | -- added "backslash processing" to handle newlines | |
33 | and backslashes in filenames | |
34 | -- now accepts all POSIX filenames via Addfile | |
35 | -- thanks to Sean Burke for identifying edge cases | |
36 | ||
dfe1edcb CBW |
37 | 5.48 Mon Jan 4 16:32:52 MST 2010 |
38 | - fixed "shasum -a0" option (ref. rt.cpan.org #53319) | |
39 | -- incorrectly accepted 0 as a valid algorithm | |
40 | -- thanks to Zefram for patch | |
41 | - updated URL for NIST test vectors | |
42 | -- ref. files t/nistbit.t, t/nistbyte.t | |
43 | -- thanks to Leon Brocard for patch | |
44 | ||
4eb6bdb8 SP |
45 | 5.47 Wed Apr 30 04:00:54 MST 2008 |
46 | - modified Makefile.PL to install in core for Perls >= 5.10 | |
47 | -- thanks to Jerry Hedden for patch | |
48 | - changed from #include <> to #include "" in SHA.xs | |
49 | -- some platforms not able to find SHA source files | |
50 | -- thanks to Alexandr Ciornii for testing | |
51 | - moved .pm file to appropriate lib directory | |
52 | - minor addition to META.yml | |
53 | ||
0bc2b4f8 RGS |
54 | 5.46 Wed Apr 9 05:04:00 MST 2008 |
55 | - modified Addfile to recognize leading and trailing | |
56 | whitespace in filenames (ref. rt.cpan.org #34690) | |
57 | - minor C source code modification (ref. hmac.c) | |
58 | - use const in sha.c for clean builds with -Wwrite-strings | |
59 | -- thanks to Robin Barker for patch | |
60 | ||
747da336 RGS |
61 | 5.45 Tue Jun 26 02:36:00 MST 2007 |
62 | - extended portability to earlier Perls | |
63 | -- works on Perl 5.003 and later | |
64 | -- thanks to Jim Doble for testing on legacy platforms | |
65 | - updated META.yml to conform to current META spec (1.3) | |
66 | - minor documentation fixes | |
67 | ||
1bd6a86e SP |
68 | 5.44 Sat Oct 14 00:42:44 MST 2006 |
69 | - removed SIGNATURE file from distribution | |
70 | -- spurious errors from CPANPLUS can break build | |
71 | - eliminated ppport.h header file | |
72 | -- significantly reduces size of distribution | |
73 | - modified C functions in src/hmac.c to use ANSI prototypes | |
74 | -- thanks to Jarkko Hietaniemi for patch | |
75 | ||
44e8b72c SP |
76 | 5.43 Sat Aug 5 02:36:18 MST 2006 |
77 | - undid Perl Best Practice of favoring 3-argument "open" | |
78 | -- 3-arg version uses different semantics for "-" | |
79 | causing bugs in addfile and shasum | |
80 | - modified underlying C functions to use ANSI prototypes | |
81 | -- requested by Steve Hay (ref. Smoke [5.9.4] 28630) | |
82 | -- K&R style was causing numerous warnings from | |
83 | Borland compiler | |
84 | ||
cccd5831 SP |
85 | 5.42 Mon Jul 24 04:04:40 MST 2006 |
86 | - minor code changes suggested by Perl::Critic | |
87 | -- e.g. no bareword filehandles, no 2-argument open's | |
88 | - updated public key (ref. B538C51C) | |
89 | -- previous one (0AF563FE) expired July 2, 2006 | |
90 | - added documentation to warn that Base64 digests are NOT padded | |
91 | -- padding must be done by user if interoperability | |
92 | with other software is required | |
93 | ||
84c0b84e SP |
94 | 5.41 Sat Jun 3 01:50:46 MST 2006 |
95 | - corrected addfile | |
96 | -- process $file argument as a filehandle unless passed | |
97 | as a SCALAR (which indicates a file name) | |
98 | ||
99 | 5.40 Fri Jun 2 04:00:30 MST 2006 | |
100 | - modified addfile to accept indirect filehandles | |
101 | -- ref. rt.cpan.org #19627 and #19641 | |
102 | ||
103 | 5.39 Sun May 28 03:22:24 MST 2006 | |
104 | - modified shasum to warn rather than die for file errors | |
105 | -- to follow conventions of GNU sha1sum/md5sum | |
106 | ||
c7e5c266 SP |
107 | 5.38 Thu May 25 02:02:02 MST 2006 |
108 | - added new capabilities to the "addfile" method | |
109 | -- now able to accept file names as well as handles | |
110 | -- includes mode for portable digest calculation | |
111 | -- thanks to Adam Kennedy for emails and ideas | |
112 | ref. File::LocalizeNewlines | |
113 | - used expanded addfile interface to simplify shasum (sumfile) | |
114 | -- regex a tad less general than 5.37, but handles all | |
115 | known newline variants in UNIX/Windows/MacOS | |
116 | - enhanced WARNING messages from shasum checkfile processing | |
117 | -- to mimic behavior of md5sum | |
118 | ||
dcbcf62d SP |
119 | 5.37 Mon May 8 04:30:09 MST 2006 |
120 | - modified shasum to avoid file slurping (ref. sub sumfile) | |
121 | - improved error handling of checksum files in shasum | |
122 | -- to better mimic the behavior of md5sum | |
123 | - refined line-break regex in shasum (ref. sub sumfile) | |
124 | -- catches multiple CR's preceding LF | |
125 | thanks to Gisle Aas for suggested patch | |
126 | - changed loop vars to signed int's in shadump (ref. src/sha.c) | |
127 | -- to prevent type mismatch warnings | |
128 | ||
128cbdba SP |
129 | 5.36 Mon May 8 01:38:36 MST 2006 |
130 | - fixed the "portable" option in shasum | |
131 | -- normalize line-breaks in text files only | |
132 | ||
133 | 5.35 Thu May 4 16:54:42 MST 2006 | |
134 | - added "portable" option to shasum | |
135 | -- to make digests match across Windows/Unix/MacOS | |
136 | - enabled bundling of shasum command line options | |
137 | -- to mimic behavior of md5sum | |
138 | - removed \r's from text files in t/nist directory | |
139 | -- resolves SIGNATURE clashes (rt.cpan.org #18983) | |
140 | - changed suffix on SHA64_MAX (src/sha.h) to ULL | |
141 | -- eliminates gcc warnings (rt.cpan.org #18988) | |
142 | - specified minimum Perl version for module and Makefile.PL | |
143 | -- closes rt.cpan.org #18984 | |
144 | ||
77d2a621 SP |
145 | 5.34 Thu Feb 2 18:55:40 MST 2006 |
146 | - removed Unix-style pathnames in test scripts | |
147 | -- causing problems on OpenVMS | |
148 | -- thanks to Steve Peters for patch | |
149 | - included latest version of Perl Portability header (ppport.h) | |
150 | - added PERL_CORE check to test scripts | |
151 | -- allows module to be built into Perl distribution | |
152 | ||
6bc89f92 SP |
153 | 5.32 Fri Dec 2 02:32:20 MST 2005 |
154 | - added POD section to shasum script | |
155 | -- thanks to Gunnar Wolf for patch | |
156 | - made minor code changes to silence compiler warnings | |
157 | -- resulting from signed/unsigned integer mixing | |
158 | - inserted code in test scripts for POD checking | |
159 | -- to recover gracefully if Test::More isn't installed | |
160 | ||
161 | 5.31 Mon Sep 5 00:52:42 MST 2005 | |
162 | - added standard tests for pod and pod-coverage checking | |
163 | - inserted subtest to check for failure when using | |
164 | unrecognized SHA algorithm | |
165 | ||
166 | 5.30 Sat Aug 20 16:46:08 MST 2005 | |
167 | - updated docs with recent NIST statement on SHA-1 | |
168 | -- advises use of larger and stronger hash functions | |
169 | (i.e. SHA-224/256/384/512) for new developments | |
170 | ||
171 | 5.29 Sun Aug 14 04:48:34 MST 2005 | |
172 | - added explicit casts in "shaload" routine (ref. "ldvals") | |
173 | -- thanks to E. Allen Smith for pointing out SGI compiler | |
174 | warnings on IPxx-irix platforms | |
175 | - updated docs with cautionary note about SHA-1 | |
176 | ||
177 | 5.28 Wed Nov 10 15:33:20 MST 2004 | |
178 | - provided more flexible formatting of SHA state files | |
179 | -- entries may now contain embedded whitespace | |
180 | for improved readability | |
181 | - minor code cleanups | |
182 | ||
183 | 5.27 Sun Oct 24 02:54:00 MST 2004 | |
184 | - minor code cleanups | |
185 | -- reduces size of dump files for SHA-1/224/256 | |
186 | ||
187 | 5.26 Thu Oct 7 14:52:00 MST 2004 | |
188 | - streamlined distribution | |
189 | -- reduced NIST vector tests from 200 to 20 | |
190 | -- former number was overkill | |
191 | -- distro now downloads and builds more quickly | |
192 | - rewrote SYNOPSIS sections in pod file | |
193 | - made additional tweaks to t/8-shasum.t for portability | |
194 | - cleaned up test scripts | |
195 | ||
196 | 5.25 Sun Sep 12 18:48:00 MST 2004 | |
197 | - removed non-essential test script | |
198 | -- t/8-shasum.t causes problems on sparc64-linux | |
199 | - reverted to using eval "require $module" in shasum | |
200 | ||
201 | 5.24 Sun Sep 12 02:50:18 MST 2004 | |
202 | - modified shasum to use barewords in "require" statements | |
203 | -- ref. perl.cpan.testers (157305) | |
204 | ||
205 | 5.23 Thu Sep 9 23:06:18 MST 2004 | |
206 | - corrected bug in test script | |
207 | -- use blib when invoking perl as an external | |
208 | command in t/8-shasum.t | |
209 | ||
210 | 5.22 Tue Sep 7 19:12:40 MST 2004 | |
211 | - broadened SHA-384/512 support | |
212 | -- to compilers with no ULLONG_MAX in limits.h | |
213 | -- e.g IBM C (xlC 6.0.0) on AIX 4.3.3 | |
214 | -- thanks to Chris Carey for suggestions | |
215 | and technical expertise | |
216 | - improved use of static storage class in transforms | |
217 | -- detection of Intel arch. now done in Makefile.PL | |
218 | -- NB: static not used if compiling for thread safety | |
219 | - minor changes to documentation | |
220 | ||
221 | 5.21 Mon Aug 23 04:02:00 MST 2004 | |
222 | - removed 64-bit constant expressions from #if statements | |
223 | -- ref. src/sha.h (lines 55, 58, and 61) | |
224 | -- even if compiler supports long long's, preprocessor | |
225 | may use long's when evaluating expressions | |
226 | - improved test script for "shasum" (t/8-shasum.t) | |
227 | -- exercises check file option (-c) | |
228 | ||
229 | 5.20 Sun Aug 15 04:24:48 MST 2004 | |
230 | - introduced "shasum" script | |
231 | -- mimics the usage and behavior of "md5sum" | |
232 | -- adds "-a" option to select SHA algorithm | |
233 | -- for help, just type "shasum -h" | |
234 | ||
235 | 5.10 Fri Aug 6 02:04:38 MST 2004 | |
236 | - simplified module documentation | |
237 | -- made it consistent with Digest::SHA::PurePerl docs | |
238 | ||
239 | 5.03 Sat Jul 31 00:00:48 MST 2004 | |
240 | - corrected HMAC-SHA-384/512 bug (cpan #7181, Adam Woodbury) | |
241 | -- code was using hardwired blocksize for SHA-1/256 | |
242 | -- ref. src/hmac.c, src/hmac.h | |
243 | ||
244 | 5.02 Thu Jul 29 02:48:00 MST 2004 | |
245 | - updated documentation and "dump-load.t" test script | |
246 | -- to be consistent with Digest::SHA::PurePerl | |
247 | - included a SIGNATURE file | |
248 | -- for stronger authentication of module contents | |
249 | -- ref. Module::Signature on CPAN | |
250 | - corrected embarrassing misspelling in docs | |
251 | -- apologies to Gisle Aas | |
252 | ||
253 | 5.01 Fri May 21 13:08:12 MST 2004 | |
254 | - check for undefined SHA handle when calling "shaclose()" | |
255 | -- prevents intermittent cleanup errors during | |
256 | global object destruction | |
257 | ||
258 | 5.00 Fri May 14 04:45:00 MST 2004 | |
259 | - minor documentation fixes | |
260 | - restored classical style of version numbering (X.YZ) | |
261 | -- previous X.Y.Z style caused installation difficulties | |
262 | when using CPANPLUS | |
263 | ||
264 | 4.3.3 Wed May 5 00:30:40 MST 2004 | |
265 | - fixed bug in "strto64()" function | |
266 | -- caused problems in state files with CR/LF pairs | |
267 | -- thanks to Martin Thurn for testing support | |
268 | ||
269 | 4.3.2 Wed Apr 28 03:56:00 MST 2004 | |
270 | - added Makefile.PL options | |
271 | -- thread-safety: -t | |
272 | -- exclude 384/512 support: -x | |
273 | -- e.g. perl Makefile.PL -t | |
274 | - temporarily suppress dump/load tests for SHA-384/512 | |
275 | -- pending clarification of problem on sun4u sparc | |
276 | ||
277 | 4.3.1 Thu Mar 4 02:54:00 MST 2004 | |
278 | - removed unused functions from XS file | |
279 | -- reduces size of compiled objects | |
280 | - simplified implementation of Digest::SHA object | |
281 | -- now a blessed SHAPtr ref instead of blessed array ref | |
282 | -- results in slight speed-up of OO operations | |
283 | - streamlined underlying C source | |
284 | -- used macros to consolidate repetitive code | |
285 | - rewrote test scripts to depend on Test rather than Test::More | |
286 | -- allows module to be checked in minimal Perl environments | |
287 | - added compilation option for thread-safety | |
288 | -- overrides use of static arrays | |
289 | ||
290 | 4.3.0 Sat Feb 7 02:58:00 MST 2004 | |
291 | - included SHA-384/512 support if using Microsoft C/C++ | |
292 | -- uses MSVC's __int64 in place of "long long" | |
293 | - enhanced portability and efficiency on diverse platforms | |
294 | -- automatically sets up optimal types for 32/64-bit ops | |
295 | - improved test scripts for better reporting | |
296 | -- many thanks to Alex Muntada for helpful suggestions | |
297 | ||
298 | 4.2.2 Sat Jan 31 17:10:20 MST 2004 | |
299 | - repaired 32-bit SHA operations for 8-byte longs | |
300 | ||
301 | 4.2.1 Sat Jan 24 00:56:54 MST 2004 | |
302 | - modified I/O and memory management in underlying C code | |
303 | -- uses Perl libraries when compiled as CPAN module | |
304 | -- otherwise defaults to ANSI C libraries | |
305 | -- bypasses problems in MSWin multi-threaded Perls | |
306 | -- avoids "Free to wrong pool" error | |
307 | -- special thanks to Robert Gilmour and Brian Gladman | |
308 | for technical guidance and testing | |
309 | ||
310 | 4.2.0 Sat Dec 27 16:08:00 MST 2003 | |
311 | - added support for recently-announced SHA-224 algorithm | |
312 | -- ref. FIPS 180-2 Change Notice 1 | |
313 | -- also includes HMAC-SHA-224 | |
314 | ||
315 | 4.1.0 Thu Dec 25 00:58:00 MST 2003 | |
316 | - repaired "nist-vectors" test scripts for MSWin32 portability | |
317 | -- use binmode for data files | |
318 | ||
319 | 4.0.9 Wed Dec 24 02:58:22 MST 2003 | |
320 | - use canonical file specs in test scripts | |
321 | -- enhances portability across different OSes | |
322 | - modify type declarations of objects in XS file | |
323 | -- re-declare as (SV *) and cast to (AV *) SvRV(self) | |
324 | -- in response to AVPtr problem on MSWin32 | |
325 | ||
326 | 4.0.8 Thu Dec 18 23:32:00 MST 2003 | |
327 | - inherits from Digest::base if installed | |
328 | -- also checks for MIME::Base64 | |
329 | -- still fully-functional if neither are installed | |
330 | - added buffer overflow protection in underlying C code | |
331 | -- ref. shahex() and shabase64() routines | |
332 | -- prior code appeared impossible to exploit, but ... | |
333 | -- better safe than sorry | |
334 | -- does not impact runtime efficiency | |
335 | - minor code cleanup | |
336 | ||
337 | 4.0.7 Sat Dec 13 00:48:24 MST 2003 | |
338 | - check for undefined SHA handle when calling "shaclose()" | |
339 | -- was causing cleanup err during global destruction | |
340 | ||
341 | 4.0.6 Thu Dec 11 02:18:00 MST 2003 | |
342 | - more optimization and streamlining | |
343 | -- a bit faster on non-big-endians (e.g. Intel) | |
344 | - rewrote time-critical functions and methods in XS | |
345 | - removed unused C functions from source files | |
346 | ||
347 | 4.0.5 Sat Dec 6 00:02:24 MST 2003 | |
348 | - performance optimizations | |
349 | -- rewrote "add" method in XS | |
350 | -- unrolled loops in sha256 transform | |
351 | ||
352 | 4.0.4 Thu Dec 4 00:07:00 MST 2003 | |
353 | - made Digest::SHA into a self-contained module | |
354 | -- no longer depends on Digest::base | |
355 | -- more convenient for users | |
356 | -- no need to install Digest:: module | |
357 | ||
358 | 4.0.3 Wed Dec 3 00:01:20 MST 2003 | |
359 | - Digest::SHA now a subclass of Digest::base | |
360 | -- inherits hexdigest/b64digest/addfile methods | |
361 | - added "hashsize" method | |
362 | - removed old "shaopen()/shawrite()/..." legacy code | |
363 | -- in favor of standard, streamlined OO interface | |
364 | - renamed test vector files from NIST | |
365 | -- prevents problems on 8+3 filesystems | |
366 | - added test for Dave Ireland's SHA-256 vector | |
367 | ||
368 | 4.0.0 Sat Nov 29 21:14:09 MST 2003 | |
369 | - major streamlining of interface (hence, major version change) | |
370 | -- coordinated with Gisle Aas and J. Duque | |
371 | -- goal is to produce a single SHA module | |
372 | -- adheres to OO and functional styles of Digest:: | |
373 | -- greatly reduces the number of interface functions | |
374 | -- old functions still supported | |
375 | -- use Digest::SHA ':legacy' | |
376 | -- will be deprecated in near future | |
377 | - rewrote all test scripts to match new interface | |
378 | -- very easy to modify all 281 tests | |
379 | -- old interface maps cleanly to new one | |
380 | ||
381 | 3.0 Wed Nov 26 05:02:34 MST 2003 | |
382 | - added functions that conform to Digest:: interface | |
383 | -- both functional and OO styles | |
384 | -- byte-oriented data only | |
385 | -- continue to support original interface as well | |
386 | -- necessary for bit-oriented data | |
387 | - supplied formal test vectors for HMAC-SHA-256 | |
388 | -- from draft-ietf-ipsec-ciph-sha-256-01.txt | |
389 | - included tests for all OO methods | |
390 | ||
391 | 2.4 Sat Nov 22 17:10:22 MST 2003 | |
392 | - code cleanup | |
393 | -- "sha.c" now completely free of #ifdef's | |
394 | - modularized all 64-bit (long long) code | |
395 | - improved readability of header files | |
396 | - simplified logic of "fixdump" utility | |
397 | ||
398 | 2.3 Wed Nov 19 03:54:31 MST 2003 | |
399 | - minor optimizations and code cleanup | |
400 | -- improved maintainability by reducing #ifdef's | |
401 | -- sha1 transform code now easier to follow | |
402 | - streamlined shadump/shaload file format | |
403 | -- eliminated special "HQ" entry | |
404 | -- state now held in "H" for all transforms | |
405 | -- supplied "fixdump" utility to convert old format | |
406 | - SHA-384/512 functions now return NULL for no 64-bit operations | |
407 | -- previously they were undefined | |
408 | -- no longer necessary to use eval's to test for presence | |
409 | ||
410 | 2.2 Sun Nov 16 01:54:00 MST 2003 | |
411 | - optimized the performance of the SHA-1 transform | |
412 | -- around 20-30% faster than previous version | |
413 | -- achieved by loop unrolling and assignment consolidation | |
414 | - enhanced shaload/shadump to allow interaction with stdin/stdout | |
415 | -- "$filename" argument now optional | |
416 | ||
417 | 2.1 Sun Nov 9 03:28:04 MST 2003 | |
418 | - simplified data input routines | |
419 | -- length argument now optional for byte data | |
420 | (special thanks to Jeffrey Friedl for this idea) | |
421 | -- interface still compatible with earlier versions | |
422 | -- changes will not affect existing client code | |
423 | - streamlined underlying C code for easier maintenance | |
424 | - provided additional tests for persistent data | |
425 | ||
426 | 2.0 Sat Nov 1 03:55:36 MST 2003 | |
427 | - added functions for HMAC-SHA-1/256/384/512 (FIPS PUB 198) | |
428 | - shadump/shaload files now compatible between 32/64-bit machines | |
429 | ||
430 | 1.01 Sat Oct 25 02:44:55 MST 2003 | |
431 | - package now downloads and installs much faster | |
432 | - reduced distribution size by 80% | |
433 | -- pruned extensive NIST vectors to a useful subset | |
434 | -- still possible to test all vectors if desired | |
435 | --- see "t/nist/COPYRIGHT" file for details | |
436 | - added routines to provide persistent storage of SHA states | |
437 | -- shadump() and shaload() | |
438 | - reduced runtime of large bitstring tests (gillogly-hard) | |
439 | -- illustrates usefulness of shadump()/shaload() | |
440 | ||
441 | 1.0 Sat Oct 18 17:35:07 MST 2003 | |
442 | - documentation fixes | |
443 | - code cleanup: no more compiler warnings from gcc -Wall | |
444 | - added code to allow reading of intermediate digest state | |
445 | -- shahex() prior to shafinish() returns current state | |
446 | ||
447 | 0.9 Thu Oct 9 20:43:54 MST 2003 | |
448 | - version updated to reflect portability check and passing | |
449 | of all tests (1401) | |
450 | ||
451 | 0.01 Wed Oct 8 22:28:05 2003 | |
452 | - original version; created by h2xs 1.22 with options | |
453 | -x -A -n Digest::SHA sha.h |