summaryrefslogtreecommitdiffstats
path: root/libexec/ftpd/ftpd.c
diff options
context:
space:
mode:
authornik <nik@FreeBSD.org>2001-08-28 11:59:21 +0000
committernik <nik@FreeBSD.org>2001-08-28 11:59:21 +0000
commit28e8743f4b4b3dfe294fa82312f20d891d119846 (patch)
treeb5001d0b73b93ace9a47b73c0ce00bc18a1afd5e /libexec/ftpd/ftpd.c
parent6858a135d88590e8cc016be47aa6f7d379b63c96 (diff)
downloadFreeBSD-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.c8
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;
OpenPOWER on IntegriCloud