emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gnus + GPG integration broken after revision 102412.


From: Ashish SHUKLA
Subject: Gnus + GPG integration broken after revision 102412.
Date: Mon, 20 Dec 2010 14:24:48 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (amd64-portbld-freebsd8.1)

Hi,

I'm having problem sending GPG signed mails in Emacs bzr revision 1024640.

#v+
Debugger entered--Lisp error: (error "Sign failed: ((exit))")
  signal(error ("Sign failed: ((exit))"))
  (condition-case error (setq signature (epg-sign-string context 
(buffer-string) t) mml2015-epg-secret-key-id-list nil) (error (while 
mml2015-epg-secret-key-id-list (password-cache-remove (car 
mml2015-epg-secret-key-id-list)) (setq mml2015-epg-secret-key-id-list (cdr 
mml2015-epg-secret-key-id-list))) (signal (car error) (cdr error))))
  (let* ((inhibit-redisplay t) (context (epg-make-context)) (boundary 
(mml-compute-boundary cont)) (sender (message-options-get (quote 
message-sender))) signer-key (signers (or (message-options-get (quote 
mml2015-epg-signers)) (message-options-set (quote mml2015-epg-signers) (if (eq 
mm-sign-option (quote guided)) (epa-select-keys context "Select keys for 
signing.\nIf no one is selected, default secret key is used.  " (cons sender 
mml2015-signers) t) (if (or sender mml2015-signers) (delq nil ...)))))) 
signature micalg) (epg-context-set-armor context t) (epg-context-set-textmode 
context t) (epg-context-set-signers context signers) (if 
mml2015-cache-passphrase (epg-context-set-passphrase-callback context (function 
mml2015-epg-passphrase-callback))) (condition-case error (setq signature 
(epg-sign-string context (buffer-string) t) mml2015-epg-secret-key-id-list nil) 
(error (while mml2015-epg-secret-key-id-list (password-cache-remove (car 
mml2015-epg-secret-key-id-list)) (setq mml2015-epg-secret-key-id-list (cdr 
mml2015-epg-secret-key-id-list))) (signal (car error) (cdr error)))) (if 
(epg-context-result-for context (quote sign)) (setq micalg 
(epg-new-signature-digest-algorithm (car (epg-context-result-for context (quote 
sign)))))) (goto-char (point-min)) (insert (format "Content-Type: 
multipart/signed; boundary=\"%s\";\n" boundary)) (if micalg (insert (format "   
    micalg=pgp-%s; " (downcase (cdr (assq micalg 
epg-digest-algorithm-alist)))))) (insert 
"protocol=\"application/pgp-signature\"\n") (insert (format "\n--%s\n" 
boundary)) (goto-char (point-max)) (insert (format "\n--%s\n" boundary)) 
(insert "Content-Type: application/pgp-signature\n\n") (insert signature) 
(goto-char (point-max)) (insert (format "--%s--\n" boundary)) (goto-char 
(point-max)))
  mml2015-epg-sign((part (sign . "pgpmime") (tag-location . 1722) (contents . 
"\n-- \nAshish SHUKLA\n\n“Progress doesn't come from early risers – progress is 
made by lazy\nmen looking for easier ways to do things.” (Robert A. Heinlein, 
1973)\n")))
  mml2015-sign((part (sign . "pgpmime") (tag-location . 1722) (contents . "\n-- 
\nAshish SHUKLA\n\n“Progress doesn't come from early risers – progress is made 
by lazy\nmen looking for easier ways to do things.” (Robert A. Heinlein, 
1973)\n")))
  mml-pgpmime-sign-buffer((part (sign . "pgpmime") (tag-location . 1722) 
(contents . "\n-- \nAshish SHUKLA\n\n“Progress doesn't come from early risers – 
progress is made by lazy\nmen looking for easier ways to do things.” (Robert A. 
Heinlein, 1973)\n")))
  mml-generate-mime-1((part (sign . "pgpmime") (tag-location . 1722) (contents 
. "\n-- \nAshish SHUKLA\n\n“Progress doesn't come from early risers – progress 
is made by lazy\nmen looking for easier ways to do things.” (Robert A. 
Heinlein, 1973)\n")))
  mml-generate-mime()
  message-encode-message-body()
  message-send-mail(nil)
  message-send-via-mail(nil)
  message-send(nil)
  message-send-and-exit(nil)
  call-interactively(message-send-and-exit nil nil)
#v-

I've tracked it down to change in lisp/gnus/mml2015.el in r102412[1]. To be
able to send GPG signed emails, I've to defun the "mml2015-epg-sign" function
From revision 102411 of lisp/gnus/mml2015.el.

The GPG signing related customizations, which I'm using, are copied from
GnusPGG page of EmacsWiki[2]:

#v+
(require 'pgg)
(setq pgg-default-user-id "wahjava")
(eval-after-load "mm-decode" '(add-to-list 'mm-inlined-types 
"application/pgp$"))
(eval-after-load "mm-decode" '(add-to-list 'mm-inline-media-tests 
'("application/pgp$" mm-inline-text identity)))
(eval-after-load "mm-decode" '(add-to-list 'mm-automatic-display 
"application/pgp$"))
(eval-after-load "mm-decode" (quote (setq mm-automatic-display (remove 
"application/pgp-signature" mm-automatic-display))))
#v-

It seems to me that Gnus is now defaulting to EPG. The only EP{A,G}
customization, I've is in my "~/.emacs.d/init.el" file:

#v+
(require 'epg-config)
(require 'epa)
(eval-after-load "epa" (setq epa-armor t))
(setq epg-gpg-program (executable-find "gpg2"))
#v-

Any ideas how to fix this issue ? Or how to switch my Gnus configuration to
use EPG, if EPG is supposed to work for me ?

In case any other information is required please mention.

References:
[1]  
http://bazaar.launchpad.net/~vcs-imports/emacs/trunk/revision/102412#lisp/gnus/mml2015.el
[2]  http://www.emacswiki.org/emacs/GnusPGG

TiA
-- 
Ashish SHUKLA

“Real Programmers always confuse Christmas and Halloween because Oct31
== Dec25.” (Andrew Rutherford)

Attachment: pgpWBQsz4sPZO.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]