Subject: Linux problems, solutions, and more problems...

From: Gene Hoffman <[email-masked]>
Date: Thu, 25 Jul 1996 00:32:40 -0400 (EDT)

I have a linux 2.0.1 machine with GCC 2.7.2 and libc-5.3.9 - P166, 128M
RAM. I recently attempted to re-install wu-ftpd-2.4.2-beta11 and had all
sorts of headaches (of course it was during one of the highest demand
periods for our ftpable product...)

First of all I encountered the odd redefinition of the DIR struct type
that makes glob.c barf. I circumvented this by copying the DIR typedef
from dirent.h and creating my own DIR structure. It seems that within the
GCC includes the following proves false:

#if defined(DIRENT_ILLEGAL_ACCESS) || \
        (defined(__SVR4_I386_ABI_L1__) && !defined(INTERNAL_LINUX_C_LIB))

so the DIR struct gets defined as

typedef struct DIR DIR;

Nice huh?...

I'm going to go hit up the linux kernel mailing list to get a little more
info about the above define... I can send out a patch for glob.c, but I
think there is one already in the mailing list archive.

I had all sorts of other problems, so I tried all the basic repairs that
came up in the list archive, including statically compiling ls, placing
the elf libs into ~ftp/lib as per the FAQ... I got the server working and
using (supposedly) the ftpaccess file by invoking the -a (the man page is
wrong...) My server would vend files, and ls would operate, but I couldn't
track outgoing ftp's which is huge in my business even though I was
invoking with the -a flag in inetd.conf and had the following in my
ftpaccess file:
log transfers anonymous,real,guest inbound,outbound

I finally solved this problem by ignoring the docs and putting a -o -i in
the command line. If I'm correct about all these behavior points, it
would make some good sense to place these facts in the FAQ...

Now, I still have two odd problems. The time reported in xferlog is off by
three hours (this is minor and I haven't researched it a lot, so don't
worry about it.) The REAL PROBLEM that I have is that I'm finding that ls
works intermittently with an error along the lines of:
Address in use, can't bind 206.100.254.1,20

Which is hostIP plus port 20. I know this means that its having a problem
getting a bind on the data port, but this only happens with ls. If I
follow a ftp URL I can still transfer data without a problem.

Ideas? Suggestions?

[email-masked]        |                PrivNet V.P.
http://www.privnet.com/hoffmang |           http://www.privnet.com