Subject: problem using ange-ftp to access files on QNX4 machine
From: William Parsons <[email-masked]>
To: [email-masked]
Date: Tue, 20 Jan 2009 14:07:40 -0500 (EST)

Attempting to access files on a machine running QNX 4.25 using ange-ftp from
Emacs 22.1.1 on FreeBSD fail, as illustrated by the following contents of
the ftp buffer after attempting to fetch a remote file "/wbp@maple:.emacs":
--------------------
ftp> open maple
Connected to maple.
220 maple FTP server (Version 5.60) ready.
user "wbp" Turtle Power!
ftp> 331 Password required for wbp.
230 User wbp logged in.
hash
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> Hash mark printing on (1024 bytes/hash mark).
ftp> pwd
Remote directory: /home/wbp
ftp> pwd
Remote directory: /home/wbp
ftp> get ~ /dev/null
local: /dev/null remote: ~
500 'EPSV': command not understood.
cd /home/wbp/'EPSV'/.emacs/
227 Entering Passive Mode (10,93,52,37,17,21)
550 /home/wbp: not a plain file.
ftp> cd /home/wbp/'EPSV'/.emacs/
550 /home/wbp/'EPSV'/.emacs/: No such file or directory.
ftp> cd /home/wbp/'EPSV'/
550 /home/wbp/'EPSV'/.emacs/: No such file or directory.
ftp> cd /home/wbp/'EPSV'/
550 /home/wbp/'EPSV'/: No such file or directory.
ftp> cd /home/wbp/'EPSV'/
550 /home/wbp/'EPSV'/: No such file or directory.
ftp> cd /home/wbp/'EPSV'/
550 /home/wbp/'EPSV'/: No such file or directory.
ftp> 550 /home/wbp/'EPSV'/: No such file or directory.
ftp>
--------------------

Possible patch:

Changing line 732 in ange-ftp.el as follows:

732c732
<         "^22[789] .*[Pp]assive\\|^200 EPRT\\|^500 .*EPRT")
---
>         "^22[789] .*[Pp]assive\\|^200 EPRT\\|^500 .*EPRT\\|^500 .*EPSV")

I'm not sure if the above is the whole answer, however, since there is
still a warning:

  Warning! Unable to get home directory

(The following is the ftp buffer contents with the patch:)
--------------------
ftp> open maple
Connected to maple.
220 maple FTP server (Version 5.60) ready.
user "wbp" Turtle Power!
ftp> 331 Password required for wbp.
230 User wbp logged in.
hash
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> Hash mark printing on (1024 bytes/hash mark).
ftp> pwd
Remote directory: /home/wbp
ftp> pwd
Remote directory: /home/wbp
ftp> get ~ /dev/null
local: /dev/null remote: ~
500 'EPSV': command not understood.
227 Entering Passive Mode (10,93,52,37,17,22)
550 /home/wbp: not a plain file.
cd /home/wbp/.emacs/
ftp> 550 /home/wbp/.emacs/: Not a directory.
cd /home/wbp/.emacs/
ftp> 550 /home/wbp/.emacs/: Not a directory.
ftp> cd /home/wbp/
250 CWD command successful.
ls -al /tmp/ange-ftp21570o9R
ftp> 227 Entering Passive Mode (10,93,52,37,17,23)
150 Opening ASCII mode data connection for /bin/ls.

226 Transfer complete.
quote mdtm /home/wbp/.emacs
ftp> 213 20081212142627
quote mdtm /home/wbp/.emacs
ftp> 213 20081212142627
ftp> quote mdtm /home/wbp/.emacs
213 20081212142627
quote mdtm /home/wbp/.emacs
ftp> 213 20081212142627
ftp> type binary
200 Type set to I.
get /home/wbp/.emacs /tmp/ange-ftp215701HY
ftp> local: /tmp/ange-ftp215701HY remote: /home/wbp/.emacs
227 Entering Passive Mode (10,93,52,37,17,24)
150 Opening BINARY mode data connection for /home/wbp/.emacs (17432 bytes).

226 Transfer complete.
type ascii
17432 bytes received in 00:00 (170.63 KB/s)
ftp> 200 Type set to A.
quote mdtm /home/wbp/.emacs
ftp> 213 20081212142627
quote mdtm /home/wbp/.emacs
ftp> 213 20081212142627
ftp> quote mdtm /home/wbp/.emacs
213 20081212142627
quote mdtm /home/wbp/.emacs
ftp> 213 20081212142627
ftp> 
--------------------

In GNU Emacs 22.1.1 (i386-pc-freebsd, GTK+ Version 2.12.1)
 of 2008-06-05 on beech.w-intra.net
Windowing system distributor `The X.Org Foundation', version 11.0.10400000
configured using `configure  '--with-gtk' '--x-libraries=/usr/local/lib' '--x-includes=/usr/local/include' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' 'i386-freebsd' 'build_alias=i386-freebsd' 'host_alias=i386-freebsd' 'target_alias=i386-freebsd' 'CC=cc' 'CFLAGS=-O2 -fno-strict-aliasing -pipe ''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  display-time-mode: t
  delete-selection-mode: t
  recentf-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
<return> <help-echo> <help-echo> <help-echo> <help-echo> 
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> 
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> 
<mouse-1> <mouse-1> <down-mouse-1> <mouse-1> C-x h 
M-c <help-echo> <help-echo> <down-mouse-1> <mouse-1> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <menu-bar> <help-menu> 
<report-emacs-bug>

Recent messages:
Loading tramp...done
Opening FTP connection to maple...done
Logging in as user wbp@maple...done
Getting PWD... [2 times]
Warning! Unable to get home directory
expanding ~...done
Doing CD... [6 times]
ange-ftp-error: FTP Error: DIR failed: 550 /home/wbp/'EPSV'/: No such file or directory.
Mark set [2 times]
Loading emacsbug...done