Commit Graph

25 Commits

Author SHA1 Message Date
7ecd2be453 Add asdf system definition. 2012-10-23 02:35:52 +02:00
157eb9e5eb Add md5sum-string support for AllegroCL. 2012-10-23 02:11:28 +02:00
88d10b54c7 Add implementation of md5sum-string to handle external-format encoding.
This is compatible to the SBCL addition of the same name and signature.
The current implementation supports CMUCL, SBCL, CCL and LispWorks
external-format handling, as well as identity transform for 8bit
characters in other implementations.
2012-10-23 02:01:16 +02:00
a2869d8106 Update comment to match history and current state, add MD5 warning. 2012-10-23 00:00:31 +02:00
55b8b3ff8c Remove historical tabs from source code. 2012-10-22 14:45:06 +02:00
2d2ea145bf Regularize use of keywords in #+/#- complex conditionals. 2012-10-22 14:43:01 +02:00
6ee9356e15 Changed non-conforming defconstant to defparameter forms in test code. 2012-10-21 18:53:07 +02:00
a621e57d94 Integrated Lispworks-specific optimizations, refactored types a bit.
This is based on the LW4.4 port of MD5 by Dmitriy Ivanov, with some
modernizations and fixes/updates for newer LW.
2012-10-21 00:46:39 +02:00
8cecc7c4cd Add missing eval-when :execute for sbcl *features* frobbing. 2012-10-20 14:07:50 +02:00
81e33f2983 Added SBCL-specific changes from sb-md5, including fillpointer-fix for cmu. 2012-10-18 02:47:30 +02:00
e80c820384 Enhance test code for incremental sums and portable character codes.
Previously the test cases relied on ASCII coding for characters, and
didn't test incremental byte by byte checksum calculations.
2012-10-15 21:52:35 +02:00
628d499750 Ensure fix for small blocks works with md5-small-length feature.
Based on my different fix for the small blocks issue, which got
integrated into cl-md5 but not sbcl.
2012-10-15 02:30:28 +02:00
3dfb0b9be4 Incorporate fix for partial updates ending on rest boundaries from sbcl.
In all previous versions, if an update-md5-state call received a
sequence which exactly filled a partially filled buffer, then that
buffer block was ignored and the agregate data not updated.
2012-10-15 01:46:12 +02:00
2b771017bb Wrap buffer-size defconstant in eval-when (via cl-md5).
This aids portability, especially to allegro and openmcl.
2012-10-15 00:09:56 +02:00
fac706f678 Fix portable implementation of i (via sbcl and cl-md5). 2012-10-14 22:51:51 +02:00
a8ca1dab84 Make md5 case-mode agnostic (via kmr and ironclad repositories). 2012-10-14 15:50:14 +02:00
22c6de3856 Change CVS id comment identifier to work for new git repository. 2012-10-14 15:48:02 +02:00
a796b11031 Fixed a stupid thinko in the padding routine, as reported by Edi Weitz.
Since the code in question was needlessly convoluted, rewrote those
sections to make them clearer.  Added another test-suite to test whether
padding works correctly, when compared with md5sum.
2012-10-14 15:14:04 +02:00
b06a3a4106 Added ID comment, and fixed doc-string for finalize-md5-state. 2012-10-14 15:13:28 +02:00
7e01799738 This fixes the code to properly work when being loaded uncompiled into
CMU CL, as noted by John Wiseman.
2012-10-14 15:12:48 +02:00
a1e871e191 First production-quality release:
o This takes on board comments by Raymond Toy, and drops optimizations
  and implementation-specific cruft that isn't really needed.
o The code has been reorganized quite a bit, to better expose the
  structure
o md5-checksum is renamed to md5-digest.
o Added doc-strings and comments where necessary, added documentation to
  the file comment.
o Added md5sum-sequence function.
o Fixed restriction on <512MB of input, we now support unlimited amounts
  of input, as required by the spec.  Since this causes one possibly
  bignum addition per call to update-md5-block, the user can revert
  to the old behaviour by putting :md5-small-length on *features* prior
  to compiling/loading the code.
o Added test suite that is contained in Appendix A.5 of RFC 1321.
2012-10-14 15:11:52 +02:00
c4a361dd23 First release that works on big-endian CMU CL releases. Should also work
on other ANSI CL implementations, but quite suboptimally, of course.
2012-10-14 15:09:36 +02:00
576ae1de32 Actually this release was the first public release. It switches over to
using kernel:32bit-logical-* instead of the silly signed-byte acrobatics
that were previously needed to get the various logical and ash operations
optimized.  Also added rudimentary file-comment.
2012-10-14 15:07:41 +02:00
084b01d33a Initial public release, which moved to simple-array representation of
working state (md5-regs).  This is the first release that doesn't cons
for normal operations.  Posted on cmucl-help on 2001-11-09.
2012-10-14 15:06:46 +02:00
dd04aa4b1e Initial version of MD5 code, using multiple-values, which we abandoned
due to boxing on each call to update-md5-block (might have been caused
by missing inline declaration for that function).
2012-10-14 15:04:12 +02:00