;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Created: 1995/12/7
-;; Version: $Id: tm-pgp.el,v 7.28 1997/01/29 15:18:53 morioka Exp $
+;; Version: $Id: tm-pgp.el,v 7.30 1997/02/11 08:57:58 morioka Exp $
;; Keywords: mail, news, MIME, multimedia, PGP, security
;; This file is part of tm (Tools for MIME).
(require 'tm-play)
-(defvar pgp-verify-function
- 'mc-verify "*PGP verify function.")
-
-(defvar pgp-decrypt-function
- 'mc-decrypt "*PGP decrypt function.")
-
-(defvar pgp-fetch-key-function
- 'mc-pgp-fetch-key "*PGP fetch key function.")
+(defvar pgp-function-alist
+ '((verify mc-verify "mc-toplev")
+ (decrypt mc-decrypt "mc-toplev")
+ (fetch-key mc-pgp-fetch-key "mc-pgp")
+ (snarf-keys mc-snarf-keys "mc-toplev")
+ ))
-(defvar pgp-snarf-keys-function
- 'mc-snarf-keys "*PGP snarf keys function.")
+(defsubst pgp-function (method)
+ (car (cdr (assq method pgp-function-alist)))
+ )
-(autoload pgp-verify-function "mc-toplev")
-(autoload pgp-decrypt-function "mc-toplev")
-(autoload pgp-fetch-key-function "mc-toplev")
-(autoload pgp-snarf-keys-function "mc-toplev")
+(mapcar (function
+ (lambda (method)
+ (autoload (second method)(third method))
+ ))
+ pgp-function-alist)
;;; @ internal method for application/pgp
(goto-char (point-min))
(re-search-forward "^-+BEGIN PGP SIGNED MESSAGE-+$" nil t)
)
- (funcall pgp-verify-function)
+ (funcall (pgp-function 'verify))
(goto-char (point-min))
(delete-region
(point-min)
(goto-char (point-min))
(re-search-forward "^-+BEGIN PGP MESSAGE-+$" nil t)
)
- (as-binary-process (funcall pgp-decrypt-function))
+ (as-binary-process (funcall (pgp-function 'decrypt)))
(goto-char (point-min))
(delete-region (point-min)
(and
(format "Key %s not found; attempt to fetch? " pgp-id))
)
(progn
- (funcall pgp-fetch-key-function (cons nil pgp-id))
+ (funcall (pgp-function 'fetch-key) (cons nil pgp-id))
(mime::article/call-pgp-to-check-signature
mime/output-buffer-name orig-file)
))
(delete-region (point-min) (match-end 0))
)
(mime-decode-region (point-min)(point-max) encoding)
- (funcall pgp-snarf-keys-function)
+ (funcall (pgp-function 'snarf-keys))
(kill-buffer (current-buffer))
))