;;; pgg.el --- glue for the various PGP implementations.
-;; Copyright (C) 1999,2000 Daiki Ueno
+;; Copyright (C) 1999,2000 Free Software Foundation, Inc.
-;; Author: Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
+;; Author: Daiki Ueno <ueno@unixuser.org>
;; Created: 1999/10/28
;; Keywords: PGP
(ctree-set-calist-strictly
'pgg-decrypt-condition
'((public-key-algorithm ELG-E DSA ELG)
- (symmetric-key-algorithm 3DES CAST5 BLOWFISH TWOFISH)
+ (symmetric-key-algorithm
+ 3DES CAST5 BLOWFISH RIJNDAEL RIJNDAEL192 RIJNDAEL256 TWOFISH)
(scheme . gpg)))
;;; @ definition of the implementation scheme
(luna-define-internal-accessors 'pgg-scheme))
(luna-define-generic pgg-scheme-lookup-key (scheme string &optional type)
- "Search keys associated with STRING")
+ "Search keys associated with STRING.")
(luna-define-generic pgg-scheme-encrypt-region (scheme start end recipients)
"Encrypt the current region between START and END.")
(luna-define-generic pgg-scheme-verify-region
(scheme start end &optional signature)
- "Verify region between START and END
-as the detached signature SIGNATURE.")
+ "Verify region between START and END as the detached signature SIGNATURE.")
(luna-define-generic pgg-scheme-insert-key (scheme)
"Insert public key at point.")
(luna-define-generic pgg-scheme-snarf-keys-region (scheme start end)
- "Add all public keys in region between START
-and END to the keyring.")
+ "Add all public keys in region between START and END to the keyring.")
;;; @ utility functions
;;;
,@body)))
(defun pgg-temp-buffer-show-function (buffer)
- (if (one-window-p (selected-window))
- (let ((window (split-window-vertically
- (- (window-height)
- (/ (window-height) 5)))))
- (set-window-buffer window buffer))
- (display-buffer buffer)))
+ (let ((window (split-window-vertically)))
+ (set-window-buffer window buffer)
+ (shrink-window-if-larger-than-buffer window)))
(defun pgg-display-output-buffer (start end status)
(if status
(delete-region start end)
(insert-buffer-substring pgg-output-buffer)
(decode-coding-region start (point) buffer-file-coding-system))
- (let ((temp-buffer-show-function
+ (let ((temp-buffer-show-function
(function pgg-temp-buffer-show-function)))
(with-output-to-temp-buffer pgg-echo-buffer
(set-buffer standard-output)
(list (region-beginning)(region-end)
(split-string (read-string "Recipients: ") "[ \t,]+")))
(let* ((entity (pgg-make-scheme pgg-default-scheme))
- (status
+ (status
(pgg-save-coding-system start end
(pgg-scheme-encrypt-region entity (point-min)(point-max) rcpts))))
(when (interactive-p)
(buffer-disable-undo)
(set-buffer-multibyte nil)
(insert-file-contents signature)
- (cdr (assq 2 (pgg-decode-armor-region
+ (cdr (assq 2 (pgg-decode-armor-region
(point-min)(point-max)))))))
(scheme
(or pgg-scheme
(insert-buffer-substring pgg-output-buffer)
(pgg-snarf-keys-region (point-min)(point-max)))))))
+;;;###autoload
+(defun pgg-universal-user-id-argument ()
+ (interactive)
+ (let* ((pgg-overriding-user-id (read-string "User ID: "))
+ (command (key-binding (read-key-sequence
+ (format "Command to execute on \"%s\":"
+ pgg-overriding-user-id)))))
+ (message "")
+ (call-interactively command)))
(provide 'pgg)