Revision history for Perl extension Digest::SHA.
6.02 Fri Apr 20 16:25:30 MST 2018
-
silenced compiler warnings from VS2017
-
- ref. rt.cpan.org #124477
-
- thanks to Sergey Aleynikov for diagnostics
-
modified addfile to return error when given a directory name
-
- makes behavior consistent with GNU coreutils shaXsum
-
- thanks to Scott Baker for pointing this out
6.01 Mon Dec 25 00:08:08 MST 2017
-
added "--ignore-missing" and "--strict" options to shasum
-
- consistent with GNU coreutils
-
- ref. rt.cpan.org #123897
-
removed PERL_CORE preambles from test scripts
-
- preambles no longer needed for core testing
-
- thanks to Chris Williams for patch
-
- ref. rt.cpan.org #123863
6.00 Fri Dec 8 22:44:44 MST 2017
-
added "tag" option (BSD-style checksums) to shasum
-
- consistent with GNU sha1sum, sha224sum, etc.
-
- thanks to Christopher Tubbs for suggestion
-
modified SHA.pm to use XSLoader
-
- falls back to DynaLoader if necessary
-
decoupled Digest::SHA and Digest::SHA::PurePerl
-
- scripts/tests in each module now fully independent
-
- Digest::SHA::PurePerl to be phased out eventually
-
- past versions will remain available
5.98 Wed Oct 4 00:40:02 MST 2017
-
removed "portable" mode from shasum and addfile
-
- rarely used, mostly in outdated systems
-
- potentially confusing features (e.g. \r\r\n -> \n)
-
- Universal Newlines mode (-U) a much cleaner approach
-
- mimics Universal Newlines in Python
-
shasum now uses Digest::SHA explicitly
-
- no longer loads Digest::SHA::PurePerl as an option
-
- hence no need for -R switch
-
- Digest::SHA::PurePerl has its own shasum: shasumpp
5.97 Wed Sep 6 02:23:02 MST 2017
-
added 'quiet' option to shasum
-
- thanks to Chris David for suggestion and initial patch
-
- ref. rt.cpan.org #122750
-
expanded shasum --help message
-
- to explain use of escaped FILE names
5.96 Wed Jul 27 20:04:34 MST 2016
-
prevented shasum from possibly running malicious code
-
- remove '.' from @INC before module loading
-
- ref. rt.cpan.org #116513
-
namespace cleanup (ref. rt.cpan.org #105371 and #105372)
-
minor code and documentation tweaks
5.95 Sat Jan 10 12:15:36 MST 2015
-
modified the bit-ordering test (ref. t/bitorder.t)
-
- supplied directory-change preamble for CORE builds
5.94 Sat Jan 10 00:45:28 MST 2015
-
added support for threaded builds
-
- PERL_GET_NO_CONTEXT, pTHX_, aTHX_, etc.
-
- employed 'const' storage class where possible
-
- ref. rt.cpan.org #101260
-
simplified shabits() routine (bitwise input buffering)
-
- slightly less efficient but easier to understand
-
- ref. rt.cpan.org #101344
-
minor documentation tweaks and additions
5.93 Sun Oct 26 06:00:48 MST 2014
-
corrected alignment problem in SHA struct (src/sha.h)
-
- thanks to H. Merijn Brand and J. Hietaniemi for
analysis and suggested patch
-
provided workaround in t/methods.t for unreliable -T test
-
- Some Perl 5.8's mistake text for binary
5.92 Sun Jun 1 00:15:44 MST 2014
-
fixed reserved-word clash when compiling with C++
-
- use 'classname' instead of 'class'
-
- ref. SHA.xs (rt.cpan.org #96090)
-
silenced MSC compiler warning about signed/unsigned comparison
-
- ref. SHA.xs (rt.cpan.org #95830)
5.91 Fri May 16 10:21:44 MST 2014
-
restored original 'addfile' for use on opened file handles
-
- allows callbacks in place of actual files
-
- ref. IO::Callback (rt.cpan.org #95643)
-
re-established inheritance from Digest::base
-
- to pick up future Digest enhancements automatically
-
cleaned up documentation
5.90 Wed May 7 07:57:08 MST 2014
-
consolidated all dynamic memory allocation into XSUBs
-
- streamlines referencing of SHA objects
-
- simplifies DESTROYing of objects
-
enhanced Makefile.PL to allow 'use warnings'
-
- automatically reverts to $^W for early Perls
-
scrubbed C and Perl code to remove all compiler warnings
5.89 Sat Apr 19 05:14:48 MST 2014
-
added universal newlines mode ("U") to addfile and shasum
-
- based on Python Universal Newlines concept
-
- newlines identical across MacOS, DOS, and UNIX
-
- will deprecate portable mode ("p") in future
-
- "U" mode is cleaner and more efficient
-
enhanced performance
-
- reduced number of dynamic memory allocations
-
- sped up addfile method with use of C code
-
- ref. SHA.xs (_addfilebin and _addfileuniv)
-
eliminated experimental -M option in favor of new -R option
-
- reverses order of digest module preference
-
- undocumented: for test and development use only
-
sealed memory leak in SHA.xs
-
- arose only with SvPVbyte exceptions during eval
-
patched inheritence bug (ref: rt.cpan.org #94830)
-
- use sv_isobject/sv_derived_from instead of sv_isa
-
added 'allocated' flag to SHA structure (ref. src/sha.h)
-
- to guard against Perl double frees
5.88 Mon Mar 17 08:46:10 MST 2014
-
added OUTPUT clause in SHA.xs to silence compiler warning
-
- ref. shaclose()
-
changed text file test (-T) to act on filehandles
-
- ref. addfile portable mode
-
- improves consistency when reading from STDIN
-
- still must act on filenames for early Perls (< 5.6)
-
added -M and -V options to shasum
-
- undocumented: for development and testing use only
5.87 Mon Feb 17 16:42:02 MST 2014
-
simplified capture of intermediate SHA states
-
- can now be done via strings (ref. getstate/putstate)
-
- substantially reduces size of src/sha.c
-
tightened code in SHA.xs
-
- added sv_isa checks when invoking methods
5.86 Thu Jan 30 08:24:28 MST 2014
-
improved the performance of hexadecimal output functions
-
- ref. 'shahex' in src/sha.c
-
- thanks to Thomas Drugeon for ideas and test script
5.85 Wed Jun 26 04:05:26 MST 2013
-
workaround for repeated calls to shaclose (ref. Bug #86295)
-
- need to explicitly reset internal pointer to NULL
ref. shaclose() in SHA.xs
-
corrected typos in shasum script
-
- ref. Bug #85430
5.84 Sat Mar 9 17:36:08 MST 2013
-
untweaked Makefile.PL to remove dependencies of SHA.c
-
- dependencies were breaking builds on VMS
-
- retaining dependencies provides too little benefit
for cost of portable workaround
5.83 Mon Mar 4 08:12:00 MST 2013
-
removed code for standalone C operation (no longer used)
-
- eliminates need for external symbols
-
- consolidates SHA and HMAC code
-
- reduces size of object files
-
- thanks to Marc Lehmann for suggestions
-
tweaked Makefile.PL to show dependencies of SHA.c
5.82 Thu Jan 24 04:54:12 MST 2013
-
introduced workaround to SvPVbyte bug in Perl 5.6
-
- module behavior now consistent under all Perls 5.6+
-
- ref: new test script t/unicode.t
-
- SHA routines now always croak on wide chars (5.6+)
-
removed "static" message schedules from C code
-
- default "auto" is now just as fast
-
- thread-safe option (-t) no longer necessary
-
- still allowed, but ignored
-
- simplifies source and header files
-
- eliminates SHA_STO_CLASS and SHA_THREAD_SAFE
-
- ref. Bug #82784
-
- thanks to Steve Hay for initial patch
-
provided documentation to describe Unicode handling
-
- ref: Bug #82378
-
updated documentation of NIST statement on SHA-1
5.81 Mon Jan 14 05:17:08 MST 2013
-
corrected load subroutine (SHA.pm) to prevent double-free
-
- Bug #82655: Security issue - segfault
-
- thanks to Victor Efimov and Nicholas Clark
for technical expertise and suggestions
5.80 Mon Dec 10 14:15:26 MST 2012
-
obtained noticeable speedup on Intel/gcc
-
- by setting -O1 and -fomit-frame-pointer
-
- SHA-1 about 63% faster, SHA-2 improves 11-20%
5.74 Sat Nov 24 03:10:18 MST 2012
-
handle wide-string input by converting to bytes first
-
- viz. use SvPVbyte instead of SvPV in SHA.xs
-
- thanks to Eric Brine for summary and code
5.73 Wed Oct 31 04:32:44 MST 2012
-
provided workaround for DEC compiler bug (ref. Makefile.PL)
5.72 Mon Sep 24 15:22:08 MST 2012
-
adjusted module installation directory for later Perls
-
- As of 5.11 Perl searches 'site' first, so use that
-
- ref. INSTALLDIRS in Makefile.PL
-
- thanks to Robert Sedlacek for patch
5.71 Wed Feb 29 04:06:10 MST 2012
-
prevented $! from getting clobbered in _bail() routine
-
- thanks to Zefram for patch
-
added example of BITS mode usage to shasum documentation
5.70 Wed Dec 14 02:32:10 MST 2011
-
added BITS mode to addfile method and shasum
-
- partial-byte inputs now possible via files/STDIN
-
- allows shasum to check all 8074 NIST Msg vectors
-
- previously required special programming
5.63 Tue Nov 8 02:36:42 MST 2011
-
added code to allow very large data inputs all at once
-
- previously limited to several hundred MB at a time
-
- many thanks to Thomas Drugeon for his elegant patch
-
removed outdated reference URLs from several test scripts
-
- these URLs aren't essential, and often go stale
-
- thanks to Leon Brocard for spotting this
-
- ref. rt.cpan.org #68740
5.62 Sat May 14 04:00:34 MST 2011
-
removed unnecessary loading of MIME::Base64 module
-
- thanks to dolmen for pointing this out
5.61 Wed Mar 9 05:26:36 MST 2011
-
corrected bug in 'algorithm' method
-
fixed -x option in Makefile.PL
-
- not often used since it deliberately excludes
all 64-bit SHA transforms
-
addressed minor documentation oversights
5.60 Thu Mar 3 05:26:42 MST 2011
-
added new SHA-512/224 and SHA-512/256 transforms
-
- ref. NIST Draft FIPS 180-4 (February 2011)
-
simplified shasum by removing duplicative text
-
improved efficiency of Addfile
-
- expensive -T test now occurs only in portable mode
5.50 Tue Dec 14 06:20:08 MST 2010
-
adopted convention that '-' always means STDIN
-
- actual filename '-' accessed as './-'
-
- accords with behavior of sha1sum/md5sum
-
corrected undefined subroutine oversight in shasum
-
- inadvertent migration of _bail() from SHA.pm
5.49 Sun Dec 12 07:22:04 MST 2010
-
modified Addfile to accept all POSIX filenames
-
- standard allows all characters except NUL and '/'
-
updated shasum to more closely mimic sha1sum/md5sum
-
- added "backslash processing" to handle newlines
and backslashes in filenames
-
- now accepts all POSIX filenames via Addfile
-
- thanks to Sean Burke for identifying edge cases
5.48 Mon Jan 4 16:32:52 MST 2010
-
fixed "shasum -a0" option (ref. rt.cpan.org #53319)
-
- incorrectly accepted 0 as a valid algorithm
-
- thanks to Zefram for patch
-
updated URL for NIST test vectors
-
- ref. files t/nistbit.t, t/nistbyte.t
-
- thanks to Leon Brocard for patch
5.47 Wed Apr 30 04:00:54 MST 2008
-
modified Makefile.PL to install in core for Perls >= 5.10
-
- thanks to Jerry Hedden for patch
-
changed from #include <> to #include "" in SHA.xs
-
- some platforms not able to find SHA source files
-
- thanks to Alexandr Ciornii for testing
-
moved .pm file to appropriate lib directory
-
minor addition to META.yml
5.46 Wed Apr 9 05:04:00 MST 2008
-
modified Addfile to recognize leading and trailing
whitespace in filenames (ref. rt.cpan.org #34690)
-
minor C source code modification (ref. hmac.c)
-
use const in sha.c for clean builds with -Wwrite-strings
-
- thanks to Robin Barker for patch
5.45 Tue Jun 26 02:36:00 MST 2007
-
extended portability to earlier Perls
-
- works on Perl 5.003 and later
-
- thanks to Jim Doble for testing on legacy platforms
-
updated META.yml to conform to current META spec (1.3)
-
minor documentation fixes
5.44 Sat Oct 14 00:42:44 MST 2006
-
removed SIGNATURE file from distribution
-
- spurious errors from CPANPLUS can break build
-
eliminated ppport.h header file
-
- significantly reduces size of distribution
-
modified C functions in src/hmac.c to use ANSI prototypes
-
- thanks to Jarkko Hietaniemi for patch
5.43 Sat Aug 5 02:36:18 MST 2006
-
undid Perl Best Practice of favoring 3-argument "open"
-
- 3-arg version uses different semantics for "-"
causing bugs in addfile and shasum
-
modified underlying C functions to use ANSI prototypes
-
- requested by Steve Hay (ref. Smoke [5.9.4] 28630)
-
- K&R style was causing numerous warnings from
Borland compiler
5.42 Mon Jul 24 04:04:40 MST 2006
-
minor code changes suggested by Perl::Critic
-
- e.g. no bareword filehandles, no 2-argument open's
-
updated public key (ref. B538C51C)
-
- previous one (0AF563FE) expired July 2, 2006
-
added documentation to warn that Base64 digests are NOT padded
-
- padding must be done by user if interoperability
with other software is required
5.41 Sat Jun 3 01:50:46 MST 2006
-
corrected addfile
-
- process $file argument as a filehandle unless passed
as a SCALAR (which indicates a file name)
5.40 Fri Jun 2 04:00:30 MST 2006
-
modified addfile to accept indirect filehandles
-
- ref. rt.cpan.org #19627 and #19641
5.39 Sun May 28 03:22:24 MST 2006
-
modified shasum to warn rather than die for file errors
-
- to follow conventions of GNU sha1sum/md5sum
5.38 Thu May 25 02:02:02 MST 2006
-
added new capabilities to the "addfile" method
-
- now able to accept file names as well as handles
-
- includes mode for portable digest calculation
-
- thanks to Adam Kennedy for emails and ideas
ref. File::LocalizeNewlines
-
used expanded addfile interface to simplify shasum (sumfile)
-
- regex a tad less general than 5.37, but handles all
known newline variants in UNIX/Windows/MacOS
-
enhanced WARNING messages from shasum checkfile processing
-
- to mimic behavior of md5sum
5.37 Mon May 8 04:30:09 MST 2006
-
modified shasum to avoid file slurping (ref. sub sumfile)
-
improved error handling of checksum files in shasum
-
- to better mimic the behavior of md5sum
-
refined line-break regex in shasum (ref. sub sumfile)
-
- catches multiple CR's preceding LF
thanks to Gisle Aas for suggested patch
-
changed loop vars to signed int's in shadump (ref. src/sha.c)
-
- to prevent type mismatch warnings
5.36 Mon May 8 01:38:36 MST 2006
-
fixed the "portable" option in shasum
-
- normalize line-breaks in text files only
5.35 Thu May 4 16:54:42 MST 2006
-
added "portable" option to shasum
-
- to make digests match across Windows/Unix/MacOS
-
enabled bundling of shasum command line options
-
- to mimic behavior of md5sum
-
removed \r's from text files in t/nist directory
-
- resolves SIGNATURE clashes (rt.cpan.org #18983)
-
changed suffix on SHA64_MAX (src/sha.h) to ULL
-
- eliminates gcc warnings (rt.cpan.org #18988)
-
specified minimum Perl version for module and Makefile.PL
-
- closes rt.cpan.org #18984
5.34 Thu Feb 2 18:55:40 MST 2006
-
removed Unix-style pathnames in test scripts
-
- causing problems on OpenVMS
-
- thanks to Steve Peters for patch
-
included latest version of Perl Portability header (ppport.h)
-
added PERL_CORE check to test scripts
-
- allows module to be built into Perl distribution
5.32 Fri Dec 2 02:32:20 MST 2005
-
added POD section to shasum script
-
- thanks to Gunnar Wolf for patch
-
made minor code changes to silence compiler warnings
-
- resulting from signed/unsigned integer mixing
-
inserted code in test scripts for POD checking
-
- to recover gracefully if Test::More isn't installed
5.31 Mon Sep 5 00:52:42 MST 2005
-
added standard tests for pod and pod-coverage checking
-
inserted subtest to check for failure when using
unrecognized SHA algorithm
5.30 Sat Aug 20 16:46:08 MST 2005
-
updated docs with recent NIST statement on SHA-1
-
- advises use of larger and stronger hash functions
(i.e. SHA-224/256/384/512) for new developments
5.29 Sun Aug 14 04:48:34 MST 2005
-
added explicit casts in "shaload" routine (ref. "ldvals")
-
- thanks to E. Allen Smith for pointing out SGI compiler
warnings on IPxx-irix platforms
-
updated docs with cautionary note about SHA-1
5.28 Wed Nov 10 15:33:20 MST 2004
-
provided more flexible formatting of SHA state files
-
- entries may now contain embedded whitespace
for improved readability
-
minor code cleanups
5.27 Sun Oct 24 02:54:00 MST 2004
-
minor code cleanups
-
- reduces size of dump files for SHA-1/224/256
5.26 Thu Oct 7 14:52:00 MST 2004
-
streamlined distribution
-
- reduced NIST vector tests from 200 to 20
-
- former number was overkill
-
- distro now downloads and builds more quickly
-
rewrote SYNOPSIS sections in pod file
-
made additional tweaks to t/8-shasum.t for portability
-
cleaned up test scripts
5.25 Sun Sep 12 18:48:00 MST 2004
-
removed non-essential test script
-
- t/8-shasum.t causes problems on sparc64-linux
-
reverted to using eval "require $module" in shasum
5.24 Sun Sep 12 02:50:18 MST 2004
-
modified shasum to use barewords in "require" statements
-
- ref. perl.cpan.testers (157305)
5.23 Thu Sep 9 23:06:18 MST 2004
-
corrected bug in test script
-
- use blib when invoking perl as an external
command in t/8-shasum.t
5.22 Tue Sep 7 19:12:40 MST 2004
-
broadened SHA-384/512 support
-
- to compilers with no ULLONG_MAX in limits.h
-
- e.g IBM C (xlC 6.0.0) on AIX 4.3.3
-
- thanks to Chris Carey for suggestions
and technical expertise
-
improved use of static storage class in transforms
-
- detection of Intel arch. now done in Makefile.PL
-
- NB: static not used if compiling for thread safety
-
minor changes to documentation
5.21 Mon Aug 23 04:02:00 MST 2004
-
removed 64-bit constant expressions from #if statements
-
- ref. src/sha.h (lines 55, 58, and 61)
-
- even if compiler supports long long's, preprocessor
may use long's when evaluating expressions
-
improved test script for "shasum" (t/8-shasum.t)
-
- exercises check file option (-c)
5.20 Sun Aug 15 04:24:48 MST 2004
-
introduced "shasum" script
-
- mimics the usage and behavior of "md5sum"
-
- adds "-a" option to select SHA algorithm
-
- for help, just type "shasum -h"
5.10 Fri Aug 6 02:04:38 MST 2004
-
simplified module documentation
-
- made it consistent with Digest::SHA::PurePerl docs
5.03 Sat Jul 31 00:00:48 MST 2004
-
corrected HMAC-SHA-384/512 bug (cpan #7181, Adam Woodbury)
-
- code was using hardwired blocksize for SHA-1/256
-
- ref. src/hmac.c, src/hmac.h
5.02 Thu Jul 29 02:48:00 MST 2004
-
updated documentation and "dump-load.t" test script
-
- to be consistent with Digest::SHA::PurePerl
-
included a SIGNATURE file
-
- for stronger authentication of module contents
-
- ref. Module::Signature on CPAN
-
corrected embarrassing misspelling in docs
-
- apologies to Gisle Aas
5.01 Fri May 21 13:08:12 MST 2004
-
check for undefined SHA handle when calling "shaclose()"
-
- prevents intermittent cleanup errors during
global object destruction
5.00 Fri May 14 04:45:00 MST 2004
-
minor documentation fixes
-
restored classical style of version numbering (X.YZ)
-
- previous X.Y.Z style caused installation difficulties
when using CPANPLUS
4.3.3 Wed May 5 00:30:40 MST 2004
-
fixed bug in "strto64()" function
-
- caused problems in state files with CR/LF pairs
-
- thanks to Martin Thurn for testing support
4.3.2 Wed Apr 28 03:56:00 MST 2004
-
added Makefile.PL options
-
- thread-safety: -t
-
- exclude 384/512 support: -x
-
- e.g. perl Makefile.PL -t
-
temporarily suppress dump/load tests for SHA-384/512
-
- pending clarification of problem on sun4u sparc
4.3.1 Thu Mar 4 02:54:00 MST 2004
-
removed unused functions from XS file
-
- reduces size of compiled objects
-
simplified implementation of Digest::SHA object
-
- now a blessed SHAPtr ref instead of blessed array ref
-
- results in slight speed-up of OO operations
-
streamlined underlying C source
-
- used macros to consolidate repetitive code
-
rewrote test scripts to depend on Test rather than Test::More
-
- allows module to be checked in minimal Perl environments
-
added compilation option for thread-safety
-
- overrides use of static arrays
4.3.0 Sat Feb 7 02:58:00 MST 2004
-
included SHA-384/512 support if using Microsoft C/C++
-
- uses MSVC's __int64 in place of "long long"
-
enhanced portability and efficiency on diverse platforms
-
- automatically sets up optimal types for 32/64-bit ops
-
improved test scripts for better reporting
-
- many thanks to Alex Muntada for helpful suggestions
4.2.2 Sat Jan 31 17:10:20 MST 2004
-
repaired 32-bit SHA operations for 8-byte longs
4.2.1 Sat Jan 24 00:56:54 MST 2004
-
modified I/O and memory management in underlying C code
-
- uses Perl libraries when compiled as CPAN module
-
- otherwise defaults to ANSI C libraries
-
- bypasses problems in MSWin multi-threaded Perls
-
- avoids "Free to wrong pool" error
-
- special thanks to Robert Gilmour and Brian Gladman
for technical guidance and testing
4.2.0 Sat Dec 27 16:08:00 MST 2003
-
added support for recently-announced SHA-224 algorithm
-
- ref. FIPS 180-2 Change Notice 1
-
- also includes HMAC-SHA-224
4.1.0 Thu Dec 25 00:58:00 MST 2003
-
repaired "nist-vectors" test scripts for MSWin32 portability
-
- use binmode for data files
4.0.9 Wed Dec 24 02:58:22 MST 2003
-
use canonical file specs in test scripts
-
- enhances portability across different OSes
-
modify type declarations of objects in XS file
-
- re-declare as (SV *) and cast to (AV *) SvRV(self)
-
- in response to AVPtr problem on MSWin32
4.0.8 Thu Dec 18 23:32:00 MST 2003
-
inherits from Digest::base if installed
-
- also checks for MIME::Base64
-
- still fully-functional if neither are installed
-
added buffer overflow protection in underlying C code
-
- ref. shahex() and shabase64() routines
-
- prior code appeared impossible to exploit, but ...
-
- better safe than sorry
-
- does not impact runtime efficiency
-
minor code cleanup
4.0.7 Sat Dec 13 00:48:24 MST 2003
-
check for undefined SHA handle when calling "shaclose()"
-
- was causing cleanup err during global destruction
4.0.6 Thu Dec 11 02:18:00 MST 2003
-
more optimization and streamlining
-
- a bit faster on non-big-endians (e.g. Intel)
-
rewrote time-critical functions and methods in XS
-
removed unused C functions from source files
4.0.5 Sat Dec 6 00:02:24 MST 2003
-
performance optimizations
-
- rewrote "add" method in XS
-
- unrolled loops in sha256 transform
4.0.4 Thu Dec 4 00:07:00 MST 2003
-
made Digest::SHA into a self-contained module
-
- no longer depends on Digest::base
-
- more convenient for users
-
- no need to install Digest:: module
4.0.3 Wed Dec 3 00:01:20 MST 2003
-
Digest::SHA now a subclass of Digest::base
-
- inherits hexdigest/b64digest/addfile methods
-
added "hashsize" method
-
removed old "shaopen()/shawrite()/..." legacy code
-
- in favor of standard, streamlined OO interface
-
renamed test vector files from NIST
-
- prevents problems on 8+3 filesystems
-
added test for Dave Ireland's SHA-256 vector
4.0.0 Sat Nov 29 21:14:09 MST 2003
-
major streamlining of interface (hence, major version change)
-
- coordinated with Gisle Aas and J. Duque
-
- goal is to produce a single SHA module
-
- adheres to OO and functional styles of Digest::
-
- greatly reduces the number of interface functions
-
- old functions still supported
-
- use Digest::SHA ':legacy'
-
- will be deprecated in near future
-
rewrote all test scripts to match new interface
-
- very easy to modify all 281 tests
-
- old interface maps cleanly to new one
3.0 Wed Nov 26 05:02:34 MST 2003
-
added functions that conform to Digest:: interface
-
- both functional and OO styles
-
- byte-oriented data only
-
- continue to support original interface as well
-
- necessary for bit-oriented data
-
supplied formal test vectors for HMAC-SHA-256
-
- from draft-ietf-ipsec-ciph-sha-256-01.txt
-
included tests for all OO methods
2.4 Sat Nov 22 17:10:22 MST 2003
-
code cleanup
-
- "sha.c" now completely free of #ifdef's
-
modularized all 64-bit (long long) code
-
improved readability of header files
-
simplified logic of "fixdump" utility
2.3 Wed Nov 19 03:54:31 MST 2003
-
minor optimizations and code cleanup
-
- improved maintainability by reducing #ifdef's
-
- sha1 transform code now easier to follow
-
streamlined shadump/shaload file format
-
- eliminated special "HQ" entry
-
- state now held in "H" for all transforms
-
- supplied "fixdump" utility to convert old format
-
SHA-384/512 functions now return NULL for no 64-bit operations
-
- previously they were undefined
-
- no longer necessary to use eval's to test for presence
2.2 Sun Nov 16 01:54:00 MST 2003
-
optimized the performance of the SHA-1 transform
-
- around 20-30% faster than previous version
-
- achieved by loop unrolling and assignment consolidation
-
enhanced shaload/shadump to allow interaction with stdin/stdout
-
- "$filename" argument now optional
2.1 Sun Nov 9 03:28:04 MST 2003
-
simplified data input routines
-
- length argument now optional for byte data
(special thanks to Jeffrey Friedl for this idea)
-
- interface still compatible with earlier versions
-
- changes will not affect existing client code
-
streamlined underlying C code for easier maintenance
-
provided additional tests for persistent data
2.0 Sat Nov 1 03:55:36 MST 2003
-
added functions for HMAC-SHA-1/256/384/512 (FIPS PUB 198)
-
shadump/shaload files now compatible between 32/64-bit machines
1.01 Sat Oct 25 02:44:55 MST 2003
-
package now downloads and installs much faster
-
reduced distribution size by 80%
-
- pruned extensive NIST vectors to a useful subset
-
- still possible to test all vectors if desired
-
-- see "t/nist/COPYRIGHT" file for details
-
added routines to provide persistent storage of SHA states
-
- shadump() and shaload()
-
reduced runtime of large bitstring tests (gillogly-hard)
-
- illustrates usefulness of shadump()/shaload()
1.0 Sat Oct 18 17:35:07 MST 2003
-
documentation fixes
-
code cleanup: no more compiler warnings from gcc -Wall
-
added code to allow reading of intermediate digest state
-
- shahex() prior to shafinish() returns current state
0.9 Thu Oct 9 20:43:54 MST 2003
-
version updated to reflect portability check and passing
of all tests (1401)
0.01 Wed Oct 8 22:28:05 2003
-
original version; created by h2xs 1.22 with options
-
x -A -n Digest::SHA sha.h