tramp-devel
[Top][All Lists]
Advanced

[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

Attachment: 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
 )


Attachment: txthIuDhHtyB3.txt
Description: *tramp/ssh user@nokia*


reply via email to

[Prev in Thread] Current Thread [Next in Thread]