From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Noam Postavsky Newsgroups: gmane.emacs.bugs Subject: bug#26298: 26.0.50; Gnus fails to sign mail with PGP Date: Fri, 18 May 2018 09:38:17 -0400 Message-ID: <87muwxhynq.fsf@gmail.com> References: <87h92cp9dh.fsf@wilson.bronger.org> <87k1sqoz6f.fsf@gmail.com> <87po1tj1es.fsf@gmail.com> <87lgchi8yy.fsf@tcd.ie> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: blaine.gmane.org 1526652024 23105 195.159.176.226 (18 May 2018 14:00:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 18 May 2018 14:00:24 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: Joseph Mingrone , 26298@debbugs.gnu.org, Torsten Bronger To: Toon Claes Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 18 16:00:19 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJfvf-0005te-5w for geb-bug-gnu-emacs@m.gmane.org; Fri, 18 May 2018 16:00:19 +0200 Original-Received: from localhost ([::1]:39149 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJfxm-0003V0-8e for geb-bug-gnu-emacs@m.gmane.org; Fri, 18 May 2018 10:02:30 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35028) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJfbA-0007aO-Kv for bug-gnu-emacs@gnu.org; Fri, 18 May 2018 09:39:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fJfb5-0000I1-TE for bug-gnu-emacs@gnu.org; Fri, 18 May 2018 09:39:08 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:59658) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fJfb5-0000Hw-Ng for bug-gnu-emacs@gnu.org; Fri, 18 May 2018 09:39:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fJfb4-0002VJ-GZ; Fri, 18 May 2018 09:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Fri, 18 May 2018 13:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26298 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: Original-Received: via spool by 26298-submit@debbugs.gnu.org id=B26298.15266507099574 (code B ref 26298); Fri, 18 May 2018 13:39:02 +0000 Original-Received: (at 26298) by debbugs.gnu.org; 18 May 2018 13:38:29 +0000 Original-Received: from localhost ([127.0.0.1]:39315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJfaW-0002UL-V8 for submit@debbugs.gnu.org; Fri, 18 May 2018 09:38:29 -0400 Original-Received: from mail-io0-f169.google.com ([209.85.223.169]:44577) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJfaT-0002U8-UU for 26298@debbugs.gnu.org; Fri, 18 May 2018 09:38:26 -0400 Original-Received: by mail-io0-f169.google.com with SMTP id d11-v6so6207419iof.11 for <26298@debbugs.gnu.org>; Fri, 18 May 2018 06:38:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=zhJR6hcRNEab8MpvE8N5PLVmcdT/GmtEJcd/k64nDgk=; b=DYZM5fi77SXCxxseZU7cjNvcsH+vtj2yjhffTbCFQztIWDRRxfSwte/PKF1QBiHVu1 CTLOYt2YHPCtDEw2mOuKdg5OfkHZoVUXcR7IouBQfrpD5bfqnuCEXN+5KHlRQquaPp6l Qui21GZMiMnDQfMWj625p2nPmjE/osIczo8iEdykzKnglS2GVZyL7yhvTJa+rBLRQFVo lItY1kp6uUglSsKRaiQC8YHwDaMXYQrQ4aI44QPIadHudhaQ9hux0Q9b66vY5spm1Zok FCQQ/1G3IwMWhWBekgQ8fwJ2UOhotc/el1TcJmpqaOeAxgIxNFxWPVqOXMMCCnmbw33C MUNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=zhJR6hcRNEab8MpvE8N5PLVmcdT/GmtEJcd/k64nDgk=; b=nOyBJqCvbzYMVmBHlPWImwhk9gQcWcTwL3ngbsyRXTaRHuQjGokcYav9X2Hwj4XzoE G6O3pGn7muwOamAYauRA45WSmWQKhx+QcCAOX5Lh1YIUmVA41OfP9Gu6s7aCtvFDbjiv doKIWGYy8YnRtl2hjJ0OO34B0DaLGdDZxvoGotQCpp5ExL8a7oZxPSh3e0zgOshJNP2q rSFpk1BGXwGLifFwFqQKo3Pp2Kmo3VQgFk6zV7NWfl+o7L1X9qLQCE2cmTepJZp9JMnz u+N07E+Af1WPD1Y2ZKcxbZctLYB3mRhIsv0fzfteqgGfJJI+DNkwpisu0mr8OQzdjbYf 2PpQ== X-Gm-Message-State: ALKqPweKfPs+HgDrwHNNLnWd2aSE5QzRoJRN6MKSasrGWSRzIDnxn5KC VZj1GonwvH9cRnXMUuigX54= X-Google-Smtp-Source: AB8JxZr6RCQcLYja2RZMT4f5sDDVXgcZc1u3o71QmS44b1jmCGeFfdMvgdGZgBkJFx+y6OQp2w6Tag== X-Received: by 2002:a6b:957:: with SMTP id j84-v6mr10565864ioi.232.1526650700388; Fri, 18 May 2018 06:38:20 -0700 (PDT) Original-Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id x189-v6sm811113ite.2.2018.05.18.06.38.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 18 May 2018 06:38:19 -0700 (PDT) In-Reply-To: <87lgchi8yy.fsf@tcd.ie> (Basil L. Contovounesios's message of "Fri, 18 May 2018 10:55:33 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:146256 Archived-At: --=-=-= Content-Type: text/plain "Basil L. Contovounesios" writes: > Noam Postavsky writes: > >> * lisp/epa-file.el (epa-file-insert-file-contents) >> (epa-file-write-region): >> * lisp/epa.el(epa-decrypt-file, epa-sign-file) > ^^ > Should there be a space here, or does it not matter? >> +** 'epa-pinentry-mode' is renamed to 'epg-pinentry-mode', > > Looks like that trailing comma should be a full stop. >> +(define-obsolete-variable-alias >> + 'epa-entry-mode 'epg-entry-mode "27.1") > > These should be epa-pinentry-mode and epg-pinentry-mode, respectively, > right? Oops, thanks for catching these; especially that last one, yikes. >> +(defcustom epg-pinentry-mode nil >> + :group 'epa > Should the :group be changed to 'epg? Or we can just remove it altogether since :group defaults to the last created group. --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=v3-0001-Move-epa-pinentry-mode-to-epg-config-Bug-26298.patch Content-Description: patch >From 23caf10d96f14ecc4ec81a8e373001c96b82e5fc Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sun, 29 Apr 2018 10:32:03 -0400 Subject: [PATCH v3] Move epa-pinentry-mode to epg-config (Bug#26298) * lisp/epa.el (epa-pinentry-mode): Make into obsolete alias for... * lisp/epg-config.el (epg-pinentry-mode): ...this new user option. * lisp/epg.el (epg-context): Use it as the default value for pinentry-mode. * etc/NEWS: Announce name change. * lisp/epa-file.el (epa-file-insert-file-contents) (epa-file-write-region): * lisp/epa.el (epa-decrypt-file, epa-sign-file) (epa-encrypt-file, epa-decrypt-region) (epa-sign-region, epa-encrypt-region): Don't change epg-context-pinentry-mode from the default. --- etc/NEWS | 3 +++ lisp/epa-file.el | 2 -- lisp/epa.el | 30 ++---------------------------- lisp/epg-config.el | 21 +++++++++++++++++++++ lisp/epg.el | 2 +- 5 files changed, 27 insertions(+), 31 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index c7ffb17ad3..ba9f58a73f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -442,6 +442,9 @@ are formatted as MIME digests. *** 'message-forward-included-headers' has changed its default to exclude most headers when forwarding. +** 'epa-pinentry-mode' is renamed to 'epg-pinentry-mode'. +It now applies to epg functions as well as epa functions. + * New Modes and Packages in Emacs 27.1 +++ diff --git a/lisp/epa-file.el b/lisp/epa-file.el index 1de2f9ba2d..866a4ae03a 100644 --- a/lisp/epa-file.el +++ b/lisp/epa-file.el @@ -147,7 +147,6 @@ epa-file-insert-file-contents context (cons #'epa-progress-callback-function (format "Decrypting %s" file))) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (unwind-protect (progn (if replace @@ -236,7 +235,6 @@ epa-file-write-region (cons #'epa-progress-callback-function (format "Encrypting %s" file))) (setf (epg-context-armor context) epa-armor) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (condition-case error (setq string (epg-encrypt-string diff --git a/lisp/epa.el b/lisp/epa.el index a375cd6170..16621659a6 100644 --- a/lisp/epa.el +++ b/lisp/epa.el @@ -56,27 +56,8 @@ epa-info-window-height :type 'integer :group 'epa) -;; In the doc string below, we say "symbol `error'" to avoid producing -;; a hyperlink for `error' the function. -(defcustom epa-pinentry-mode nil - "The pinentry mode. - -GnuPG 2.1 or later has an option to control the behavior of -Pinentry invocation. The value should be the symbol `error', -`ask', `cancel', or `loopback'. See the GnuPG manual for the -meanings. - -In epa commands, a particularly useful mode is `loopback', which -redirects all Pinentry queries to the caller, so Emacs can query -passphrase through the minibuffer, instead of external Pinentry -program." - :type '(choice (const nil) - (const ask) - (const cancel) - (const error) - (const loopback)) - :group 'epa - :version "25.1") +(define-obsolete-variable-alias + 'epa-pinentry-mode 'epg-pinentry-mode "27.1") (defgroup epa-faces nil "Faces for epa-mode." @@ -695,7 +676,6 @@ epa-decrypt-file #'epa-progress-callback-function (format "Decrypting %s..." (file-name-nondirectory decrypt-file)))) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (message "Decrypting %s..." (file-name-nondirectory decrypt-file)) (condition-case error (epg-decrypt-file context decrypt-file plain-file) @@ -791,7 +771,6 @@ epa-sign-file #'epa-progress-callback-function (format "Signing %s..." (file-name-nondirectory file)))) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (message "Signing %s..." (file-name-nondirectory file)) (condition-case error (epg-sign-file context file signature mode) @@ -822,7 +801,6 @@ epa-encrypt-file #'epa-progress-callback-function (format "Encrypting %s..." (file-name-nondirectory file)))) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (message "Encrypting %s..." (file-name-nondirectory file)) (condition-case error (epg-encrypt-file context file recipients cipher) @@ -865,7 +843,6 @@ epa-decrypt-region (cons #'epa-progress-callback-function "Decrypting...")) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (message "Decrypting...") (condition-case error (setq plain (epg-decrypt-string context (buffer-substring start end))) @@ -1070,7 +1047,6 @@ epa-sign-region (cons #'epa-progress-callback-function "Signing...")) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (message "Signing...") (condition-case error (setq signature (epg-sign-string context @@ -1159,7 +1135,6 @@ epa-encrypt-region (cons #'epa-progress-callback-function "Encrypting...")) - (setf (epg-context-pinentry-mode context) epa-pinentry-mode) (message "Encrypting...") (condition-case error (setq cipher (epg-encrypt-string context @@ -1328,7 +1303,6 @@ epa-insert-keys ;; (cons ;; #'epa-progress-callback-function ;; "Signing keys...")) -;; (setf (epg-context-pinentry-mode context) epa-pinentry-mode) ;; (message "Signing keys...") ;; (epg-sign-keys context keys local) ;; (message "Signing keys...done"))) diff --git a/lisp/epg-config.el b/lisp/epg-config.el index d30ebea2d6..33262394a7 100644 --- a/lisp/epg-config.el +++ b/lisp/epg-config.el @@ -74,6 +74,27 @@ epg-passphrase-coding-system :group 'epg :type 'symbol) + +;; In the doc string below, we say "symbol `error'" to avoid producing +;; a hyperlink for `error' the function. +(defcustom epg-pinentry-mode nil + "The pinentry mode. + +GnuPG 2.1 or later has an option to control the behavior of +Pinentry invocation. The value should be the symbol `error', +`ask', `cancel', or `loopback'. See the GnuPG manual for the +meanings. + +A particularly useful mode is `loopback', which redirects all +Pinentry queries to the caller, so Emacs can query passphrase +through the minibuffer, instead of external Pinentry program." + :type '(choice (const nil) + (const ask) + (const cancel) + (const error) + (const loopback)) + :version "27.1") + (defcustom epg-debug nil "If non-nil, debug output goes to the \" *epg-debug*\" buffer. Note that the buffer name starts with a space." diff --git a/lisp/epg.el b/lisp/epg.el index e6b4af2b36..f79f2046de 100644 --- a/lisp/epg.el +++ b/lisp/epg.el @@ -207,7 +207,7 @@ 'epg-error output-file result operation - pinentry-mode + (pinentry-mode epg-pinentry-mode) (error-output "") error-buffer) -- 2.11.0 --=-=-=--