mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-13 16:38:14 +00:00
epg.el: support pinentry mode added in GnuPG 2.1
* epg.el (epg-context-pinentry-mode): New function. (epg-context-set-pinentry-mode): New function. (epg--start): Pass --pinentry-mode option to gpg command.
This commit is contained in:
parent
2ebed929d5
commit
38cc0210f3
@ -1,3 +1,9 @@
|
||||
2013-04-22 Daiki Ueno <ueno@gnu.org>
|
||||
|
||||
* epg.el (epg-context-pinentry-mode): New function.
|
||||
(epg-context-set-pinentry-mode): New function.
|
||||
(epg--start): Pass --pinentry-mode option to gpg command.
|
||||
|
||||
2013-04-21 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* comint.el: (comint-dynamic-complete-functions, comint-mode-map):
|
||||
|
20
lisp/epg.el
20
lisp/epg.el
@ -195,7 +195,7 @@
|
||||
cipher-algorithm digest-algorithm compress-algorithm
|
||||
(list #'epg-passphrase-callback-function)
|
||||
nil
|
||||
nil nil nil nil nil nil)))
|
||||
nil nil nil nil nil nil nil)))
|
||||
|
||||
(defun epg-context-protocol (context)
|
||||
"Return the protocol used within CONTEXT."
|
||||
@ -289,6 +289,12 @@ This function is for internal use only."
|
||||
(signal 'wrong-type-argument (list 'epg-context-p context)))
|
||||
(aref (cdr context) 14))
|
||||
|
||||
(defun epg-context-pinentry-mode (context)
|
||||
"Return the mode of pinentry invocation."
|
||||
(unless (eq (car-safe context) 'epg-context)
|
||||
(signal 'wrong-type-argument (list 'epg-context-p context)))
|
||||
(aref (cdr context) 15))
|
||||
|
||||
(defun epg-context-set-protocol (context protocol)
|
||||
"Set the protocol used within CONTEXT."
|
||||
(unless (eq (car-safe context) 'epg-context)
|
||||
@ -407,6 +413,14 @@ This function is for internal use only."
|
||||
(signal 'wrong-type-argument (list 'epg-context-p context)))
|
||||
(aset (cdr context) 14 operation))
|
||||
|
||||
(defun epg-context-set-pinentry-mode (context mode)
|
||||
"Set the mode of pinentry invocation."
|
||||
(unless (eq (car-safe context) 'epg-context)
|
||||
(signal 'wrong-type-argument (list 'epg-context-p context)))
|
||||
(unless (memq mode '(nil ask cancel error loopback))
|
||||
(signal 'epg-error (list "Unknown pinentry mode" mode)))
|
||||
(aset (cdr context) 15 mode))
|
||||
|
||||
(defun epg-make-signature (status &optional key-id)
|
||||
"Return a signature object."
|
||||
(cons 'epg-signature (vector status key-id nil nil nil nil nil nil nil nil
|
||||
@ -1152,6 +1166,10 @@ This function is for internal use only."
|
||||
(if (epg-context-textmode context) '("--textmode"))
|
||||
(if (epg-context-output-file context)
|
||||
(list "--output" (epg-context-output-file context)))
|
||||
(if (epg-context-pinentry-mode context)
|
||||
(list "--pinentry-mode"
|
||||
(symbol-name (epg-context-pinentry-mode
|
||||
context))))
|
||||
args))
|
||||
(coding-system-for-write 'binary)
|
||||
(coding-system-for-read 'binary)
|
||||
|
Loading…
Reference in New Issue
Block a user