diff options
author | nik <nik@FreeBSD.org> | 2001-08-28 11:59:21 +0000 |
---|---|---|
committer | nik <nik@FreeBSD.org> | 2001-08-28 11:59:21 +0000 |
commit | 28e8743f4b4b3dfe294fa82312f20d891d119846 (patch) | |
tree | b5001d0b73b93ace9a47b73c0ce00bc18a1afd5e /libexec/ftpd/ftpd.c | |
parent | 6858a135d88590e8cc016be47aa6f7d379b63c96 (diff) | |
download | FreeBSD-src-28e8743f4b4b3dfe294fa82312f20d891d119846.zip FreeBSD-src-28e8743f4b4b3dfe294fa82312f20d891d119846.tar.gz |
Add a new option, '-o', for "Write-only". Disables the RETR command,
preventing anyone from downloading files. In conjunction with -A, and some
appropriate file permissions, this lets you create an anonymous FTP drop
box for people to upload files to.
The more obvious "-w" flag is already taken by NetBSD's ftpd. "-o" was
available as an option letter in all three BSDs.
Diffstat (limited to 'libexec/ftpd/ftpd.c')
-rw-r--r-- | libexec/ftpd/ftpd.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c index f9556e0..254282b 100644 --- a/libexec/ftpd/ftpd.c +++ b/libexec/ftpd/ftpd.c @@ -149,6 +149,8 @@ int usedefault = 1; /* for data transfers */ int pdata = -1; /* for passive mode */ int readonly=0; /* Server is in readonly mode. */ int noepsv=0; /* EPSV command is disabled. */ +int noretr=0; /* RETR command is disabled. */ + sig_atomic_t transflag; off_t file_size; off_t byte_count; @@ -299,7 +301,7 @@ main(argc, argv, envp) #endif /* OLD_SETPROCTITLE */ - while ((ch = getopt(argc, argv, "AdlDESURrt:T:u:va:p:46")) != -1) { + while ((ch = getopt(argc, argv, "AdlDESURrt:T:u:voa:p:46")) != -1) { switch (ch) { case 'D': daemon_mode++; @@ -382,6 +384,10 @@ main(argc, argv, envp) family = AF_INET6; break; + case 'o': + noretr = 1; + break; + default: warnx("unknown flag -%c ignored", optopt); break; |