Subject: wu-ftpd-2.4.2-BETA5: ftpconversions probs

From: [email-masked] (Harald Milz)
Date: Thu, 10 Aug 95 17:01 CEST

Hi wu-ftpd-users,

I've installed wu-ftpd-2.4.2-BETA5 on AIX 4.1.2 today
(version 2.4 was installed prior). So far, everything
is working fine (there were some source tweaks
necessary, if someone's interested, I'll send a
diff. YMMV.).

ftpaccess is parsed fine, but all the ftpconversions
stuff stopped to work. When I want to retrieve a file
and gzip it on the fly, a message is generated as
follows: 

ftp> get newhost.gz
200 PORT command successful.
550 Cannot GZIP plain files.

newhost _is_ a plain file, and it is supposed to
be gzipped properly. The message is generated around
line 1460 of ftpd.c:

            if (S_ISREG(st.st_mode) && (cptr->types & T_REG) != 0) {
                (void) reply(550, "Cannot %s plain files.", cptr->name);
                return;
            }

I don't quite understand this code. If the file is a
regular file and the T_REG flag is set in the
ftpconversions entry, then don't allow execution of the
corresponding function? C'mon.

The corresponding ftpconversions line worked fine with
wu-ftpd-2.4 and is as follows:

 :   : :.gz:/bin/gzip -c %s:T_REG:O_COMPRESS:GZIP

The same happens with all the other ftpconversions
entries. What's going on here? Any suggestion?

I'll wait and see whether the hanging ftpd processes
are now gone ... 

Thanks for your time. 

Ciao,
hm

--
Harald Milz ([email-masked])   WWW: http://www.ix.de/ix/editors/hm.html
iX Multiuser Multitasking Magazine      phone +49 (511) 53 52-377
Helstorfer Str. 7, D-30625 Hannover     fax   +49 (511) 53 52-361
Opinions stated herein are my own, not necessarily my employer's.

---

From: "Derrick J. Brashear" <[email-masked]>
Date: Thu, 10 Aug 1995 13:18:14 -0400 (EDT)

Excerpts from internet.listserv.wu-ftpd: 10-Aug-95 wu-ftpd-2.4.2-BETA5:
ftpcon.. by Harald [email-masked] 
>                 (void) reply(550, "Cannot %s plain files.", cptr->name);
Here's the code from 2.4:
            if (S_ISREG(st.st_mode) && !(cptr->types & T_REG)) {
                (void) reply(550, "Cannot %s plain files.", cptr->name);
                return;
            }

Looks like that should be == 0 instead.

-D