Dear Evgeny and Michael,
Thanks for your tips. I will send the following bug report to Red Hat and the MIT
Kerberos group.:
-----------Begin Bug Report---------------------------------------
There appears to be a problem with the Kerberos ftp client (usr/kerberos/bin/ftp)
auto-authentication routines. Here's a history of the problem I've had:
I just installed Xemacs-21.1.11
(Carlsbad Caverns) on a new installation of Red Hat 6.2. I also downloaded and
untarred the
xemacs-sumo-2000-09-04.tar.gz into the /usr/local/lib/xemacs/ directory. When I
attempted
to "Update Installed Packages" (from any of the U.S. mirrors), I got the
following error messages:
Open
Metalab.Unc.Edu
Connected To
Metalab.Unc.Edu.
220
Helios.Oit.Unc.Edu Ftp Server (Version Wu-2.6.1(1) Sat Jul 8
10:18:10 Edt 2000) Ready.
Quote User "Anonymous"
530 Please Login With User And Pass.
If I tried to open an ftp connection to /ftp.xemacs.org:/ I get:
Opening FTP connection to ftp.emacs.org...
Logging in as user anonymous...
FTP error: USER request failed: 500 AUTH not understood
Judging from the error codes, the problem is with the ftp client. Output from ps
-Afl, during an attempt to login to
ftp.xemacs.org from within Xemacs indicates that
Xemacs is using /usr/kerberos/bin/ftp as the ftp client:
000 S root 12825 12715 3 73 0 - 562 read_c 03:45 ttyp2 00:00:00
/usr/kerberos/bin/ftp -i -n -g -v
When I tried to manually try to log in to the ftp server using the command line above:
# /usr/kerberos/bin/ftp -i -n -g -v
ftp.xemacs.org
I got the following error codes:
Connected to
xemacs.org.
220 ProFTPD 1.2.0pre10 Server (ProFTPD on
ftp.tux.org) [
gwyn.tux.org]
500 AUTH not understood.
500 AUTH not understood.
KERBEROS_V4 rejected as an authentication type
ftp>
Therefore, there appears to be a problem with the Kerberos ftp client
auto-authentication routines.
The workaround is to specify another ftp client (e.g. /usr/bin/ftp) as Michael
Sperber <sperber(a)informatik.uni-tuebingen.de> suggested,
Alternatively, use a
non-kerberized ftp client (in our setup, /usr/bin/ftp is it) and set
the value of `efs-ftp-program-name' to it.
...or disable auto-authentication, as Evgeny Roubinchtein
<evgenyr(a)cs.washington.edu>
suggested
I saw the same exact problem. Add a "-u" to the list which
is the
value of the efs-ftp-program-args variable (either using the Customize
facility (i.e. "M-x customize-variable efs-ftp-program-args") (probably
the cleanest),
or
(eval-after-load "efs"
'(setq efs-ftp-program-args (cons "-u" efs-ftp-program-args)))
-------------------End Bug Report--------------------------------------------------
Note for newbies: if you try to customize the variable efs-ftp-program-name
immediately after starting Xemacs:
M-x customize-variable <ENTER>
Customize variable: (default nil) efs-ftp-program-name
You will get the following error
[No match]
There will be no completions, and the variables efs-ftp-program-name and
efs-ftp-program-args will not be available. You can get the efs variables (like
efs-ftp-program-name or efs-ftp-program-args) to appear by first attempting to ftp a
site:
C-x C-f
(In the mini-buffer):
Find file: /ftp.xemacs.org:/
This will fail to open the ftp site of course, but you will then be able to customize
the efs variables. Apparently, the customize-variable command doesn't source the
appropriate files automatically. The behavior of customize-variable is no doubt
obvious to the more experienced users, but I found it very confusing intitially. No
doubt there are other ways to get access to the appropriate variables, but this worked
for me.
Note also that if you're using the sample .emacs file, you also have to set the
efs-default-user to anonymous.
Thanks again Michael and Evgeny for your help.
Chris Rasch
P.S.
When I initially couldn't get customize-variable to work, I also grepped the efs
files
to find the variables in the source code. I tried replacing "ftp" with
"usr/bin/ftp"
in the line:
(defcustom efs-ftp-program-name "ftp"
in the /usr/local/lib/xemacs/xemacs-packages/lisp/efs/efs.el file, then restarted
emacs. However, when I tried to ftp after restarting Xemacs, it seemed that my
change hadn't had any effect--Xemacs was still using the Kerberos ftp client:
000 S crasch 26993 26984 1 73 0 - 616 tcp_re 11:31 ttyp0 00:00:00
/usr/kerberos/bin/ftp -i -n -g -v
Why didn't my change have an effect?
Chris