[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
tramp (2.1.6-pre); Patch: allow echo from remote shell
From: |
Heike C. Zimmerer |
Subject: |
tramp (2.1.6-pre); Patch: allow echo from remote shell |
Date: |
Sat, 18 Feb 2006 13:09:07 +0100 |
Enter your bug report in this message, including as much detail
as you possibly can about the problem, what you did to cause it
and what the local and remote machines are.
If you can give a simple set of instructions to make this bug
happen reliably, please include those. Thank you for helping
kill bugs in TRAMP.
Another useful thing to do is to put
(setq tramp-verbose 9
tramp-debug-buffer t)
in the ~/.emacs file and to repeat the bug. Then, include the
contents of the *tramp/foo* buffer and the *debug tramp/foo*
buffer in your bug report.
--bug report follows this line--
Some systems don't allow to disable the echo from the remote shell.
This is especially true for embedded systems with relatively simple
tty implementations like the busybox shell on the Nokia770 internet
tablet or on the dreambox. Attached is a patch to tramp.el to handle
this. I think it's relatively self-explaining.
It includes a correction for a typo in tramp-maybe-open-connection:
(unless (and (memq (process-status p) '(run open))
- (tramp-wait-for-output 10))
+ (tramp-wait-for-output p 10))
for which I'm going to file a separate bug report ("typo in
tramp-maybe-open-connection") for the sake of completeness.
Thanks for your good work; tramp really is a wonderful tool.
- Heike C. Zimmerer
tramp-echo-patch
Description: tramp echo patch
----------------------------------------------------------------------
Emacs : GNU Emacs 22.0.50.4 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2006-02-11 on tazzelwurm
Package: tramp (2.1.6-pre)
current state:
==============
(setq
tramp-current-method nil
tramp-current-user nil
tramp-current-host nil
tramp-auto-save-directory nil
tramp-default-method "ssh"
tramp-default-method-alist '(("nokia" "" "ssh") ("sat" "" "ftp")
("dreambox" "" "ftp") (nil "%" "smb")
("" "\\`\\(anonymous\\|ftp\\)\\'" "ftp")
("\\`ftp\\." "" "ftp")
("\\`localhost\\'" "\\`root\\'" "su"))
tramp-default-host "tazzelwurm.hczim.de"
tramp-default-proxies-alist nil
tramp-default-user nil
tramp-default-user-alist '(("ssh" "nokia" "user") ("ftp" ".*sat.*" "root")
("smb" nil "") ("\\`su\\(do\\)?\\'" nil "root")
("\\`r\\(em\\)?\\(cp\\|sh\\)\\|telnet\\'" nil
"hcz")
)
tramp-rsh-end-of-line "\n"
tramp-default-password-end-of-line "\n"
tramp-remote-path '("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin"
"/usr/ccs/bin" "/local/bin" "/local/freeware/bin"
"/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin"
"/usr/xpg4/bin" "/usr/contrib/bin")
tramp-login-prompt-regexp ".*ogin\\( .*\\)?: *"
;; variable encoded due to non-printable characters
tramp-password-prompt-regexp (base64-decode-string
"Xi4qXChbcFBdYXNzd29yZFx8cGFzc3BocmFzZVwpLio6AD8gKg==")
tramp-wrong-passwd-regexp "^.*\\(Connection \\(closed\\|refused\\)\\|Host key
verification failed\\.\\|Login \\(Incorrect\\|incorrect\\)\\|Name or service
not known\\|Permission denied\\.\\|Sorry, try again\\.\\|Tramp connection
closed\\).*\\|^.*\\(Received signal [0-9]+\\).*"
tramp-yesno-prompt-regexp "\\(Are you sure you want to continue connecting
(yes/no)\\?\\)\\s-*"
tramp-yn-prompt-regexp "\\(Store key in cache\\? (y/n)\\)\\s-*"
tramp-terminal-prompt-regexp "\\(TERM = (.*)\\|Terminal type\\?
\\[.*\\]\\)\\s-*"
tramp-temp-name-prefix "tramp."
tramp-file-name-structure '("^/\\(\\([a-zA-Z_0-9-]+\\):\\)?\\(\\([^:/
]+\\)@\\)?\\([a-zA-Z0-9_.-]+\\(#[0-9]+\\)?\\)?:\\(.*$\\)" 2 4 5 7)
tramp-file-name-regexp "\\`/[^/:]+:"
tramp-methods '(("smb") ("ftp")
("rcp" (tramp-login-program "rsh") (tramp-copy-program "rcp")
(tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h") ("-l" "%u")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp" (tramp-login-program "ssh") (tramp-copy-program "scp")
(tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp1" (tramp-login-program "ssh")
(tramp-copy-program "scp") (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-1" "-e" "none")))
(tramp-copy-args ("-1")) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp2" (tramp-login-program "ssh")
(tramp-copy-program "scp") (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-2" "-e" "none")))
(tramp-copy-args ("-2")) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp1_old" (tramp-login-program "ssh1")
(tramp-copy-program "scp1") (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp2_old" (tramp-login-program "ssh2")
(tramp-copy-program "scp2") (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("sftp" (tramp-login-program "ssh")
(tramp-copy-program "sftp") (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("rsync" (tramp-login-program "ssh")
(tramp-copy-program "rsync") (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args ("-e" "ssh"))
(tramp-copy-keep-date-arg "-t")
(tramp-password-end-of-line nil))
("remcp" (tramp-login-program "remsh")
(tramp-copy-program "rcp") (tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h") ("-l" "%u")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("rsh" (tramp-login-program "rsh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h") ("-l" "%u")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh" (tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh1" (tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-1" "-e" "none")))
(tramp-copy-args ("-1")) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh2" (tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-2" "-e" "none")))
(tramp-copy-args ("-2")) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh1_old" (tramp-login-program "ssh1")
(tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh2_old" (tramp-login-program "ssh2")
(tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("remsh" (tramp-login-program "remsh")
(tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h") ("-l" "%u")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("telnet" (tramp-login-program "telnet")
(tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h"))) (tramp-copy-args nil)
(tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("su" (tramp-login-program "su") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args (("-") ("%u"))) (tramp-copy-args nil)
(tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("sudo" (tramp-login-program "sudo") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args (("-u" "%u") ("-s" "-p" "Password:")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("scpx" (tramp-login-program "ssh")
(tramp-copy-program "scp") (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p")
("-e" "none" "-t" "-t" "/bin/sh"))
)
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("sshx" (tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-p" "%p")
("-e" "none" "-t" "-t" "/bin/sh"))
)
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("krlogin" (tramp-login-program "krlogin")
(tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h") ("-l" "%u") ("-x")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("plink" (tramp-login-program "plink")
(tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h") ("-l" "%u") ("-P" "%p") ("-ssh")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line "xy"))
("plink1" (tramp-login-program "plink")
(tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args
(("%h") ("-l" "%u") ("-P" "%p") ("-1" "-ssh")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line "xy"))
("pscp" (tramp-login-program "plink")
(tramp-copy-program "pscp") (tramp-remote-sh "/bin/sh")
(tramp-login-args (("%h") ("-l" "%u") ("-P" "%p") ("-ssh")))
(tramp-copy-args ("-scp")) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line "xy"))
("psftp" (tramp-login-program "plink")
(tramp-copy-program "pscp") (tramp-remote-sh "/bin/sh")
(tramp-login-args ("%h") ("-l" "%u") ("-P" "%p") ("-ssh"))
(tramp-copy-args ("-psftp")) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line "xy"))
("fcp" (tramp-login-program "fsh") (tramp-copy-program "fcp")
(tramp-remote-sh "/bin/sh -i")
(tramp-login-args (("%h") ("-l" "%u") ("sh" "-i")))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
)
tramp-end-of-output "///ddcf225d659e312e344f67ff671be9d7"
tramp-local-coding-commands '((b64 base64-encode-region base64-decode-region)
(uu tramp-uuencode-region
uudecode-decode-region)
(pack
"perl -e 'binmode STDIN; binmode STDOUT; print
pack(q{u*}, join q{}, <>)'" "perl -e 'binmode STDIN; binmode STDOUT; print
unpack(q{u*}, join q{}, <>)'")
)
tramp-remote-coding-commands '((b64 "mimencode -b" "mimencode -u -b")
(b64 "mmencode -b" "mmencode -u -b")
(b64 "recode data..base64"
"recode base64..data")
(b64 tramp-perl-encode-with-module
tramp-perl-decode-with-module)
(b64 tramp-perl-encode tramp-perl-decode)
(uu "uuencode xxx" "uudecode -o /dev/stdout")
(uu "uuencode xxx" "uudecode -o -")
(uu "uuencode xxx" "uudecode -p")
(uu "uuencode xxx" tramp-uudecode)
(pack
"perl -e 'binmode STDIN; binmode STDOUT; print
pack(q{u*}, join q{}, <>)'" "perl -e 'binmode STDIN; binmode STDOUT; print
unpack(q{u*}, join q{}, <>)'")
)
tramp-actions-before-shell '((tramp-login-prompt-regexp tramp-action-login)
(tramp-password-prompt-regexp
tramp-action-password)
(tramp-wrong-passwd-regexp
tramp-action-permission-denied)
(shell-prompt-pattern tramp-action-succeed)
(tramp-shell-prompt-pattern tramp-action-succeed)
(tramp-yesno-prompt-regexp tramp-action-yesno)
(tramp-yn-prompt-regexp tramp-action-yn)
(tramp-terminal-prompt-regexp
tramp-action-terminal)
(tramp-process-alive-regexp
tramp-action-process-alive)
)
tramp-actions-copy-out-of-band '((tramp-password-prompt-regexp
tramp-action-password)
(tramp-wrong-passwd-regexp
tramp-action-permission-denied)
(tramp-process-alive-regexp
tramp-action-out-of-band)
)
tramp-terminal-type "dumb"
;; variable encoded due to non-printable characters
tramp-shell-prompt-pattern (base64-decode-string
"XlteIyQlPgpdKlsjJCU+XSAqXCgbXFtbMC05O10qW2EtekEtWl0gKlwpKg==")
tramp-chunksize nil
tramp-backup-directory-alist nil
shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
backup-by-copying nil
backup-by-copying-when-linked t
backup-by-copying-when-mismatch t
backup-by-copying-when-privileged-mismatch 200
password-cache t
password-cache-expiry 16
backup-directory-alist nil
file-name-handler-alist
'(("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.bz2\\'\\|\\.tbz\\'\\|\\.tgz\\'\\|\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.dz\\'"
. jka-compr-handler)
("^/$\\|^/[^/:][^/]*$" .
tramp-completion-file-name-handler)
("\\`/[^/:]+:" . tramp-file-name-handler)
("\\`/:" . file-name-non-special))
)
(setq
buffer-name "*tramp/ssh address@hidden"
tramp-cache-data #<hash-table 'equal nil 28/65 0x8974f50>
tramp-current-method "ssh"
tramp-current-user "user"
tramp-current-host "nokia"
tramp-current-hop-method "ssh"
tramp-current-hop-user "user"
tramp-current-hop-host "nokia"
tramp-chunksize nil
tramp-last-cmd-time '(17398 62141 536296)
tramp-remote-path '("/bin" "/usr/bin" "/usr/sbin")
tramp-connection-property-test "test"
tramp-connection-property-perl nil
tramp-connection-property-scripts '("tramp_perl_encode"
"tramp_perl_encode_with_module")
tramp-connection-property-local-encoding 'tramp-uuencode-region
tramp-connection-property-local-decoding 'uudecode-decode-region
tramp-connection-property-remote-encoding "uuencode xxx"
tramp-connection-property-remote-decoding "uudecode -o /dev/stdout"
tramp-connection-property-ls "/bin/ls"
tramp-connection-property-file-exists "test -e"
tramp-connection-property-stat nil
tramp-connection-property-id "/usr/bin/id"
tramp-connection-property-gid-integer 29999
)
txthIuDhHtyB3.txt
Description: *tramp/ssh user@nokia*
- tramp (2.1.6-pre); Patch: allow echo from remote shell,
Heike C. Zimmerer <=