;;; canlock.el --- functions for Cancel-Lock feature
;; Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004
-;; Free Software Foundation, Inc.
+;; Free Software Foundation, Inc.
;; Author: Katsumi Yamaoka <yamaoka@jpl.org>
;; Keywords: news, cancel-lock, hmac, sha1, rfc2104
(eval-when-compile
(require 'cl))
-(autoload 'sha1 "sha1-el")
-(autoload 'sha1-binary "sha1-el")
-(autoload 'base64-encode-string "base64")
-(autoload 'mail-fetch-field "mail-utils")
+(require 'sha1)
+
(defvar mail-header-separator)
(defgroup canlock nil
(defcustom canlock-password nil
"Password to use when signing a Cancel-Lock or a Cancel-Key header."
:type '(radio (const :format "Not specified " nil)
- (string :tag "Password" :size 0))
+ (string :tag "Password"))
:group 'canlock)
(defcustom canlock-password-for-verify canlock-password
"Password to use when verifying a Cancel-Lock or a Cancel-Key header."
:type '(radio (const :format "Not specified " nil)
- (string :tag "Password" :size 0))
+ (string :tag "Password"))
:group 'canlock)
(defcustom canlock-force-insert-header nil
(defun canlock-sha1 (message)
"Make a SHA-1 digest of MESSAGE as a unibyte string of length 20 bytes."
(condition-case nil
- (sha1 message nil nil 'binary)
- (error
+ (let (sha1-maximum-internal-length)
+ (sha1 message nil nil 'binary))
+ (wrong-number-of-arguments
(canlock-string-as-unibyte (sha1-binary message)))))
(defun canlock-make-cancel-key (message-id password)