Revision history for Perl extension Digest::SHA.
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