From: "Robert J. Chassell" <bob@rattlesnake.com>
Cc: emacs-devel@gnu.org
Subject: Re: I miss ange-ftp ($#@!Tramp)
Date: Tue, 26 Nov 2002 16:44:02 +0000 (UTC) [thread overview]
Message-ID: <m18Gioc-000IeAC@localhost> (raw)
In-Reply-To: <844ra4cnmy.fsf@lucy.cs.uni-dortmund.de> (kai.grossjohann@uni-duisburg.de)
> (setq tramp-default-method "smx")
More recent versions of Tramp use a different set of methods.
...
Or maybe you want "sshx" which executes "ssh ... -e none -t -t /bin/sh"
instead of "ssh ... -e none".
I tried sshx and I was able to visit and also (I think) save that
remote file using ange-ftp, but the visited file was in a buried
buffer, in fundamental mode, and ...
* the *Backtrace* buffer says:
Debugger entered--Lisp error: (error "Login failed")
[and more which I list below]
* the *ftp user@foo.net* buffer says:
ftp> open foo.net
Connected to foo.net.
[and more which I list below]
* the *tramp/nil user@foo.net* says in toto:
31223: ssh: connect to address 209.213.0.60 port 22: Connection refused
Process *tramp/nil user@foo.net* exited abnormally with code 1
Also, I just tried
(setq tramp-default-method "ssh")
in a new instance of Emacs and it looks like tramp generated the same
problems. (I won't include those new error messages here, since I
they look similar on a quick glance to the one's here.)
Using today's CVS snapshot, Tue, 2002 Nov 26 11:49 UTC
GNU Emacs 21.3.50.48 (i686-pc-linux-gnu, X toolkit)
started with
/usr/local/bin/emacs -q --no-site-file --eval '(blink-cursor-mode 0)'
First, I evaluated all the following:
(progn
(require 'tramp)
(setq tramp-verbose 10)
(setq tramp-debug-buffer t)
(setq tramp-default-method "sshx")
;; when running `emacs -q -l ... ' need to set this
(custom-set-variables '(shell-prompt-pattern "^[^#$%
]*[#$%>] *")))
;;; load the *.el files instead of the *.elc files to avoid bytecode
(progn
(load-file "/usr/local/share/emacs/21.3.50/lisp/comint.el")
(load-file "/usr/local/share/emacs/21.3.50/lisp/emacs-lisp/cl.el")
(load-file "/usr/local/src/emacs/lisp/net/ange-ftp.el")
(load-file "/usr/local/src/emacs/lisp/net/tramp-uu.el")
(load-file "/usr/local/src/emacs/lisp/net/tramp-vc.el")
(load-file "/usr/local/src/emacs/lisp/net/tramp.el"))
;; [need passive mode for ftp with firewall]
(setq ange-ftp-try-passive-mode t)
;; [set ange-ftp-default-user for ange-ftp]
(custom-set-variables '(ange-ftp-default-user "ftp@gnu.org"))
;;; from emacs/lisp/net/ange-ftp.el
;;; This regexp takes care of real ange-ftp file names (with a slash
;;; and colon).
;;; Don't allow the host name to end in a period--some systems use /.:
;;;###autoload
(or (assoc "^/[^/:]*[^/:.]:" file-name-handler-alist)
(setq file-name-handler-alist
(cons '("^/[^/:]*[^/:.]:" . ange-ftp-hook-function)
file-name-handler-alist)))
;;; This regexp recognizes absolute filenames with only one component,
;;; for the sake of hostname completion.
;;;###autoload
(or (assoc "^/[^/:]*\\'" file-name-handler-alist)
(setq file-name-handler-alist
(cons '("^/[^/:]*\\'" . ange-ftp-completion-hook-function)
file-name-handler-alist)))
;;; This regexp recognizes absolute filenames with only one component
;;; on Windows, for the sake of hostname completion.
;;; NB. Do not mark this as autoload, because it is very common to
;;; do completions in the root directory of drives on Windows.
(and (memq system-type '(ms-dos windows-nt))
(or (assoc "^[a-zA-Z]:/[^/:]*\\'" file-name-handler-alist)
(setq file-name-handler-alist
(cons '("^[a-zA-Z]:/[^/:]*\\'" .
ange-ftp-completion-hook-function)
file-name-handler-alist))))
Then I visited a file with a command like this (I changed the name of
the user and the destination):
(find-file "/user@foo.net:~user/public_html/links.html" nil)
The *Backtrace* buffer says, in toto:
Debugger entered--Lisp error: (error "Login failed")
signal(error ("Login failed"))
error("Login failed")
(if (eq exit (quote ok)) nil (error "Login failed"))
(unless (eq exit (quote ok)) (error "Login failed"))
(let (exit) (while (not exit) (tramp-message 9 "Waiting for prompts from remote shell") (setq exit ...)) (unless (eq exit ...) (error "Login failed")))
tramp-process-actions(#<process *tramp/nil user@foo.net*> nil nil "user" "foo.net" ((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)))
(let* ((default-directory ...) (coding-system-for-read ...) (p ...) (found nil)) (process-kill-without-query p) (set-buffer buf) (tramp-process-actions p multi-method method user host tramp-actions-before-shell) (tramp-message 7 "Initializing remote shell") (tramp-open-connection-setup-interactive-shell p multi-method method user host) (tramp-post-connection multi-method method user host))
(let ((process-environment ...) (bufnam ...) (buf ...) (rsh-program ...) (rsh-args ...)) (when (string-match "\\([^#]*\\)#\\(.*\\)" host) (setq rsh-args ...) (setq host ...)) (setenv "TERM" tramp-terminal-type) (let* (... ... ... ...) (process-kill-without-query p) (set-buffer buf) (tramp-process-actions p multi-method method user host tramp-actions-before-shell) (tramp-message 7 "Initializing remote shell") (tramp-open-connection-setup-interactive-shell p multi-method method user host) (tramp-post-connection multi-method method user host)))
(progn (when multi-method (error "Cannot multi-connect using rsh connection method")) (tramp-pre-connection multi-method method user host) (if (and user ...) (tramp-message 7 "Opening connection for %s@%s using %s..." user host method) (tramp-message 7 "Opening connection at %s using %s..." host method)) (let (... ... ... ... ...) (when ... ... ...) (setenv "TERM" tramp-terminal-type) (let* ... ... ... ... ... ... ...)))
(unwind-protect (progn (when multi-method ...) (tramp-pre-connection multi-method method user host) (if ... ... ...) (let ... ... ... ...)) (set-match-data save-match-data-internal))
(let ((save-match-data-internal ...)) (unwind-protect (progn ... ... ... ...) (set-match-data save-match-data-internal)))
(save-match-data (when multi-method (error "Cannot multi-connect using rsh connection method")) (tramp-pre-connection multi-method method user host) (if (and user ...) (tramp-message 7 "Opening connection for %s@%s using %s..." user host method) (tramp-message 7 "Opening connection at %s using %s..." host method)) (let (... ... ... ... ...) (when ... ... ...) (setenv "TERM" tramp-terminal-type) (let* ... ... ... ... ... ... ...)))
tramp-open-connection-rsh(nil nil "user" "foo.net")
funcall(tramp-open-connection-rsh nil nil "user" "foo.net")
(if (and p (processp p) (memq ... ...)) nil (when (and p ...) (delete-process p)) (funcall (tramp-get-connection-function multi-method ... user host) multi-method method user host))
(unless (and p (processp p) (memq ... ...)) (when (and p ...) (delete-process p)) (funcall (tramp-get-connection-function multi-method ... user host) multi-method method user host))
(let ((p ...) last-cmd-time) (save-excursion (set-buffer ...) (when ... ... ... ...)) (unless (and p ... ...) (when ... ...) (funcall ... multi-method method user host)))
tramp-maybe-open-connection(nil nil "user" "foo.net")
(save-excursion (tramp-maybe-open-connection multi-method method user host) (set-buffer (tramp-get-buffer multi-method method user host)) tramp-file-exists-command)
tramp-get-file-exists-command(nil nil "user" "foo.net")
(format (tramp-get-file-exists-command multi-method method user host) (tramp-shell-quote-argument path))
(tramp-send-command-and-check multi-method method user host (format (tramp-get-file-exists-command multi-method method user host) (tramp-shell-quote-argument path)))
(zerop (tramp-send-command-and-check multi-method method user host (format ... ...)))
(save-excursion (zerop (tramp-send-command-and-check multi-method method user host ...)))
(let* ((v ...) (multi-method ...) (method ...) (user ...) (host ...) (path ...)) (when (tramp-ange-ftp-file-name-p multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (save-excursion (zerop ...)))
(with-parsed-tramp-file-name filename nil (when (tramp-ange-ftp-file-name-p multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (save-excursion (zerop ...)))
tramp-handle-file-exists-p(#("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
(if (tramp-handle-file-exists-p filename) (progn (save-excursion ...)))
(when (tramp-handle-file-exists-p filename) (save-excursion (if ... ... ...)))
(let* ((v ...) (multi-method ...) (method ...) (user ...) (host ...) (path ...)) (when (tramp-ange-ftp-file-name-p multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (when (tramp-handle-file-exists-p filename) (save-excursion ...)))
(with-parsed-tramp-file-name filename nil (when (tramp-ange-ftp-file-name-p multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (when (tramp-handle-file-exists-p filename) (save-excursion ...)))
(let (result) (with-parsed-tramp-file-name filename nil (when ... ...) (when ... ...)) result)
tramp-handle-file-attributes(#("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
(nth 8 (tramp-handle-file-attributes filename))
(tramp-mode-string-to-int (nth 8 (tramp-handle-file-attributes filename)))
(progn (tramp-mode-string-to-int (nth 8 ...)))
(if (file-exists-p filename) (progn (tramp-mode-string-to-int ...)))
(when (file-exists-p filename) (tramp-mode-string-to-int (nth 8 ...)))
(let* ((v ...) (multi-method ...) (method ...) (user ...) (host ...) (path ...)) (when (tramp-ange-ftp-file-name-p multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (when (file-exists-p filename) (tramp-mode-string-to-int ...)))
(with-parsed-tramp-file-name filename nil (when (tramp-ange-ftp-file-name-p multi-method method user host) (tramp-invoke-ange-ftp ... filename)) (when (file-exists-p filename) (tramp-mode-string-to-int ...)))
tramp-handle-file-modes(#("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
apply(tramp-handle-file-modes #("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
(progn (apply (cdr fn) args))
(unwind-protect (progn (apply ... args)) (set-match-data save-match-data-internal))
(let ((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data save-match-data-internal)))
(save-match-data (apply (cdr fn) args))
(catch (quote tramp-forward-to-ange-ftp) (save-match-data (apply ... args)))
(if fn (catch (quote tramp-forward-to-ange-ftp) (save-match-data ...)) (tramp-run-real-handler operation args))
(let ((fn ...)) (if fn (catch ... ...) (tramp-run-real-handler operation args)))
tramp-file-name-handler(file-modes #("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
file-modes(#("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
apply(file-modes #("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
(let ((inhibit-file-name-handlers ...) (inhibit-file-name-operation operation)) (apply operation args))
ange-ftp-run-real-handler(file-modes (#("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil)))
(if fn (save-match-data (apply fn args)) (ange-ftp-run-real-handler operation args))
(let ((fn ...)) (if fn (save-match-data ...) (ange-ftp-run-real-handler operation args)))
ange-ftp-hook-function(file-modes #("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
file-modes(#("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil))
after-find-file(nil t)
find-file-noselect-1(#<buffer links.html> #("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil) nil nil #("/user@foo.net:/home/user/public_html/links.html" 0 14 nil 14 24 (rear-nonsticky t field output inhibit-line-move-field-capture t) 24 47 nil) (1 -1))
find-file-noselect("/user@foo.net:~user/public_html/links.html" nil nil nil)
find-file("/user@foo.net:~user/public_html/links.html" nil)
eval((find-file "/user@foo.net:~user/public_html/links.html" nil))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp)
The *ftp user@foo.net* buffer says, in toto:
ftp> open foo.net
Connected to foo.net.
220 uno.foo.net FTP server (Version wu-2.6.2(1) Fri Feb 22 04:09:00 EST 2002) ready.
user "user" Turtle Power!
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
ftp> 331 Password required for user.
230 User user logged in.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> pwd
257 "/home/user" is current directory.
ftp> passive on
Passive mode on.
ftp> get ~user /dev/null
227 Entering Passive Mode (209,213,0,60,173,85)
550 /home/user: not a plain file.
ftp> cd /home/user/public_html/links.html/
550 /home/user/public_html/links.html/: Not a directory.
ftp> cd /home/user/public_html/links.html/
550 /home/user/public_html/links.html/: Not a directory.
ftp> cd /home/user/public_html/
250 CWD command successful.
ftp> ls -al /tmp/ange-ftp31214C4h
227 Entering Passive Mode (209,213,0,60,137,252)
150 Opening ASCII mode data connection for /bin/ls.
226 Transfer complete.
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> type binary
200 Type set to I.
ftp> get /home/user/public_html/links.html /tmp/ange-ftp31214PCo
227 Entering Passive Mode (209,213,0,60,155,160)
150 Opening BINARY mode data connection for /home/user/public_html/links.html (11994 bytes).
226 Transfer complete.
11994 bytes received in 2.3 seconds (5.1 Kbytes/s)
ftp> type ascii
200 Type set to A.
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> quote mdtm /home/user/public_html/links.html
213 20021126125941
ftp> type binary
200 Type set to I.
ftp> put /tmp/ange-ftp31214cMu /home/user/public_html/links.html
227 Entering Passive Mode (209,213,0,60,134,234)
150 Opening BINARY mode data connection for /home/user/public_html/links.html.
226 Transfer complete.
11994 bytes sent in 0.00026 seconds (4.5e+04 Kbytes/s)
ftp> type ascii
200 Type set to A.
ftp> quote mdtm /home/user/public_html/links.html
213 20021126163005
ftp> quote mdtm /home/user/public_html/links.html
213 20021126163005
ftp> quote mdtm /home/user/public_html/links.html
213 20021126163005
ftp> quote mdtm /home/user/public_html/links.html
213 20021126163005
ftp>
next prev parent reply other threads:[~2002-11-26 16:44 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-25 22:23 I miss ange-ftp ($#@!Tramp) Clay Jones
2002-11-26 7:34 ` Kai Großjohann
2002-11-26 12:50 ` Robert J. Chassell
2002-11-26 13:03 ` Robert J. Chassell
2002-11-26 16:16 ` Kai Großjohann
2002-11-26 16:44 ` Robert J. Chassell [this message]
2002-11-27 9:15 ` Kai Großjohann
2002-11-26 22:22 ` Michael Albinus
2002-11-27 7:35 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m18Gioc-000IeAC@localhost \
--to=bob@rattlesnake.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.