-;;; pgg-epg.el --- Gnus/PGG backend of EasyPG.
+;;; pgg-epg.el --- Gnus' PGG backend of EasyPG.
;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
;; 2005, 2006 Free Software Foundation, Inc.
;; Copyright (C) 2006 Daiki Ueno
;; Author: Daiki Ueno <ueno@unixuser.org>
-;; Keywords: PGP, GnuPG
+;; Keywords: PGP, GnuPG, Gnus
;; This file is part of EasyPG.
(buffer-substring start end)
(mapcar
(lambda (recipient)
- (car (epg-list-keys recipient)))
+ (car (epg-list-keys context recipient)))
(if pgg-encrypt-for-me
(cons pgg-default-user-id recipients)
recipients))
(set-buffer (get-buffer-create pgg-errors-buffer))
(erase-buffer))
(condition-case error
- (setq plain (epg-decrypt-string context (buffer-substring start end))
+ (setq plain
+ (epg-decrypt-string context (buffer-substring start end))
pgg-epg-secret-key-id-list nil)
(error
(while pgg-epg-secret-key-id-list
(pgg-remove-passphrase-from-cache (car pgg-epg-secret-key-id-list))
(setq pgg-epg-secret-key-id-list (cdr pgg-epg-secret-key-id-list)))
(signal (car error) (cdr error))))
+ (if pgg-text-mode
+ (setq plain (decode-coding-string plain 'raw-text)))
(save-excursion
(set-buffer (get-buffer-create pgg-output-buffer))
(insert plain))
(epg-context-set-armor context t)
(epg-context-set-textmode context pgg-text-mode)
(epg-context-set-passphrase-callback context #'pgg-epg-passphrase-callback)
+ (epg-context-set-signers
+ context
+ (list (car (epg-list-keys context pgg-default-user-id t))))
(save-excursion
(set-buffer (get-buffer-create pgg-output-buffer))
(erase-buffer)
(epg-sign-string context
(buffer-substring start end)
(if cleartext
- 'clearsign
+ 'clear
'detached))
pgg-epg-secret-key-id-list nil)
(error
"From unknown user")))
"From unknown user"))
+(defun pgg-epg-lookup-key (string &optional type)
+ "Search keys associated with STRING."
+ (mapcar (lambda (key)
+ (epg-sub-key-id (car (epg-key-sub-key-list key))))
+ (epg-list-keys (epg-make-context) string (not (null type)))))
+
(provide 'pgg-epg)
;;; pgg-epg.el ends here