aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2005-11-04 14:41:51 +0000
committerEli Zaretskii2005-11-04 14:41:51 +0000
commit9e673321566a7571e2d6d7d6ad8bb68645bf450c (patch)
treee945739c3e359301c6129adf25427dc8d37c6b4b
parentc6037c0000d4134fd4b9e46feeba55c9718bcb37 (diff)
downloademacs-9e673321566a7571e2d6d7d6ad8bb68645bf450c.tar.gz
emacs-9e673321566a7571e2d6d7d6ad8bb68645bf450c.zip
(pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric) (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt) (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase' argument to all these routines, so the passphrase can be managed externally and passed in to the system. (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache function.
-rw-r--r--lisp/ChangeLog20
-rw-r--r--lisp/pgg-pgp5.el48
2 files changed, 49 insertions, 19 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3f0715379ee..8ec92ea9198 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,23 @@
12005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
2
3 * pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
4 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
5 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
6 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
7 argument to all these routines, so the passphrase can be managed
8 externally and passed in to the system.
9 (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
10 pgg-add-passphrase-to-cache function.
11
12 * pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
13 (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
14 (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
15 (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
16 argument to all these routines, so the passphrase can be managed
17 externally and passed in to the system.
18 (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
19 function.
20
12005-11-04 Edward O'Connor <hober0@gmail.com> (tiny change) 212005-11-04 Edward O'Connor <hober0@gmail.com> (tiny change)
2 22
3 * net/goto-addr.el (goto-address-url-regexp): Remove `data:' URLs 23 * net/goto-addr.el (goto-address-url-regexp): Remove `data:' URLs
diff --git a/lisp/pgg-pgp5.el b/lisp/pgg-pgp5.el
index ffe467ec044..6cb5331ed55 100644
--- a/lisp/pgg-pgp5.el
+++ b/lisp/pgg-pgp5.el
@@ -143,41 +143,51 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
143 (buffer-substring (match-end 0)(progn (end-of-line)(point))))) 143 (buffer-substring (match-end 0)(progn (end-of-line)(point)))))
144 2))))) 144 2)))))
145 145
146(defun pgg-pgp5-encrypt-region (start end recipients &optional sign) 146(defun pgg-pgp5-encrypt-region (start end recipients &optional sign passphrase)
147 "Encrypt the current region between START and END." 147 "Encrypt the current region between START and END."
148 (let* ((pgg-pgp5-user-id (or pgg-pgp5-user-id pgg-default-user-id)) 148 (let* ((pgg-pgp5-user-id (or pgg-pgp5-user-id pgg-default-user-id))
149 (passphrase (or passphrase
150 (when sign
151 (pgg-read-passphrase
152 (format "PGP passphrase for %s: "
153 pgg-pgp5-user-id)
154 pgg-pgp5-user-id))))
149 (args 155 (args
150 `("+NoBatchInvalidKeys=off" "-fat" "+batchmode=1" 156 (append
151 ,@(if recipients 157 `("+NoBatchInvalidKeys=off" "-fat" "+batchmode=1"
152 (apply #'append 158 ,@(if recipients
153 (mapcar (lambda (rcpt) 159 (apply #'append
154 (list "-r" 160 (mapcar (lambda (rcpt)
155 (concat "\"" rcpt "\""))) 161 (list "-r"
156 (append recipients 162 (concat "\"" rcpt "\"")))
157 (if pgg-encrypt-for-me 163 (append recipients
158 (list pgg-pgp5-user-id))))))))) 164 (if pgg-encrypt-for-me
165 (list pgg-pgp5-user-id)))))))
166 (if sign '("-s" "-u" pgg-pgp5-user-id)))))
159 (pgg-pgp5-process-region start end nil pgg-pgp5-pgpe-program args) 167 (pgg-pgp5-process-region start end nil pgg-pgp5-pgpe-program args)
160 (pgg-process-when-success nil))) 168 (pgg-process-when-success nil)))
161 169
162(defun pgg-pgp5-decrypt-region (start end) 170(defun pgg-pgp5-decrypt-region (start end &optional passphrase)
163 "Decrypt the current region between START and END." 171 "Decrypt the current region between START and END."
164 (let* ((pgg-pgp5-user-id (or pgg-pgp5-user-id pgg-default-user-id)) 172 (let* ((pgg-pgp5-user-id (or pgg-pgp5-user-id pgg-default-user-id))
165 (passphrase 173 (passphrase
166 (pgg-read-passphrase 174 (or passphrase
167 (format "PGP passphrase for %s: " pgg-pgp5-user-id) 175 (pgg-read-passphrase
168 (pgg-pgp5-lookup-key pgg-pgp5-user-id 'encrypt))) 176 (format "PGP passphrase for %s: " pgg-pgp5-user-id)
177 (pgg-pgp5-lookup-key pgg-pgp5-user-id 'encrypt))))
169 (args 178 (args
170 '("+verbose=1" "+batchmode=1" "+language=us" "-f"))) 179 '("+verbose=1" "+batchmode=1" "+language=us" "-f")))
171 (pgg-pgp5-process-region start end passphrase pgg-pgp5-pgpv-program args) 180 (pgg-pgp5-process-region start end passphrase pgg-pgp5-pgpv-program args)
172 (pgg-process-when-success nil))) 181 (pgg-process-when-success nil)))
173 182
174(defun pgg-pgp5-sign-region (start end &optional clearsign) 183(defun pgg-pgp5-sign-region (start end &optional clearsign passphrase)
175 "Make detached signature from text between START and END." 184 "Make detached signature from text between START and END."
176 (let* ((pgg-pgp5-user-id (or pgg-pgp5-user-id pgg-default-user-id)) 185 (let* ((pgg-pgp5-user-id (or pgg-pgp5-user-id pgg-default-user-id))
177 (passphrase 186 (passphrase
178 (pgg-read-passphrase 187 (or passphrase
179 (format "PGP passphrase for %s: " pgg-pgp5-user-id) 188 (pgg-read-passphrase
180 (pgg-pgp5-lookup-key pgg-pgp5-user-id 'sign))) 189 (format "PGP passphrase for %s: " pgg-pgp5-user-id)
190 (pgg-pgp5-lookup-key pgg-pgp5-user-id 'sign))))
181 (args 191 (args
182 (list (if clearsign "-fat" "-fbat") 192 (list (if clearsign "-fat" "-fbat")
183 "+verbose=1" "+language=us" "+batchmode=1" 193 "+verbose=1" "+language=us" "+batchmode=1"
@@ -191,7 +201,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
191 (point)) 201 (point))
192 (point-max)))))) 202 (point-max))))))
193 (if pgg-cache-passphrase 203 (if pgg-cache-passphrase
194 (pgg-add-passphrase-cache 204 (pgg-add-passphrase-to-cache
195 (cdr (assq 'key-identifier packet)) 205 (cdr (assq 'key-identifier packet))
196 passphrase))))))) 206 passphrase)))))))
197 207