tramp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

tramp (2.0.38); internal uuencode can leave trailing NULs


From: Aaron Ucko
Subject: tramp (2.0.38); internal uuencode can leave trailing NULs
Date: Fri, 14 May 2004 14:19:07 -0400

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-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--

TRAMP's internal uuencode implementation, which seems to be its
default encoding method (at least on this system, which doesn't have
mimencode, mmencode, or recode installed), has an annoying bug: if
the content's length is just short of a multiple of 45 bytes, the
last line of data starts with M rather than K or L, so the padding
turns into one or two actual NULs.

For instance, one file came out as

M(R`D260D"@II;F-L=61E("0H8G5I;&1D:7(I+TUA:V5F:6QE+FUK"FEN8VQU
M9&4@)"AB=6EL9&1I<BDO36%K969I;&4N)"A2=6QE<RD*"D%,3"`]0$=#0U!#
M2$`@)"AI;F-D:7(I+VYC8FE?<&-H+FAP<"address@hidden"F%L;"!A;&Q?<"!A;&Q?
M<CH@)"A!3$PI"@IC;&5A;B!C;&5A;E]P(&-L96%N7W(Z"@IP=7)G92!P=7)G
M95]P('!U<F=E7W(Z"@DM)"A232D@)"A!3$PI("0H04Q,address@hidden"@``
`

rather than the correct

M(R`D260D"@II;F-L=61E("0H8G5I;&1D:7(I+TUA:V5F:6QE+FUK"FEN8VQU
M9&4@)"AB=6EL9&1I<BDO36%K969I;&4N)"A2=6QE<RD*"D%,3"`]0$=#0U!#
M2$`@)"AI;F-D:7(I+VYC8FE?<&-H+FAP<"address@hidden"F%L;"!A;&Q?<"!A;&Q?
M<CH@)"A!3$PI"@IC;&5A;B!C;&5A;E]P(&-L96%N7W(Z"@IP=7)G92!P=7)G
K95]P('!U<F=E7W(Z"@DM)"A232D@)"A!3$PI("0H04Q,address@hidden"@``
`

and consequently wound up with two NULs on the end.

Emacs  : GNU Emacs 21.3.50.1 (powerpc-apple-darwin7.2.0, X toolkit)
 of 2004-01-23 on phantom.ncbi.nlm.nih.gov
Package: tramp (2.0.38)

current state:
==============
(setq
 tramp-ls-command nil
 tramp-test-groks-nt nil
 tramp-file-exists-command nil
 tramp-current-multi-method nil
 tramp-current-method nil
 tramp-current-user nil
 tramp-current-host nil
 tramp-auto-save-directory nil
 tramp-default-method "ssh"
 tramp-rsh-end-of-line "\n"
 tramp-default-password-end-of-line "\n"
 tramp-remote-path '("~/tramp-bin" "/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/contrib/bin")
 tramp-login-prompt-regexp ".*ogin: *"
 tramp-password-prompt-regexp "^.*\\([pP]assword\\|passphrase.*\\):? *"
 tramp-wrong-passwd-regexp "^.*\\(Connection 
\\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login 
\\(?:[Ii]ncorrect\\)\\|Name or service not known\\|\\(?:Permission 
denied\\|Sorry, try again\\)\\.\\).*\\|^.*\\(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-temp-name-prefix "tramp."
 tramp-file-name-structure '("^/\\(\\([a-zA-Z_0-9-]+\\):\\)?\\(\\([^:@/         
]*\\)@\\)?\\([a-zA-Z0-9_.#-]*\\):\\(.*$\\)" 2 4 5 6)
 tramp-file-name-regexp "\\`/[^/:]+:"
 tramp-multi-file-name-structure 
'("^/\\(\\([a-zA-Z_0-9-]+\\)\\)?\\(\\(:%s\\)+\\)?:\\(.*$\\)" 2 3 -1)
 tramp-multi-file-name-hop-structure '("\\([a-zA-Z_0-9-]+\\):\\([^:@/   
]*\\)@\\([a-zA-Z0-9_.#-]*\\)" 1 2 3)
 tramp-multi-methods '("multi" "multiu")
 tramp-multi-connection-function-alist '(("telnet" tramp-multi-connect-telnet
                                          "telnet %h%n")
                                         ("rsh" tramp-multi-connect-rlogin
                                          "rsh %h -l %u%n")
                                         ("remsh" tramp-multi-connect-rlogin
                                          "remsh %h -l %u%n")
                                         ("ssh" tramp-multi-connect-rlogin
                                          "ssh %h -l %u%n")
                                         ("ssht" tramp-multi-connect-rlogin
                                          "ssh %h -e none -t -t -l %u%n")
                                         ("su" tramp-multi-connect-su
                                          "su - %u%n")
                                         ("sudo" tramp-multi-connect-su
                                          "sudo -u %u -s -p Password:%n")
                                         )
 tramp-methods '(("smb") ("ftp")
                 ("rcp" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "rsh") (tramp-copy-program "rcp")
                  (tramp-remote-sh "/bin/sh") (tramp-login-args nil)
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp1" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-1" "-e" "none"))
                  (tramp-copy-args ("-1")) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp2" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-2" "-e" "none"))
                  (tramp-copy-args ("-2")) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp1_old"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh1") (tramp-copy-program "scp1")
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp2_old"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh2") (tramp-copy-program "scp2")
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("rsync"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program "rsync")
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
                  (tramp-copy-args ("-e" "ssh"))
                  (tramp-copy-keep-date-arg "-t")
                  (tramp-password-end-of-line nil))
                 ("remcp"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "remsh") (tramp-copy-program "rcp")
                  (tramp-remote-sh "/bin/sh") (tramp-login-args nil)
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("rsh" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "rsh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args nil)
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh1" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-1" "-e" "none"))
                  (tramp-copy-args ("-1")) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh2" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-2" "-e" "none"))
                  (tramp-copy-args ("-2")) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh1_old"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh1") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh2_old"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh2") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("remsh"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "remsh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args nil)
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("telnet"
                  (tramp-connection-function tramp-open-connection-telnet)
                  (tramp-login-program "telnet") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args nil)
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("su" (tramp-connection-function tramp-open-connection-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-connection-function tramp-open-connection-su)
                  (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))
                 ("multi"
                  (tramp-connection-function tramp-open-connection-multi)
                  (tramp-login-program nil) (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args nil)
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("scpx" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none" "-t" "-t" "/bin/sh"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("sshx" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none" "-t" "-t" "/bin/sh"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("krlogin"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "krlogin") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-x"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("plink"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "plink") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-ssh"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line "xy"))
                 ("plink1"
                  (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "plink") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-1" "-ssh"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line "xy"))
                 ("pscp" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "plink") (tramp-copy-program "pscp")
                  (tramp-remote-sh "/bin/sh") (tramp-login-args ("-ssh"))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line "xy"))
                 ("fcp" (tramp-connection-function tramp-open-connection-rsh)
                  (tramp-login-program "fsh") (tramp-copy-program "fcp")
                  (tramp-remote-sh "/bin/sh -i")
                  (tramp-login-args ("sh" "-i")) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 )
 tramp-end-of-output "///b2dcb25541122fee78d3544c1942ba8c"
 tramp-coding-commands '(("mimencode -b" "mimencode -u -b"
                          base64-encode-region base64-decode-region)
                         ("mmencode -b" "mmencode -u -b" base64-encode-region
                          base64-decode-region)
                         ("recode data..base64" "recode base64..data"
                          base64-encode-region base64-decode-region)
                         ("uuencode xxx" "uudecode -o -" tramp-uuencode-region
                          uudecode-decode-region)
                         ("uuencode xxx" "uudecode -p" tramp-uuencode-region
                          uudecode-decode-region)
                         ("uuencode xxx" "tramp_uudecode"
                          tramp-uuencode-region uudecode-decode-region)
                         ("tramp_encode_with_module"
                          "tramp_decode_with_module" base64-encode-region
                          base64-decode-region)
                         ("tramp_encode" "tramp_decode" base64-encode-region
                          base64-decode-region)
                         )
 tramp-actions-before-shell '((tramp-password-prompt-regexp
                               tramp-action-password)
                              (tramp-login-prompt-regexp tramp-action-login)
                              (shell-prompt-pattern tramp-action-succeed)
                              (tramp-shell-prompt-pattern tramp-action-succeed)
                              (tramp-wrong-passwd-regexp
                               tramp-action-permission-denied)
                              (tramp-yesno-prompt-regexp tramp-action-yesno)
                              (tramp-yn-prompt-regexp tramp-action-yn)
                              (tramp-terminal-prompt-regexp
                               tramp-action-terminal)
                              )
 tramp-multi-actions '((tramp-password-prompt-regexp
                        tramp-multi-action-password)
                       (tramp-login-prompt-regexp tramp-multi-action-login)
                       (shell-prompt-pattern tramp-multi-action-succeed)
                       (tramp-shell-prompt-pattern tramp-multi-action-succeed)
                       (tramp-wrong-passwd-regexp
                        tramp-multi-action-permission-denied)
                       )
 tramp-terminal-type "dumb"
 tramp-shell-prompt-pattern "^[^#$%>\n]*[#$%>] *\\(\\[[0-9;]*[a-zA-Z] *\\)*"
 tramp-chunksize nil
 shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
 backup-by-copying nil
 backup-by-copying-when-linked nil
 backup-by-copying-when-mismatch nil
 backup-by-copying-when-privileged-mismatch 200
 file-name-handler-alist 
'(("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.bz2\\'\\|\\.tgz\\'\\|\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'"
 . jka-compr-handler)
                           ("^/[^/]*$" . tramp-completion-file-name-handler)
                           ("\\`/[^/:]+:" . tramp-file-name-handler)
                           ("\\`/:" . file-name-non-special))
 )




reply via email to

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