Author: hhubner
Date: 2007-10-02 21:20:42 -0400 (Tue, 02 Oct 2007)
New Revision: 2178
Added:
branches/bos/bknr/src/bknr-xml.asd
branches/bos/bknr/src/xml/
branches/bos/bknr/src/xml/package.lisp
branches/bos/bknr/src/xml/xml.lisp
Removed:
branches/bos/thirdparty/ironclad/digest.lisp.orig
branches/bos/thirdparty/ironclad/package.lisp.orig
Modified:
branches/bos/bknr/src/bknr-impex.asd
branches/bos/bknr/src/bknr-utils.asd
branches/bos/bknr/src/bknr.asd
branches/bos/bknr/src/indices/package.lisp
branches/bos/bknr/src/packages.lisp
branches/bos/bknr/src/utils/package.lisp
branches/bos/bknr/src/utils/utils.lisp
branches/bos/bknr/src/utils/xml.lisp
branches/bos/bknr/src/xml-impex/package.lisp
branches/bos/projects/bos/worldpay-test/utils.lisp
Log:
Patch from Kamen Tomov to isolate CXML from the datastore. In order to get
this compiled, I moved FIND-ALL from the BOS project to bknr/src/utils.
Modified: branches/bos/bknr/src/bknr-impex.asd
===================================================================
--- branches/bos/bknr/src/bknr-impex.asd 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/bknr-impex.asd 2007-10-03 01:20:42 UTC (rev 2178)
@@ -21,7 +21,7 @@
:description "BKNR XML import/export"
:long-description ""
- :depends-on (:cl-interpol :cxml :bknr-utils :bknr-indices)
+ :depends-on (:cl-interpol :cxml :bknr-utils :bknr-xml :bknr-indices)
:components ((:module "xml-impex"
:components
Modified: branches/bos/bknr/src/bknr-utils.asd
===================================================================
--- branches/bos/bknr/src/bknr-utils.asd 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/bknr-utils.asd 2007-10-03 01:20:42 UTC (rev 2178)
@@ -17,7 +17,6 @@
:description "baikonour - launchpad for lisp satellites"
:depends-on (:cl-interpol :cl-ppcre
- :cxml
:md5
#+(not allegro)
:acl-compat
@@ -37,7 +36,6 @@
(:file "base64" :depends-on ("utils"))
(:file "capability" :depends-on ("utils"))
(:file "make-fdf-file" :depends-on ("utils"))
- (:file "xml" :depends-on ("utils"))
(:file "date-calc")
(:file "acl-mp-compat" :depends-on ("package"))))))
Added: branches/bos/bknr/src/bknr-xml.asd
===================================================================
--- branches/bos/bknr/src/bknr-xml.asd 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/bknr-xml.asd 2007-10-03 01:20:42 UTC (rev 2178)
@@ -0,0 +1,42 @@
+;; -*-Lisp-*-
+
+(in-package :cl-user)
+
+(defpackage :bknr.xml.system
+ (:use :cl :asdf))
+
+(in-package :bknr.xml.system)
+
+(defsystem :bknr-xml
+ :name "baikonour"
+ :author "Hans Huebner <hans(a)huebner.org>"
+ :author "Manuel Odendahl <manuel(a)bl0rg.net>"
+ :version "0"
+ :maintainer "Manuel Odendahl <manuel(a)bl0rg.net>"
+ :licence "BSD"
+ :description "baikonour - launchpad for lisp satellites"
+ :depends-on (:cl-interpol :cxml)
+ :components ((:module "xml" :components ((:file "package")
+ (:file "xml")))))
+
+;; -*-Lisp-*-
+
+(in-package :cl-user)
+
+(defpackage :bknr.xml.system
+ (:use :cl :asdf))
+
+(in-package :bknr.xml.system)
+
+(defsystem :bknr-xml
+ :name "baikonour"
+ :author "Hans Huebner <hans(a)huebner.org>"
+ :author "Manuel Odendahl <manuel(a)bl0rg.net>"
+ :version "0"
+ :maintainer "Manuel Odendahl <manuel(a)bl0rg.net>"
+ :licence "BSD"
+ :description "baikonour - launchpad for lisp satellites"
+ :depends-on (:cl-interpol :cxml)
+ :components ((:module "xml" :components ((:file "package")
+ (:file "xml")))))
+
Modified: branches/bos/bknr/src/bknr.asd
===================================================================
--- branches/bos/bknr/src/bknr.asd 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/bknr.asd 2007-10-03 01:20:42 UTC (rev 2178)
@@ -28,6 +28,7 @@
:cxml
:unit-test
:bknr-utils
+ :bknr-xml
:puri
;:stem
;:mime
Modified: branches/bos/bknr/src/indices/package.lisp
===================================================================
--- branches/bos/bknr/src/indices/package.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/indices/package.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -6,7 +6,6 @@
#+cmu :ext
#+sbcl :sb-ext
:cl-user
- :cxml
:bknr.utils
:bknr.skip-list
#+allegro :aclmop
Modified: branches/bos/bknr/src/packages.lisp
===================================================================
--- branches/bos/bknr/src/packages.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/packages.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -26,7 +26,7 @@
#:start-cron))
(defpackage :bknr.rss
- (:use :cl :cl-user :cl-ppcre :bknr.utils :puri :cxml-xmls :bknr.datastore :bknr.indices :cxml)
+ (:use :cl :cl-user :cl-ppcre :bknr.utils :bknr.xml :puri :cxml-xmls :bknr.datastore :bknr.indices :cxml)
(:export #:xml-escape
#:*img-src-scanner*
#:*a-href-scanner*
@@ -192,6 +192,7 @@
:bknr.indices
:bknr.impex
:bknr.utils
+ :bknr.xml
:bknr.events
:bknr.user)
(:shadowing-import-from :cl-interpol #:quote-meta-chars)
Modified: branches/bos/bknr/src/utils/package.lisp
===================================================================
--- branches/bos/bknr/src/utils/package.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/utils/package.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -4,7 +4,6 @@
(:use :cl
:cl-ppcre
:cl-interpol
- :cxml-xmls
:md5
#+cmu :extensions
; #+sbcl :sb-ext
@@ -122,15 +121,6 @@
#:string-beginning-with-p
#:string-delimited-by-p
- ;; xml
- #:node-children-nodes
- #:find-child
- #:find-children
- #:node-string-body
- #:node-attribute
- #:node-child-string-body
- #:node-to-html
-
;; crypt-md5
#:crypt-md5
#:verify-md5-password
@@ -150,4 +140,7 @@
#:mp-with-recursive-lock-held
;; class utils
- #:class-subclasses))
+ #:class-subclasses
+
+ ;; norvig
+ #:find-all))
Modified: branches/bos/bknr/src/utils/utils.lisp
===================================================================
--- branches/bos/bknr/src/utils/utils.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/utils/utils.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -545,4 +545,15 @@
(format nil "~3,1F KB" (/ byte-count 1024)))
(t
(format nil "~A" byte-count))))
-
\ No newline at end of file
+
+;;; from norvig
+(defun find-all (item sequence &rest keyword-args
+ &key (test #'eql) test-not &allow-other-keys)
+ "Find all those elements of sequence that match item,
+ according to the keywords. Doesn't alter sequence."
+ (if test-not
+ (apply #'remove item sequence
+ :test-not (complement test-not) keyword-args)
+ (apply #'remove item sequence
+ :test (complement test) keyword-args)))
+
Modified: branches/bos/bknr/src/utils/xml.lisp
===================================================================
--- branches/bos/bknr/src/utils/xml.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/utils/xml.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -1,63 +0,0 @@
-(in-package :bknr.utils)
-
-(defun node-children-nodes (xml)
- (remove-if-not #'consp (node-children xml)))
-
-(defun find-child (xml node-name)
- (let ((children (node-children-nodes xml)))
- (find node-name children :test #'string-equal :key #'node-name)))
-
-(defun find-children (xml node-name)
- (let ((children (node-children-nodes xml)))
- (find-all node-name children :test #'string-equal :key #'node-name)))
-
-(defun node-string-body (xml)
- (let ((children (remove-if #'consp (node-children xml))))
- (if (every #'stringp children)
- (apply #'concatenate 'string children)
- (error "Some children are not strings"))))
-
-(defun node-attribute (xml attribute-name)
- (cadr (assoc attribute-name (node-attrs xml) :test #'string-equal)))
-
-(defun node-child-string-body (xml node-name)
- (let ((child (find-child xml node-name)))
- (if (and child (consp child))
- (node-string-body child)
- nil)))
-
-(defun node-to-html (node &optional (stream *standard-output*))
- (when (stringp node)
- (write-string node)
- (return-from node-to-html))
- (write-char #\< stream)
- (when (node-ns node)
- (write-string (node-ns node) stream)
- (write-char #\: stream))
- (write-string (node-name node) stream)
- (loop for (key value) in (node-attrs node)
- do (write-char #\Space stream)
- (write-string key stream)
- (write-char #\= stream)
- (write-char #\" stream)
- (write-string value stream)
- (write-char #\" stream))
- (if (node-children node)
- (progn
- (write-char #\> stream)
- (write-char #\Newline stream)
- (dolist (child (node-children node))
- (node-to-html child stream))
- (write-char #\< stream)
- (write-char #\/ stream)
- (when (node-ns node)
- (write-string (node-ns node) stream)
- (write-char #\: stream))
- (write-string (node-name node) stream)
- (write-char #\> stream)
- (write-char #\Newline stream))
- (progn (write-char #\Space stream)
- (write-char #\/ stream)
- (write-char #\> stream)
- (write-char #\Newline stream))))
-
Added: branches/bos/bknr/src/xml/package.lisp
===================================================================
--- branches/bos/bknr/src/xml/package.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/xml/package.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -0,0 +1,16 @@
+(in-package :cl-user)
+
+(defpackage :bknr.xml
+ (:use :cl
+ :cl-ppcre
+ :cl-interpol
+ :cxml-xmls)
+ (:shadowing-import-from :cl-interpol "QUOTE-META-CHARS")
+ (:export
+ #:node-children-nodes
+ #:find-child
+ #:find-children
+ #:node-string-body
+ #:node-attribute
+ #:node-child-string-body
+ #:node-to-html))
Added: branches/bos/bknr/src/xml/xml.lisp
===================================================================
--- branches/bos/bknr/src/xml/xml.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/xml/xml.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -0,0 +1,126 @@
+(in-package :bknr.xml)
+
+(defun node-children-nodes (xml)
+ (remove-if-not #'consp (node-children xml)))
+
+(defun find-child (xml node-name)
+ (let ((children (node-children-nodes xml)))
+ (find node-name children :test #'string-equal :key #'node-name)))
+
+(defun find-children (xml node-name)
+ (let ((children (node-children-nodes xml)))
+ (find-all node-name children :test #'string-equal :key #'node-name)))
+
+(defun node-string-body (xml)
+ (let ((children (remove-if #'consp (node-children xml))))
+ (if (every #'stringp children)
+ (apply #'concatenate 'string children)
+ (error "Some children are not strings"))))
+
+(defun node-attribute (xml attribute-name)
+ (cadr (assoc attribute-name (node-attrs xml) :test #'string-equal)))
+
+(defun node-child-string-body (xml node-name)
+ (let ((child (find-child xml node-name)))
+ (if (and child (consp child))
+ (node-string-body child)
+ nil)))
+
+(defun node-to-html (node &optional (stream *standard-output*))
+ (when (stringp node)
+ (write-string node)
+ (return-from node-to-html))
+ (write-char #\< stream)
+ (when (node-ns node)
+ (write-string (node-ns node) stream)
+ (write-char #\: stream))
+ (write-string (node-name node) stream)
+ (loop for (key value) in (node-attrs node)
+ do (write-char #\Space stream)
+ (write-string key stream)
+ (write-char #\= stream)
+ (write-char #\" stream)
+ (write-string value stream)
+ (write-char #\" stream))
+ (if (node-children node)
+ (progn
+ (write-char #\> stream)
+ (write-char #\Newline stream)
+ (dolist (child (node-children node))
+ (node-to-html child stream))
+ (write-char #\< stream)
+ (write-char #\/ stream)
+ (when (node-ns node)
+ (write-string (node-ns node) stream)
+ (write-char #\: stream))
+ (write-string (node-name node) stream)
+ (write-char #\> stream)
+ (write-char #\Newline stream))
+ (progn (write-char #\Space stream)
+ (write-char #\/ stream)
+ (write-char #\> stream)
+ (write-char #\Newline stream))))
+
+(in-package :bknr.xml)
+
+(defun node-children-nodes (xml)
+ (remove-if-not #'consp (node-children xml)))
+
+(defun find-child (xml node-name)
+ (let ((children (node-children-nodes xml)))
+ (find node-name children :test #'string-equal :key #'node-name)))
+
+(defun find-children (xml node-name)
+ (let ((children (node-children-nodes xml)))
+ (find-all node-name children :test #'string-equal :key #'node-name)))
+
+(defun node-string-body (xml)
+ (let ((children (remove-if #'consp (node-children xml))))
+ (if (every #'stringp children)
+ (apply #'concatenate 'string children)
+ (error "Some children are not strings"))))
+
+(defun node-attribute (xml attribute-name)
+ (cadr (assoc attribute-name (node-attrs xml) :test #'string-equal)))
+
+(defun node-child-string-body (xml node-name)
+ (let ((child (find-child xml node-name)))
+ (if (and child (consp child))
+ (node-string-body child)
+ nil)))
+
+(defun node-to-html (node &optional (stream *standard-output*))
+ (when (stringp node)
+ (write-string node)
+ (return-from node-to-html))
+ (write-char #\< stream)
+ (when (node-ns node)
+ (write-string (node-ns node) stream)
+ (write-char #\: stream))
+ (write-string (node-name node) stream)
+ (loop for (key value) in (node-attrs node)
+ do (write-char #\Space stream)
+ (write-string key stream)
+ (write-char #\= stream)
+ (write-char #\" stream)
+ (write-string value stream)
+ (write-char #\" stream))
+ (if (node-children node)
+ (progn
+ (write-char #\> stream)
+ (write-char #\Newline stream)
+ (dolist (child (node-children node))
+ (node-to-html child stream))
+ (write-char #\< stream)
+ (write-char #\/ stream)
+ (when (node-ns node)
+ (write-string (node-ns node) stream)
+ (write-char #\: stream))
+ (write-string (node-name node) stream)
+ (write-char #\> stream)
+ (write-char #\Newline stream))
+ (progn (write-char #\Space stream)
+ (write-char #\/ stream)
+ (write-char #\> stream)
+ (write-char #\Newline stream))))
+
Modified: branches/bos/bknr/src/xml-impex/package.lisp
===================================================================
--- branches/bos/bknr/src/xml-impex/package.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/bknr/src/xml-impex/package.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -13,6 +13,7 @@
#+sbcl
:sb-pcl
:bknr.utils
+ :bknr.xml
:bknr.indices)
(:export #:xml-class
Modified: branches/bos/projects/bos/worldpay-test/utils.lisp
===================================================================
--- branches/bos/projects/bos/worldpay-test/utils.lisp 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/projects/bos/worldpay-test/utils.lisp 2007-10-03 01:20:42 UTC (rev 2178)
@@ -260,17 +260,6 @@
((funcall test i num)
(append l (nreverse smaller)))))
-;;; from norvig
-(defun find-all (item sequence &rest keyword-args
- &key (test #'eql) test-not &allow-other-keys)
- "Find all those elements of sequence that match item,
- according to the keywords. Doesn't alter sequence."
- (if test-not
- (apply #'remove item sequence
- :test-not (complement test-not) keyword-args)
- (apply #'remove item sequence
- :test (complement test) keyword-args)))
-
;;; hash table
(defun hash-to-list (hash &key (key #'cdr) (compare #'>) num)
(let ((results (sort (loop for key being the hash-key of hash using (hash-value val)
Deleted: branches/bos/thirdparty/ironclad/digest.lisp.orig
===================================================================
--- branches/bos/thirdparty/ironclad/digest.lisp.orig 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/thirdparty/ironclad/digest.lisp.orig 2007-10-03 01:20:42 UTC (rev 2178)
@@ -1,196 +0,0 @@
-;;;; digest.lisp -- common functions for hashing
-
-(in-package :crypto)
-
-
-;;; defining digest (hash) functions
-
-;;; general inlinable functions for implementing the higher-level functions
-
-(declaim (inline digest-sequence-body digest-stream-body digest-file-body))
-
-(defun digest-sequence-body (sequence state-creation-fn
- state-update-fn
- state-finalize-fn
- &key (start 0) end)
- (declare (type (vector (unsigned-byte 8)) sequence) (type index start))
- (let ((state (funcall state-creation-fn)))
- #+cmu
- (lisp::with-array-data ((data sequence) (real-start start) (real-end end))
- (funcall state-update-fn state data
- :start real-start :end (or real-end (length sequence))))
- #+sbcl
- (sb-kernel:with-array-data ((data sequence) (real-start start) (real-end end))
- (funcall state-update-fn state data
- :start real-start :end (or real-end (length sequence))))
- #-(or cmu sbcl)
- (let ((real-end (or end (length sequence))))
- (declare (type index real-end))
- (funcall state-update-fn state sequence
- :start start :end (or real-end (length sequence))))
- (funcall state-finalize-fn state)))
-
-(eval-when (:compile-toplevel)
-(defconstant +buffer-size+ (* 128 1024))
-) ; EVAL-WHEN
-
-(deftype buffer-index () `(integer 0 (,+buffer-size+)))
-
-(defun digest-stream-body (stream state-creation-fn
- state-update-fn
- state-finalize-fn)
- (let ((state (funcall state-creation-fn)))
- (cond
- ((equal (stream-element-type stream) '(unsigned-byte 8))
- (let ((buffer (make-array +buffer-size+
- :element-type '(unsigned-byte 8))))
- (declare (type (simple-array (unsigned-byte 8) (#.+buffer-size+))
- buffer))
- (declare (dynamic-extent buffer))
- (loop for n-bytes of-type buffer-index = (read-sequence buffer stream)
- do (funcall state-update-fn state buffer :end n-bytes)
- until (< n-bytes +buffer-size+)
- finally (return (funcall state-finalize-fn state)))))
- (t
- (error "Unsupported stream element-type ~S for stream ~S."
- (stream-element-type stream) stream)))))
-
-(defun digest-file-body (pathname state-creation-fn
- state-update-fn
- state-finalize-fn)
- (with-open-file (stream pathname :element-type '(unsigned-byte 8)
- :direction :input
- :if-does-not-exist :error)
- (digest-stream-body stream state-creation-fn state-update-fn
- state-finalize-fn)))
-
-
-;;; high-level generic function drivers
-
-;;; These three functions are intended to be one-shot ways to digest
-;;; an object of some kind. You could write these in terms of the more
-;;; familiar digest interface below, but these are likely to be slightly
-;;; more efficient, as well as more obvious about what you're trying to
-;;; do.
-(defgeneric digest-file (digest-name pathname)
- (:documentation "Return the digest of PATHNAME using the algorithm DIGEST-NAME."))
-
-(defgeneric digest-stream (digest-name stream)
- (:documentation "Return the digest of STREAM using the algorithm DIGEST-NAME.
-STREAM-ELEMENT-TYPE of STREAM should be (UNSIGNED-BYTE 8)."))
-
-(defgeneric digest-sequence (digest-name sequence &key start end)
- (:documentation "Return the digest of the subsequence of SEQUENCE
-specified by START and END using the algorithm DIGEST-NAME. For CMUCL
-and SBCL, SEQUENCE can be any vector with an element-type of
-(UNSIGNED-BYTE 8); for other implementations, SEQUENCE must be a
-SIMPLE-ARRAY."))
-
-;;; These four functions represent the common interface for digests in
-;;; other crypto toolkits (OpenSSL, Botan, Python, etc.). You obtain
-;;; some state object for a particular digest, you update it with some
-;;; data, and then you get the actual digest. Flexibility is the name
-;;; of the game with these functions.
-(defgeneric make-digest (digest-name)
- (:documentation "Return a digest object which uses the algorithm DIGEST-NAME."))
-
-(defgeneric copy-digest (digest)
- (:documentation "Return a copy of DIGEST. The copy is a deep copy, not a
-shallow copy as might be returned by COPY-STRUCTURE."))
-
-(defgeneric update-digest (digest sequence &key start end)
- (:documentation "Update the internal state of DIGEST with the subsequence
-of SEQUENCE specified by START and END. For CMUCL and SBCL, SEQUENCE
-can be any vector with an element-type of (UNSIGNED-BYTE 8); for other
-implementations, SEQUENCE must be a SIMPLE-ARRAY."))
-
-(defgeneric produce-digest (digest)
- (:documentation "Return the hash of the data processed by DIGEST so far.
-This function does not modify the internal state of DIGEST."))
-
-
-;;; the digest-defining macro
-
-(defvar *supported-digests* nil)
-
-(defun list-all-digests ()
- (copy-seq *supported-digests*))
-
-(defun digest-supported-p (name)
- "Return T if the digest NAME is a valid digest name."
- (member name *supported-digests*))
-
-(defgeneric digest-length (digest)
- (:documentation "Return the number of bytes in a digest generated by DIGEST."))
-
-(defmacro defdigest (name &rest initargs)
- (%defdigest name initargs))
-
-(defun %defdigest (name initargs)
- (let ((creation-function nil)
- (copy-function nil)
- (update-function nil)
- (finalize-function nil)
- (state-type nil)
- (digest-length nil)
- (digest-name (intern (string name) (find-package :keyword))))
- (loop for (arg value) in initargs
- do
- (case arg
- (:creation-function
- (if (not creation-function)
- (setf creation-function value)
- (error "Specified :CREATION-FUNCTION multiple times.")))
- (:copy-function
- (if (not copy-function)
- (setf copy-function value)
- (error "Specified :COPY-FUNCTION multiple times.")))
- (:update-function
- (if (not update-function)
- (setf update-function value)
- (error "Specified :UPDATE-FUNCTION multiple times.")))
- (:finalize-function
- (if (not finalize-function)
- (setf finalize-function value)
- (error "Specified :FINALIZE-FUNCTION multiple times.")))
- (:state-type
- (if (not state-type)
- (setf state-type value)
- (error "Specified :STATE-TYPE multiple times.")))
- (:digest-length
- (if (not digest-length)
- (setf digest-length value)
- (error "Specified :DIGEST-LENGTH multiple times."))))
- finally (if (and creation-function copy-function update-function
- finalize-function state-type digest-length)
- (return (generate-digest-forms digest-name state-type
- digest-length
- creation-function
- copy-function update-function
- finalize-function))
- (error "Didn't specify all required options for DEFDIGEST")))))
-
-(defun generate-digest-forms (digest-name state-type digest-length
- creation-function copy-function
- update-function finalize-function)
- `(progn
- (push ,digest-name *supported-digests*)
- (defmethod digest-length ((digest (eql ,digest-name)))
- ,digest-length)
- (defmethod digest-length ((digest ,state-type))
- ,digest-length)
- (defmethod make-digest ((digest-name (eql ,digest-name)))
- (,creation-function))
- (defmethod copy-digest ((digest ,state-type))
- (,copy-function digest))
- (defmethod update-digest ((digest ,state-type) sequence &key (start 0) end)
- (,update-function digest sequence
- :start start :end (or end (length sequence))))
- (defmethod produce-digest ((digest ,state-type))
- (,finalize-function (,copy-function digest)))
- (defmethod digest-file ((digest-name (eql ,digest-name)) pathname)
- (digest-file-body pathname #',creation-function #',update-function #',finalize-function))
- (defmethod digest-stream ((digest-name (eql ,digest-name)) stream)
- (digest-stream-body stream #',creation-function #',update-function #',finalize-function))
- (defmethod digest-sequence ((digest-name (eql ,digest-name)) sequence &key (start 0) end)
- (digest-sequence-body sequence #',creation-function #',update-function #',finalize-function :start start :end end))))
Deleted: branches/bos/thirdparty/ironclad/package.lisp.orig
===================================================================
--- branches/bos/thirdparty/ironclad/package.lisp.orig 2007-10-02 10:54:15 UTC (rev 2177)
+++ branches/bos/thirdparty/ironclad/package.lisp.orig 2007-10-03 01:20:42 UTC (rev 2178)
@@ -1,28 +0,0 @@
-(defpackage :ironclad
- (:use :cl)
- (:nicknames :crypto)
- (:export
- ;; hash functions
- #:digest-sequence #:digest-stream #:digest-file
- #:make-digest #:copy-digest #:update-digest #:produce-digest
-
- ;; HMACs
- #:make-hmac #:update-hmac #:hmac-digest
-
- ;; introspection
- #:cipher-supported-p #:list-all-ciphers
- #:digest-supported-p #:list-all-digests
- #:mode-supported-p #:list-all-modes
- #:block-length #:digest-length
-
- ;; high-level operators
- #:make-cipher #:encrypt #:decrypt
-
- ;; classes
- #:aes-context #:square-context #:blowfish-context #:idea-context
- #:twofish-context
- #:des-context #:cast5-context #:tea-context #:xtea-context
-
- ;; conditions
- #:ironclad-error #:initialization-vector-not-supplied
- #:invalid-initialization-vector #:invalid-key-length))
\ No newline at end of file