diff --git a/hmac.egg b/hmac.egg new file mode 100644 index 0000000..fb924a9 --- /dev/null +++ b/hmac.egg @@ -0,0 +1,11 @@ +; author: Thomas Hintz +; email: t@thintz.com +; license: bsd + +((license "BSD") + (category crypt) + (dependencies message-digest) + (test-dependencies test sha1 string-utils) + (author "Thomas Hintz") + (synopsis "HMAC provides a HMAC using the message-digest interface.") + (components (extension hmac))) \ No newline at end of file diff --git a/hmac.release-info b/hmac.release-info index 50c8853..d02d7c6 100644 --- a/hmac.release-info +++ b/hmac.release-info @@ -1,6 +1,4 @@ -(repo git "git://github.com/ThomasHintz/chicken-scheme-{egg-name}.git") ; optional - -(uri targz "https://github.com/ThomasHintz/chicken-scheme-{egg-name}/tarball/{egg-release}") +(uri targz "https://code.thintz.com/chicken-scheme-{egg-name}/snapshot/chicken-scheme-{egg-name}-{egg-release}.tar.gz") (release "1") (release "2") (release "3") @@ -8,4 +6,5 @@ (release "6") (release "7") (release "7.0.1") -(release "7.1.0") \ No newline at end of file +(release "7.1.0") +(release "7.2.0") diff --git a/hmac.release-info.chicken-5 b/hmac.release-info.chicken-5 new file mode 100644 index 0000000..163be2a --- /dev/null +++ b/hmac.release-info.chicken-5 @@ -0,0 +1,2 @@ +(uri targz "https://code.thintz.com/chicken-scheme-{egg-name}/snapshot/chicken-scheme-{egg-name}-{egg-release}.tar.gz") +(release "7.2.0") diff --git a/hmac.scm b/hmac.scm index e402e2e..b9129dc 100644 --- a/hmac.scm +++ b/hmac.scm @@ -5,8 +5,18 @@ (module hmac (hmac hmac-primitive) -(import scheme chicken srfi-13) -(use message-digest-basic message-digest-item message-digest-update-item) +(import scheme) + +(cond-expand + + (chicken-4 + (import chicken srfi-13) + (use message-digest-basic message-digest-item message-digest-update-item)) + + (chicken-5 + (import (chicken base) (chicken bitwise) srfi-13) + (import message-digest-basic message-digest-item message-digest-update-item))) + (define (hmac-primitive key digest-primitive) (let ((block-size (message-digest-primitive-block-length digest-primitive)) diff --git a/hmac.setup b/hmac.setup index 7f7621b..7bc4cfa 100644 --- a/hmac.setup +++ b/hmac.setup @@ -11,5 +11,4 @@ ; Files to install for your extension: '("hmac.o" "hmac.so" "hmac.import.so") ; Assoc list with properties for your extension: - '((version 7.1.0) - (static "hmac.o"))) ;; for static linking \ No newline at end of file + '((static "hmac.o"))) ;; for static linking diff --git a/tests/run.scm b/tests/run.scm index 9e0dd85..57567e2 100644 --- a/tests/run.scm +++ b/tests/run.scm @@ -2,8 +2,16 @@ ; email: t@thintz.com ; license: bsd -(use test) -(use sha1 string-utils hmac) +(cond-expand + + (chicken-4 + (use test) + (use sha1 string-utils hmac)) + + (chicken-5 + (import test) + (import sha1 string-hexadecimal hmac))) + (test-group "RFC2202 test vectors" (define (testv key msg expected)