[mew-dist 24862] patch for supporting PuTTY.

Shuichi KITAGUCHI ki at example.com
2004年 5月 2日 (日) 00:27:25 JST


北口です。

POP over SSHとSMTP over SSHを使いたかったので、mew-ssh.elをPuTTYに対応
するように修正してみました。

      (setq mew-ssh-prog "plink")

とすると使えます。制限その他は、

・Mewからのパスワード入力は使えないので、pageant利用が前提。
・"XXX"と付いているところは暫定(よくわからなかった)。
・"-L%d:%s:%s" を "-L" と "%d:%s:%s" に分離した(PuTTYはくっつけていると
  エラーになる模様。くっつける必要性があったのか、よく理解していません)。
・検出がいい加減(明にplinkを指定する必要があるので、問題ないとは思いますが)。

というところです。


--
Shuichi Kitaguchi // kit at example.com / ki at example.com
-------------- next part --------------
? diffs
Index: mew-ssh.el
===================================================================
RCS file: /cvsmew/mew/mew-ssh.el,v
retrieving revision 1.33
diff -u -r1.33 mew-ssh.el
--- mew-ssh.el	24 Mar 2004 07:29:00 -0000	1.33
+++ mew-ssh.el	1 May 2004 15:18:53 -0000
@@ -7,7 +7,7 @@
 
 (require 'mew)
 
-(defvar mew-ssh-prog-ver nil)		;; 0-SSH1, 1-SSH2, 2-OpenSSH
+(defvar mew-ssh-prog-ver nil)		;; 0-SSH1, 1-SSH2, 2-OpenSSH, 3-PuTTY
 
 (defsubst mew-ssh-get (case list-or-vec)
   (elt list-or-vec (mew-ssh-prog-ver case)))
@@ -15,20 +15,24 @@
 (defconst mew-ssh-msg-passwd 
   '("password:\\|Enter passphrase"
     "password:\\|Passphrase for\\|Enter passphrase"
-    "password:\\|Enter passphrase"))
+    "password:\\|Enter passphrase"
+    "Password:\\|Passphrase for key"))
 
 (defconst mew-ssh-msg-connected
   '("Entering interactive session"
     "Authentication successful\\|client_authenticated"
-    "Entering interactive session"))
+    "Entering interactive session"
+    "Access granted"))
 
 (defconst mew-ssh-msg-denied
-  '("Permission denied\\." "Permission denied\\." "Permission denied\\."))
+  '("Permission denied\\." "Permission denied\\." "Permission denied\\."
+    "Permission denied\\."))		;XXX
 
 (defconst mew-ssh-msg-refused
   '("Secure connection .* refused\\."
     "FATAL: Connecting .* failed:"
-    "Secure connection .* refused\\."))
+    "Secure connection .* refused\\."
+    "Secure connection .* refused\\."))	;XXX
 
 (defconst mew-ssh-process-exec-cnt 3)
 
@@ -108,8 +112,8 @@
 	    (setq name (mew-ssh-info-name sshserver server remoteport localport))
 	    (setq pro (apply 'start-process
 			     name buf
-			     ssh "-x" "-v"
-			     (format "-L%d:%s:%s" localport server remoteport)
+			     ssh "-x" "-v" "-L"
+			     (format "%d:%s:%s" localport server remoteport)
 			     (append args (list sshserver))))
 	    ;; An error would occur. So, let's exit in the case.
 	    (mew-timing)
@@ -219,6 +223,8 @@
 	  (setq mew-ssh-prog-ver 1))
 	 ((looking-at "\\(SSH Version \\)?\\(OpenSSH\\|NetBSD\\|Sun_SSH\\)")
 	  (setq mew-ssh-prog-ver 2))
+	 ((looking-at "plink:")
+	  (setq mew-ssh-prog-ver 3))
 	 (t
 	  (setq mew-ssh-prog-ver nil)))))))
 


Mew-dist メーリングリストの案内