(format "%02X " (epg-new-signature-class new-signature))
(epg-new-signature-fingerprint new-signature)))
-(defun epg-start (context args)
+(defun epg--start (context args)
"Start `epg-gpg-program' in a subprocess with given ARGS."
(if (and (epg-context-process context)
(eq (process-status (epg-context-process context)) 'run))
epg-gpg-program)
args)))
(set-default-file-modes orig-mode))
- (set-process-filter process #'epg-process-filter)
+ (set-process-filter process #'epg--process-filter)
(epg-context-set-process context process)))
-(defun epg-process-filter (process input)
+(defun epg--process-filter (process input)
(if epg-debug
(save-excursion
(unless epg-debug-buffer
(if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)")
(let* ((status (match-string 1))
(string (match-string 2))
- (symbol (intern-soft (concat "epg-status-" status))))
+ (symbol (intern-soft (concat "epg--status-" status))))
(if (member status epg-pending-status-list)
(setq epg-pending-status-list nil))
(if (and symbol
(file-exists-p (epg-context-output-file context)))
(delete-file (epg-context-output-file context))))
-(defun epg-status-USERID_HINT (process string)
+(defun epg--status-USERID_HINT (process string)
(if (string-match "\\`\\([^ ]+\\) \\(.*\\)" string)
(let* ((key-id (match-string 1 string))
(user-id (match-string 2 string))
(setq epg-user-id-alist (cons (cons key-id user-id)
epg-user-id-alist))))))
-(defun epg-status-NEED_PASSPHRASE (process string)
+(defun epg--status-NEED_PASSPHRASE (process string)
(if (string-match "\\`\\([^ ]+\\)" string)
(setq epg-key-id (match-string 1 string))))
-(defun epg-status-NEED_PASSPHRASE_SYM (process string)
+(defun epg--status-NEED_PASSPHRASE_SYM (process string)
(setq epg-key-id 'SYM))
-(defun epg-status-NEED_PASSPHRASE_PIN (process string)
+(defun epg--status-NEED_PASSPHRASE_PIN (process string)
(setq epg-key-id 'PIN))
-(defun epg-status-GET_HIDDEN (process string)
+(defun epg--status-GET_HIDDEN (process string)
(if (and epg-key-id
(string-match "\\`passphrase\\." string))
(let (inhibit-quit
(if passphrase-with-new-line
(fillarray passphrase-with-new-line 0))))))
-(defun epg-status-GET_BOOL (process string)
+(defun epg--status-GET_BOOL (process string)
(let ((entry (assoc string epg-prompt-alist))
inhibit-quit)
(condition-case nil
(epg-context-result-for epg-context 'error)))
(delete-process process)))))
-(defun epg-status-GET_LINE (process string)
+(defun epg--status-GET_LINE (process string)
(let ((entry (assoc string epg-prompt-alist))
inhibit-quit)
(condition-case nil
(epg-context-result-for epg-context 'error)))
(delete-process process)))))
-(defun epg-status-*SIG (status string)
+(defun epg--status-*SIG (status string)
(if (string-match "\\`\\([^ ]+\\) \\(.*\\)" string)
(let* ((key-id (match-string 1 string))
(user-id (match-string 2 string))
(cons (epg-make-signature status)
(epg-context-result-for epg-context 'verify)))))
-(defun epg-status-GOODSIG (process string)
- (epg-status-*SIG 'good string))
+(defun epg--status-GOODSIG (process string)
+ (epg--status-*SIG 'good string))
-(defun epg-status-EXPSIG (process string)
- (epg-status-*SIG 'expired string))
+(defun epg--status-EXPSIG (process string)
+ (epg--status-*SIG 'expired string))
-(defun epg-status-EXPKEYSIG (process string)
- (epg-status-*SIG 'expired-key string))
+(defun epg--status-EXPKEYSIG (process string)
+ (epg--status-*SIG 'expired-key string))
-(defun epg-status-REVKEYSIG (process string)
- (epg-status-*SIG 'revoked-key string))
+(defun epg--status-REVKEYSIG (process string)
+ (epg--status-*SIG 'revoked-key string))
-(defun epg-status-BADSIG (process string)
- (epg-status-*SIG 'bad string))
+(defun epg--status-BADSIG (process string)
+ (epg--status-*SIG 'bad string))
-(defun epg-status-NO_PUBKEY (process string)
+(defun epg--status-NO_PUBKEY (process string)
(epg-context-set-result-for
epg-context
'verify
(cons (epg-make-signature 'no-pubkey string)
(epg-context-result-for epg-context 'verify))))
-(defun epg-status-ERRSIG (process string)
+(defun epg--status-ERRSIG (process string)
(let ((signatures (epg-context-result-for epg-context 'verify)))
(unless signatures
(setq signatures (list (epg-make-signature 'error)))
(car signatures)
(match-string 5 string)))))
-(defun epg-status-VALIDSIG (process string)
+(defun epg--status-VALIDSIG (process string)
(let ((signature (car (epg-context-result-for epg-context 'verify))))
(when (and signature
(eq (epg-signature-status signature) 'good)
signature
(string-to-number (match-string 7 string) 16)))))
-(defun epg-status-TRUST_UNDEFINED (process string)
+(defun epg--status-TRUST_UNDEFINED (process string)
(let ((signature (car (epg-context-result-for epg-context 'verify))))
(if (and signature
(eq (epg-signature-status signature) 'good))
(epg-signature-set-validity signature 'undefined))))
-(defun epg-status-TRUST_NEVER (process string)
+(defun epg--status-TRUST_NEVER (process string)
(let ((signature (car (epg-context-result-for epg-context 'verify))))
(if (and signature
(eq (epg-signature-status signature) 'good))
(epg-signature-set-validity signature 'never))))
-(defun epg-status-TRUST_MARGINAL (process string)
+(defun epg--status-TRUST_MARGINAL (process string)
(let ((signature (car (epg-context-result-for epg-context 'verify))))
(if (and signature
(eq (epg-signature-status signature) 'marginal))
(epg-signature-set-validity signature 'marginal))))
-(defun epg-status-TRUST_FULLY (process string)
+(defun epg--status-TRUST_FULLY (process string)
(let ((signature (car (epg-context-result-for epg-context 'verify))))
(if (and signature
(eq (epg-signature-status signature) 'good))
(epg-signature-set-validity signature 'full))))
-(defun epg-status-TRUST_ULTIMATE (process string)
+(defun epg--status-TRUST_ULTIMATE (process string)
(let ((signature (car (epg-context-result-for epg-context 'verify))))
(if (and signature
(eq (epg-signature-status signature) 'good))
(epg-signature-set-validity signature 'ultimate))))
-(defun epg-status-PROGRESS (process string)
+(defun epg--status-PROGRESS (process string)
(if (string-match "\\`\\([^ ]+\\) \\([^ ]\\) \\([0-9]+\\) \\([0-9]+\\)"
string)
(funcall (if (consp (epg-context-progress-callback epg-context))
(if (consp (epg-context-progress-callback epg-context))
(cdr (epg-context-progress-callback epg-context))))))
-(defun epg-status-DECRYPTION_FAILED (process string)
+(defun epg--status-DECRYPTION_FAILED (process string)
(epg-context-set-result-for
epg-context 'error
(cons '(decryption-failed)
(epg-context-result-for epg-context 'error))))
-(defun epg-status-NODATA (process string)
+(defun epg--status-NODATA (process string)
(epg-context-set-result-for
epg-context 'error
(cons (list 'no-data (cons 'reason (string-to-number string)))
(epg-context-result-for epg-context 'error))))
-(defun epg-status-UNEXPECTED (process string)
+(defun epg--status-UNEXPECTED (process string)
(epg-context-set-result-for
epg-context 'error
(cons (list 'unexpected (cons 'reason (string-to-number string)))
(epg-context-result-for epg-context 'error))))
-(defun epg-status-KEYEXPIRED (process string)
+(defun epg--status-KEYEXPIRED (process string)
(epg-context-set-result-for
epg-context 'error
(cons (list 'key-expired (cons 'expiration-time string))
(epg-context-result-for epg-context 'error))))
-(defun epg-status-KEYREVOKED (process string)
+(defun epg--status-KEYREVOKED (process string)
(epg-context-set-result-for
epg-context 'error
(cons '(key-revoked)
(epg-context-result-for epg-context 'error))))
-(defun epg-status-BADARMOR (process string)
+(defun epg--status-BADARMOR (process string)
(epg-context-set-result-for
epg-context 'error
(cons '(bad-armor)
(epg-context-result-for epg-context 'error))))
-(defun epg-status-INV_RECP (process string)
+(defun epg--status-INV_RECP (process string)
(if (string-match "\\`\\([0-9]+\\) \\(.*\\)" string)
(epg-context-set-result-for
epg-context 'error
(match-string 2 string)))
(epg-context-result-for epg-context 'error)))))
-(defun epg-status-NO_RECP (process string)
+(defun epg--status-NO_RECP (process string)
(epg-context-set-result-for
epg-context 'error
(cons '(no-recipients)
(epg-context-result-for epg-context 'error))))
-(defun epg-status-DELETE_PROBLEM (process string)
+(defun epg--status-DELETE_PROBLEM (process string)
(if (string-match "\\`\\([0-9]+\\)" string)
(epg-context-set-result-for
epg-context 'error
(cons 'reason (string-to-number (match-string 1 string))))
(epg-context-result-for epg-context 'error)))))
-(defun epg-status-SIG_CREATED (process string)
+(defun epg--status-SIG_CREATED (process string)
(if (string-match "\\`\\([DCS]\\) \\([0-9]+\\) \\([0-9]+\\) \
\\([0-9A-Fa-F][0-9A-Fa-F]\\) \\(.*\\) " string)
(epg-context-set-result-for
(substring string (match-end 0)))
(epg-context-result-for epg-context 'sign)))))
-(defun epg-status-KEY_CREATED (process string)
+(defun epg--status-KEY_CREATED (process string)
(if (string-match "\\`\\([BPS]\\) \\([^ ]+\\)" string)
(epg-context-set-result-for
epg-context 'generate-key
(cons 'fingerprint (match-string 2 string)))
(epg-context-result-for epg-context 'generate-key)))))
-(defun epg-status-KEY_NOT_CREATED (process string)
+(defun epg--status-KEY_NOT_CREATED (process string)
(epg-context-set-result-for
epg-context 'error
(cons '(key-not-created)
(epg-context-result-for epg-context 'error))))
-(defun epg-status-IMPORTED (process string)
+(defun epg--status-IMPORTED (process string)
(if (string-match "\\`\\([^ ]+\\) \\(.*\\)" string)
(let* ((key-id (match-string 1 string))
(user-id (match-string 2 string))
(cons 'user-id user-id))
(epg-context-result-for epg-context 'import))))))
-(defun epg-status-IMPORT_OK (process string)
+(defun epg--status-IMPORT_OK (process string)
(let ((result (epg-context-result-for epg-context 'import)))
(if (and result
(string-match "\\`\\([0-9]+\\)\\( \\(.+\\)\\)?" string))
(match-string 3 string))))
(car result))))))
-(defun epg-status-IMPORT_PROBLEM (process string)
+(defun epg--status-IMPORT_PROBLEM (process string)
(if (string-match "\\`\\([0-9]+\\)\\( \\(.+\\)\\)?" string)
(epg-context-set-result-for
epg-context 'error
config))))
config))
-(defun epg-list-keys-1 (context name mode)
+(defun epg--list-keys-1 (context name mode)
(let ((args (append (list "--with-colons" "--no-greeting" "--batch"
"--with-fingerprint"
"--with-fingerprint"
(setq field (1+ field))))
(nreverse keys))))
-(defun epg-make-sub-key-1 (line)
+(defun epg--make-sub-key-1 (line)
(epg-make-sub-key
(if (aref line 1)
(cdr (assq (string-to-char (aref line 1)) epg-key-validity-alist)))
If MODE is t or 'secret, only secret keyring should be searched.
Otherwise, only public keyring should be searched and the key
signatures should be included."
- (let ((lines (epg-list-keys-1 context name mode))
+ (let ((lines (epg--list-keys-1 context name mode))
keys cert pointer pointer-1)
(while lines
(cond
keys))
(epg-key-set-sub-key-list
(car keys)
- (cons (epg-make-sub-key-1 (car lines))
+ (cons (epg--make-sub-key-1 (car lines))
(epg-key-sub-key-list (car keys)))))
((member (aref (car lines) 0) '("sub" "ssb"))
(epg-key-set-sub-key-list
(car keys)
- (cons (epg-make-sub-key-1 (car lines))
+ (cons (epg--make-sub-key-1 (car lines))
(epg-key-sub-key-list (car keys)))))
((equal (aref (car lines) 0) "uid")
(epg-key-set-user-id-list
keys))
(if (fboundp 'make-temp-file)
- (defalias 'epg-make-temp-file 'make-temp-file)
+ (defalias 'epg--make-temp-file 'make-temp-file)
(defvar temporary-file-directory)
;; stolen from poe.el.
- (defun epg-make-temp-file (prefix)
+ (defun epg--make-temp-file (prefix)
"Create a temporary file.
The returned file name (created by appending some random characters at the end
of PREFIX, and expanding against `temporary-file-directory' if necessary),
(error "Not a file"))
(epg-context-set-operation context 'decrypt)
(epg-context-set-result context nil)
- (epg-start context (list "--decrypt" (epg-data-file cipher)))
+ (epg--start context (list "--decrypt" (epg-data-file cipher)))
;; `gpgsm' does not read passphrase from stdin, so waiting is not needed.
(unless (eq (epg-context-protocol context) 'CMS)
(epg-wait-for-status context '("BEGIN_DECRYPTION"))))
(if plain
(epg-context-set-output-file context plain)
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output")))
+ (epg--make-temp-file "epg-output")))
(epg-start-decrypt context (epg-make-data-from-file cipher))
(epg-wait-for-completion context)
(if (epg-context-result-for context 'error)
;;;###autoload
(defun epg-decrypt-string (context cipher)
"Decrypt a string CIPHER and return the plain text."
- (let ((input-file (epg-make-temp-file "epg-input"))
+ (let ((input-file (epg--make-temp-file "epg-input"))
(coding-system-for-write 'binary))
(unwind-protect
(progn
(write-region cipher nil input-file nil 'quiet)
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output"))
+ (epg--make-temp-file "epg-output"))
(epg-start-decrypt context (epg-make-data-from-file input-file))
(epg-wait-for-completion context)
(if (epg-context-result-for context 'error)
(if signed-text
;; Detached signature.
(if (epg-data-file signed-text)
- (epg-start context (list "--verify" (epg-data-file signature)
+ (epg--start context (list "--verify" (epg-data-file signature)
(epg-data-file signed-text)))
- (epg-start context (list "--verify" (epg-data-file signature) "-"))
+ (epg--start context (list "--verify" (epg-data-file signature) "-"))
(if (eq (process-status (epg-context-process context)) 'run)
(process-send-string (epg-context-process context)
(epg-data-string signed-text)))
(process-send-eof (epg-context-process context))))
;; Normal (or cleartext) signature.
(if (epg-data-file signature)
- (epg-start context (list "--verify" (epg-data-file signature)))
- (epg-start context (list "--verify"))
+ (epg--start context (list "--verify" (epg-data-file signature)))
+ (epg--start context (list "--verify"))
(if (eq (process-status (epg-context-process context)) 'run)
(process-send-string (epg-context-process context)
(epg-data-string signature)))
(if plain
(epg-context-set-output-file context plain)
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output")))
+ (epg--make-temp-file "epg-output")))
(if signed-text
(epg-start-verify context
(epg-make-data-from-file signature)
(unwind-protect
(progn
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output"))
+ (epg--make-temp-file "epg-output"))
(if signed-text
(progn
- (setq input-file (epg-make-temp-file "epg-signature"))
+ (setq input-file (epg--make-temp-file "epg-signature"))
(write-region signature nil input-file nil 'quiet)
(epg-start-verify context
(epg-make-data-from-file input-file)
`epg-sign-file' or `epg-sign-string' instead."
(epg-context-set-operation context 'sign)
(epg-context-set-result context nil)
- (epg-start context
+ (epg--start context
(append (list (if (memq mode '(t detached))
"--detach-sign"
(if (memq mode '(nil normal))
(if signature
(epg-context-set-output-file context signature)
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output")))
+ (epg--make-temp-file "epg-output")))
(epg-start-sign context (epg-make-data-from-file plain) mode)
(epg-wait-for-completion context)
(unless (epg-context-result-for context 'sign)
(unwind-protect
(progn
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output"))
+ (epg--make-temp-file "epg-output"))
(epg-start-sign context (epg-make-data-from-string plain) mode)
(epg-wait-for-completion context)
(unless (epg-context-result-for context 'sign)
`epg-encrypt-file' or `epg-encrypt-string' instead."
(epg-context-set-operation context 'encrypt)
(epg-context-set-result context nil)
- (epg-start context
+ (epg--start context
(append (if always-trust '("--always-trust"))
(if recipients '("--encrypt") '("--symmetric"))
(if sign
(if cipher
(epg-context-set-output-file context cipher)
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output")))
+ (epg--make-temp-file "epg-output")))
(epg-start-encrypt context (epg-make-data-from-file plain)
recipients sign always-trust)
(epg-wait-for-completion context)
(unwind-protect
(progn
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output"))
+ (epg--make-temp-file "epg-output"))
(epg-start-encrypt context (epg-make-data-from-string plain)
recipients sign always-trust)
(epg-wait-for-completion context)
`epg-export-keys-to-file' or `epg-export-keys-to-string' instead."
(epg-context-set-operation context 'export-keys)
(epg-context-set-result context nil)
- (epg-start context (cons "--export"
+ (epg--start context (cons "--export"
(mapcar
(lambda (key)
(epg-sub-key-id
(if keys
(epg-context-set-output-file context file)
(epg-context-set-output-file context
- (epg-make-temp-file "epg-output")))
+ (epg--make-temp-file "epg-output")))
(epg-start-export-keys context keys)
(epg-wait-for-completion context)
(if (epg-context-result-for context 'error)
`epg-import-keys-from-file' or `epg-import-keys-from-string' instead."
(epg-context-set-operation context 'import-keys)
(epg-context-set-result context nil)
- (epg-start context (list "--import" (epg-data-file keys)))
+ (epg--start context (list "--import" (epg-data-file keys)))
(when (epg-data-string keys)
(if (eq (process-status (epg-context-process context)) 'run)
(process-send-string (epg-context-process context)
(if (eq (process-status (epg-context-process context)) 'run)
(process-send-eof (epg-context-process context)))))
-(defun epg-import-keys-1 (context keys)
+(defun epg--import-keys-1 (context keys)
(unwind-protect
(progn
(epg-start-import-keys context keys)
;;;###autoload
(defun epg-import-keys-from-file (context keys)
"Add keys from a file KEYS."
- (epg-import-keys-1 context (epg-make-data-from-file keys)))
+ (epg--import-keys-1 context (epg-make-data-from-file keys)))
;;;###autoload
(defun epg-import-keys-from-string (context keys)
"Add keys from a string KEYS."
- (epg-import-keys-1 context (epg-make-data-from-string keys)))
+ (epg--import-keys-1 context (epg-make-data-from-string keys)))
;;;###autoload
(defun epg-start-receive-keys (context key-id-list)
`epg-generate-key-from-file' or `epg-generate-key-from-string' instead."
(epg-context-set-operation context 'receive-keys)
(epg-context-set-result context nil)
- (epg-start context (cons "--recv-keys" key-id-list)))
+ (epg--start context (cons "--recv-keys" key-id-list)))
;;;###autoload
(defun epg-receive-keys (context keys)
`epg-delete-keys' instead."
(epg-context-set-operation context 'delete-keys)
(epg-context-set-result context nil)
- (epg-start context (cons (if allow-secret
+ (epg--start context (cons (if allow-secret
"--delete-secret-key"
"--delete-key")
(mapcar
`epg-sign-keys' instead."
(epg-context-set-operation context 'sign-keys)
(epg-context-set-result context nil)
- (epg-start context (cons (if local
+ (epg--start context (cons (if local
"--lsign-key"
"--sign-key")
(mapcar
(epg-context-set-operation context 'generate-key)
(epg-context-set-result context nil)
(if (epg-data-file parameters)
- (epg-start context (list "--batch" "--genkey"
+ (epg--start context (list "--batch" "--genkey"
(epg-data-file parameters)))
- (epg-start context '("--batch" "--genkey"))
+ (epg--start context '("--batch" "--genkey"))
(if (eq (process-status (epg-context-process context)) 'run)
(process-send-string (epg-context-process context)
(epg-data-string parameters)))
(epg-context-result-for context 'error))))
(epg-reset context)))
-(defun epg-decode-hexstring (string)
+(defun epg--decode-hexstring (string)
(let ((index 0))
(while (eq index (string-match "[0-9A-Fa-f][0-9A-Fa-f]" string index))
(setq string (replace-match "\\x\\&" t nil string)
index (+ index 4)))
(car (read-from-string (concat "\"" string "\"")))))
-(defun epg-decode-quotedstring (string)
+(defun epg--decode-quotedstring (string)
(let ((index 0))
(while (string-match "\\\\\\(\\([,=+<>#;\\\"]\\)\\|\
\\([0-9A-Fa-f][0-9A-Fa-f]\\)\\|\\(.\\)\\)"
"\\([^,=+<>#;\\\"]\\|\\\\.\\)+"
string index))
(setq index (match-end 0)
- value (epg-decode-quotedstring (match-string 0 string)))
+ value (epg--decode-quotedstring (match-string 0 string)))
(if (eq index (string-match "#\\([0-9A-Fa-f]+\\)" string index))
(setq index (match-end 0)
- value (epg-decode-hexstring (match-string 1 string)))
+ value (epg--decode-hexstring (match-string 1 string)))
(if (eq index (string-match "\"\\([^\\\"]\\|\\\\.\\)*\""
string index))
(setq index (match-end 0)
- value (epg-decode-quotedstring (match-string 0 string))))))
+ value (epg--decode-quotedstring
+ (match-string 0 string))))))
(if group
(if (stringp (car (car alist)))
(setcar alist (list (cons type value) (car alist)))