pgg-pgp5
中川 誠
Makoto.Nakagawa @ jp.compaq.com
2000年 1月 11日 (火) 11:27:55 JST
中川@コンパック(株)です。
いくつか気が付いた点がありましたのでパッチを作成してみました。
emiko-1_13-200001060443 へのパッチです。
・pgp と pgp5 で verify-region がタイミング(検証対象が大きくなると?)に
よっては SIGPIPE のエラーとなります。pgg-*-process-region を使うのばま
ずそうなので、call-process を使用するように変更してみました。
semi-pgpgpg では問題がないのは call-process-region と
pgg-*-process-region の仕様の差のようです。
・pgp と pgp5 で lookup-key-string での call-process への引数の数が間違っ
ているようなので修正しました。
・gpg で lookup-key-string を call-process でおこなうように変更してみま
した。入力を取らないのに pgg-gpg-process-region を利用するのは上の例も
あって気持ちが悪いように思いました。pgp、pgp5 の両方での実装に合わせた
だけです。
とりあえず動作しているようです。
-------------- next part --------------
--- pgg-gpg.el.orig Fri Nov 26 15:29:09 1999
+++ pgg-gpg.el Tue Jan 11 02:56:17 2000
@@ -136,8 +136,10 @@
(let ((args (list "--with-colons" "--no-greeting" "--batch"
(if type "--list-secret-keys" "--list-keys")
string)))
- (pgg-gpg-process-region (point)(point) nil pgg-gpg-program args)
- (with-current-buffer pgg-output-buffer
+ (with-current-buffer (get-buffer-create pgg-output-buffer)
+ (buffer-disable-undo)
+ (erase-buffer)
+ (apply #'call-process pgg-gpg-program nil t nil args)
(goto-char (point-min))
(when (re-search-forward "^\\(sec\\|pub\\):" nil t)
(substring
--- pgg-pgp5.el.orig Fri Nov 26 15:29:10 1999
+++ pgg-pgp5.el Tue Jan 11 03:24:11 2000
@@ -140,7 +140,7 @@
(with-current-buffer (get-buffer-create pgg-output-buffer)
(buffer-disable-undo)
(erase-buffer)
- (apply #'call-process pgg-pgp5-pgpk-program nil t args)
+ (apply #'call-process pgg-pgp5-pgpk-program nil t nil args)
(goto-char (point-min))
(when (re-search-forward "^sec" nil t)
(substring
@@ -216,8 +216,12 @@
start end &optional signature)
(let* ((basename (expand-file-name "pgg" temporary-file-directory))
(orig-file (make-temp-name basename))
- (args '("+verbose=1" "+batchmode=1" "+language=us"))
- (orig-mode (default-file-modes)))
+ (args
+ (append
+ '("+verbose=1" "+batchmode=1" "+language=us")
+ pgg-pgp5-extra-args))
+ (orig-mode (default-file-modes))
+ exit-status)
(unwind-protect
(progn
(set-default-file-modes 448)
@@ -228,8 +232,16 @@
(copy-file signature (setq signature (concat orig-file ".asc")))
(setq args (append args (list signature)))
)
- (pgg-pgp5-process-region (point-min)(point-max) nil
- pgg-pgp5-pgpv-program args)
+ (with-current-buffer (get-buffer-create pgg-output-buffer)
+ (buffer-disable-undo)
+ (erase-buffer)
+ (setq exit-status
+ (apply #'call-process pgg-pgp5-pgpv-program nil t nil args))
+
+ (pgg-convert-lbt-region (point-min)(point-max) 'LF)
+
+ (if (= 127 exit-status)
+ (error "%s could not be found" program)))
(delete-file orig-file)
(if signature (delete-file signature))
(pgg-process-when-success nil)
--- pgg-pgp.el.orig Fri Nov 26 15:29:10 1999
+++ pgg-pgp.el Tue Jan 11 03:24:07 2000
@@ -125,7 +125,7 @@
(with-current-buffer (get-buffer-create pgg-output-buffer)
(buffer-disable-undo)
(erase-buffer)
- (apply #'call-process pgg-pgp-program nil t args)
+ (apply #'call-process pgg-pgp-program nil t nil args)
(goto-char (point-min))
(cond
((re-search-forward "^pub\\s +[0-9]+/" nil t);PGP 2.*
@@ -204,7 +204,10 @@
start end &optional signature)
(let* ((basename (expand-file-name "pgg" temporary-file-directory))
(orig-file (make-temp-name basename))
- (args '("+verbose=1" "+batchmode" "+language=us"))
+ (args
+ (append
+ '("+verbose=1" "+batchmode" "+language=us")
+ pgg-pgp-extra-args))
(orig-mode (default-file-modes)))
(unwind-protect
(progn
@@ -216,8 +219,16 @@
(copy-file signature (setq signature (concat orig-file ".asc")))
(setq args (append args (list signature orig-file)))
)
- (pgg-pgp-process-region (point-min)(point-max) nil
- pgg-pgp-program args)
+ (with-current-buffer (get-buffer-create pgg-output-buffer)
+ (buffer-disable-undo)
+ (erase-buffer)
+ (setq exit-status
+ (apply #'call-process pgg-pgp-program nil t nil args))
+
+ (pgg-convert-lbt-region (point-min)(point-max) 'LF)
+
+ (if (= 127 exit-status)
+ (error "%s could not be found" program)))
(delete-file orig-file)
(if signature (delete-file signature))
(pgg-process-when-success
-------------- next part --------------
--
/*** Compaq Computer K.K. ***/
/*** Network and Systems Integration Servieces ***/
/*** Nakagawa, Makoto(中川 誠) ***/
/* F6 E1 41 25 49 DF A8 82 D4 94 4F 0C 95 6B D7 57 */
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: 無し
型: application/pgp-signature
サイズ: 366 バイト
説明: 無し
URL: <http://lists.chise.org/pipermail/emacs-mime-ja/attachments/20000111/3b3762f0/attachment.pgp>
More information about the Emacs-mime-ja
mailing list