summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/appl/ftp/ftpd/ftpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/heimdal/appl/ftp/ftpd/ftpd.c')
-rw-r--r--crypto/heimdal/appl/ftp/ftpd/ftpd.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/crypto/heimdal/appl/ftp/ftpd/ftpd.c b/crypto/heimdal/appl/ftp/ftpd/ftpd.c
index 7dde742..c1720ba 100644
--- a/crypto/heimdal/appl/ftp/ftpd/ftpd.c
+++ b/crypto/heimdal/appl/ftp/ftpd/ftpd.c
@@ -38,7 +38,7 @@
#endif
#include "getarg.h"
-RCSID("$Id: ftpd.c,v 1.160 2001/09/13 09:17:14 joda Exp $");
+RCSID("$Id: ftpd.c,v 1.161 2002/02/28 15:50:14 joda Exp $");
static char version[] = "Version 6.00";
@@ -312,6 +312,11 @@ main(int argc, char **argv)
defumask = val;
}
}
+ sp = getservbyname("ftp", "tcp");
+ if(sp)
+ port = sp->s_port;
+ else
+ port = htons(21);
if(port_string) {
sp = getservbyname(port_string, "tcp");
if(sp)
@@ -321,12 +326,6 @@ main(int argc, char **argv)
port = htons(atoi(port_string));
else
warnx("bad value for -p");
- } else {
- sp = getservbyname("ftp", "tcp");
- if(sp)
- port = sp->s_port;
- else
- port = htons(21);
}
if (maxtimeout < ftpd_timeout)
@@ -2165,8 +2164,10 @@ list_file(char *file)
if (dout == NULL)
return;
set_buffer_size(fileno(dout), 0);
- builtin_ls(dout, file);
- reply(226, "Transfer complete.");
+ if(builtin_ls(dout, file) == 0)
+ reply(226, "Transfer complete.");
+ else
+ reply(451, "Requested action aborted. Local error in processing.");
fclose(dout);
data = -1;
pdata = -1;
OpenPOWER on IntegriCloud