Subject: Errors with wu-ftpd under LINUX

From: Frank Neumann <[email-masked]>
Date: Tue, 30 Jan 1996 16:00:19 +0100 (MET)

Hello, 
 
 some times before I asked the following question, I didn't get an answer 
 and I didn't care for as I got a compiled version of wu-ftpd 2.4 for Linux.
 
 Now it seems to me that this isn't the right solution to solve the problem.
 I want to compile my own ftpd. I got all the files for the 
 wu-ftpd-2.4.2-beta-8.tar.Z and I did all the things mentioned in the 
 readme file. After that I started 'build lnx' and I got the following 
 message:
    Making ftpd.
    cc -O2 -fomit-frame-pointer -I.. -I../support -I/usr/include/bsd 
    -L../support -static -s -o ftpd ftpd.o ftpcmd.o glob.o logwtmp.o popen.o 
    vers.o access.o extensions.o realpath.o acl.o private.o authenticate.o 
    conversions.o hostacc.o -lsupport -lbsd 
    ftpd.o: Undefined symbol _vsnprintf referenced from text segment
    make: *** [ftpd] Error 1
 
 Can anyone help me to solve the problem?
 I am using a kernel version 1.2.8 or 1.2.13 and it doesn't work with 
 both. My gcc is version 2.5.8
 
 Thanks 
 
 Frank
 
email: [email-masked]
         www.orgaplus.de

---

From: Jeffrey Smith <[email-masked]>
Date: Tue, 30 Jan 96 9:21:45 EST

Hey all.

I  was attempting to use my ftp so that local users are read/write
and remote (outside my domain) are read only.

There is a 'bug' in the way wu-ftp makes directories.  One would
think that it would use the rules as defined in the 'upload' section
of the ftpaccess file.  However,  it does not.

So I hard coded the chown into the ftpd.c,  and recompiled.

  2263      /*
  2264       * check the filename, is it legal?
  2265       */
  2266      if ( (fn_check(name)) <= 0 )
  2267          return;
  2268
  2269      if (mkdir(name, 0777) < 0) {
  2270          perror_reply(550, name);
  2271          return;
  2272      }
  2273
  2274      chown(name, 501, 99);
            ^^^^^^^^^^^^^^^^^^^^^
  2275      reply(257, "HACKD MKD command successful.");
--

Of course you would want to use the user id and group id that corresponds
to the users you want.

Well,  this is a hack and not a fix,  but I hope it helps someone.

--Jeffrey