Subject: CVS commit: basesrc
To: None <firstname.lastname@example.org>
From: Luke Mewburn <email@example.com>
Date: 12/12/1999 06:05:56
Module Name: basesrc
Committed By: lukem
Date: Sun Dec 12 14:05:56 UTC 1999
basesrc/libexec/ftpd: conf.c extern.h ftpcmd.y ftpd.8 ftpd.c popen.c
* change format of /etc/ftpusers lines from
userglob[@host] [allow|deny [classname]]
where class is a userdefined classname.
- if host is given it may either be a CIDR address (e.g, `188.8.131.52/24') or a
hostglob (e.g, `*.foo.com'), and the remote host is matched against that.
- if classname is given, use that to match entries in ftpd.conf (defaults
to `guest' for `anonymous'/`ftp' logins, `chroot' for users found in
/etc/ftpchroot, and `real' for everyone else.
* implement new /etc/ftpd.conf directives:
classtype classname type set type of classname to GUEST, CHROOT, or REAL
motd classname file file to use instead of /etc/motd
rateget classname rate set rateget throttle to rate
rateput classname rate set rateput throttle to rate
upload classname allow/deny uploads (STOU, STOR, APPE). if
denied, also acts as `modify deny'.
* implement new `SITE' commands:
RATEGET as per /etc/ftpd.conf rateget, but cannot exceed that
RATEPUT as per /etc/ftpd.conf rateput, but cannot exceed that
* implement format_file(), which outputs a file to the user, parsing %
escapes. use to print /etc/ftpwelcome, /etc/motd, and the `display' file.
* implement strsuftoi() (from ftp(1)), which parses a number and
optional suffix (for use with rateget, etc)
* don't bother seteuid(0) ; bind(...) ; seteuid(pw->pw_uid), since
we don't need reserved ports (at wasn't getting them anyway).
* update & reorder copyrights
* use strlcpy() as appropriate
To generate a diff of this commit:
cvs rdiff -r1.23 -r1.24 basesrc/libexec/ftpd/conf.c
cvs rdiff -r1.20 -r1.21 basesrc/libexec/ftpd/extern.h
cvs rdiff -r1.40 -r1.41 basesrc/libexec/ftpd/ftpcmd.y
cvs rdiff -r1.41 -r1.42 basesrc/libexec/ftpd/ftpd.8
cvs rdiff -r1.72 -r1.73 basesrc/libexec/ftpd/ftpd.c
cvs rdiff -r1.17 -r1.18 basesrc/libexec/ftpd/popen.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.