From fd04f90c1321e97fd28bd8f213747afadf526bfd Mon Sep 17 00:00:00 2001 From: salo Date: Fri, 9 May 2003 23:31:38 +0000 Subject: Updated to version 1.1.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses PR pkg/21410 by Jens Liebau. - honour PKG_SYSCONFDIR - rcd script, standalone mode support - tcp wrappers support - install vsftpd:vsftpd user - new HOMEPAGE and MASTER_SITES 1.1.3: ====== - Support for tcp_wrappers. - First stab at Solaris sendfilev() support. - Don't bomb out the listener on SIGHUP if the config became invalid. - End vsf_findlibs.sh with "exit 0;" - thanks Lars Hecking ! - Integrate with tcp_wrappers - load config based on VSFTPD_LOAD_CONF environment variables. Allows per-IP configurability in standalone mode. - Fix build without tcp_wrappers. - Fix Solaris sendfilev() support - interruption via a signal returns EINTR rather than a partial byte count! - Add to EXAMPLE/ - PER_IP_CONFIG and INTERNET_SITE_NOINETD 1.1.2: ====== - Add per-IP connection limits in standalone mode. - Add logging of refused connect due to global or IP connection limits. - (Many thanks for testing and suggestions from Rob van Nieuwkerk and Adrian Reber . - Make connection limit exceeded messages nonblocking. - Don't exit the listener if fork fails. 1.1.1: ====== - Fix port_promiscuous, oops! Thanks to Bjørn-Ove Heimsund . - Fix to support umasks which create executable files. Reported by "Martin, Andreas" . - Make the messages more.. professional :( Thanks to Steven G. Taylor . - Allow anon users to append to files if they can delete files! Suggestion from Michael Leuchtenburg . - Hopefully fix Solaris build (-lresolv) - Replace atoll() with a homebrew - modern FreeBSD, OpenBSD lack it. - Different solution for a umask which creates executable files: file_open_mode. - First attempt at Tru64 build, working with . - A few minor FAQ additions. - Change date format in the log from Sep 09 -> Sep 9. Avoids breaking some broken log parsers. - Make "INSTALL" better and clearer. - Fix passwd_chroot_enable, reported by James Jones . - Finish Tru64 building :-) - Add tunable_no_anon_password as asked for by Stephen Quinney . 1.1.0: ====== - large file (>2Gb) support). - Fix .spec files to use /usr/local/sbin not /usr/sbin, noted by Bill Unruh . - Small doc tweaks and improvements(?) - Add COPYING, the GNU GPL version 2. - Add use_localtime config option to override the use of GMT times. - Add tunable_check_shell (default YES) so people can disable this if they are not using PAM. - AIX 5.1 build support, thanks to Jan-Frode Myklebust . - Add "hide_ids" option to show user/group in directory listings as "ftp". Request from Solar. - Use the seemingly more portable setreuid() and setregid(), poxy HP. - Use status 550 instead of 500 for known but disabled commands. - Rename "dirchange.[ch]" to "banner.[ch]". - Multiline connect banner support via "banner_file" config option. - Minor error message changes. - Add more FAQ entries. - Add patch to specify PASV address - thanks to Mike McLean . - Drop the 2.4.0 kernel warning file - Rudimentary standalone listener support - to be expanded in a later release. - If sendfile() returns EINVAL just fall back to normal routines - handles non-pagecache backed files. - Add "port_promiscuous" setting - should help enabling FXP. - Modify anon_root and local_root to change directory _before_ applying the chroot(). - Open all files O_NONBLOCK to avoid pipes blocking on open. - Support wu-ftpd style per-user chroot() via /./ in /etc/passwd HOMEDIR. - Add SIGHUP support to new built in listener. - Per-user config overrides, via "user_config_dir" - woohoo! - Warning fixes, i.e. change "index" to "indexx" thanks to Olaf Kirch . - Make sure the standalone daemon doesn't leak zombies! - Supposedly fix kernel messages about MSG_PEEK race - thanks to advice from Alexey . - Add global client limit for standalone mode. - Add username that failed when we die with str_getpwnam. - Add a bunch of documentation under EXAMPLES. --- net/vsftpd/Makefile | 51 +++++++++++++++++++++++--------- net/vsftpd/PLIST | 7 +++-- net/vsftpd/distinfo | 14 ++++++--- net/vsftpd/files/vsftpd.sh | 19 ++++++++++++ net/vsftpd/patches/patch-aa | 35 +++++----------------- net/vsftpd/patches/patch-ab | 13 +++++++++ net/vsftpd/patches/patch-ac | 34 ++++++++++++++++++++++ net/vsftpd/patches/patch-ad | 29 ++++++++++++++++++ net/vsftpd/patches/patch-ae | 13 +++++++++ net/vsftpd/patches/patch-af | 71 +++++++++++++++++++++++++++++++++++++++++++++ net/vsftpd/patches/patch-ag | 13 +++++++++ 11 files changed, 251 insertions(+), 48 deletions(-) create mode 100644 net/vsftpd/files/vsftpd.sh create mode 100644 net/vsftpd/patches/patch-ab create mode 100644 net/vsftpd/patches/patch-ac create mode 100644 net/vsftpd/patches/patch-ad create mode 100644 net/vsftpd/patches/patch-ae create mode 100644 net/vsftpd/patches/patch-af create mode 100644 net/vsftpd/patches/patch-ag (limited to 'net') diff --git a/net/vsftpd/Makefile b/net/vsftpd/Makefile index 5180f33e813..bc364f76d81 100644 --- a/net/vsftpd/Makefile +++ b/net/vsftpd/Makefile @@ -1,25 +1,50 @@ -# $NetBSD: Makefile,v 1.2 2002/08/22 11:24:06 martti Exp $ +# $NetBSD: Makefile,v 1.3 2003/05/09 23:31:38 salo Exp $ # -DISTNAME= vsftpd-1.0.1 +DISTNAME= vsftpd-1.1.3 CATEGORIES= net -MASTER_SITES= ftp://ferret.lmh.ox.ac.uk/pub/linux/ +MASTER_SITES= ftp://vsftpd.beasts.org/users/cevans/ MAINTAINER= vaneth@krasnik.org -HOMEPAGE= http://ferret.lmh.ox.ac.uk/ +HOMEPAGE= http://vsftpd.beasts.org/ COMMENT= FTP server that aims to be very secure -ALL_TARGET= # +USE_BUILDLINK2= YES +USE_PKGINSTALL= YES -post-install: +ALL_TARGET= vsftpd +PKG_SYSCONFSUBDIR= vsftpd +RCD_SCRIPTS= vsftpd + +VSFTPD_USER?= vsftpd +VSFTPD_GROUP?= vsftpd +PKG_GROUPS= ${VSFTPD_GROUP} +PKG_USERS= ${VSFTPD_USER}:${VSFTPD_GROUP}::vsftpd\\ user + +DOCDIR= ${PREFIX}/share/doc/vsftpd +EGDIR= ${PREFIX}/share/examples/vsftpd + +CFLAGS= -DPKG_SYSCONFDIR=\"\\\"${PKG_SYSCONFDIR}\\\"\" + +CONF_FILES= ${EGDIR}/vsftpd.conf.default ${PKG_SYSCONFDIR}/vsftpd.conf +MAKE_DIRS= /var/chroot +OWN_DIRS= /var/chroot/vsftpd + +post-patch: + @cd ${WRKSRC} && \ + for f in vsftpd.8 vsftpd.conf.5 vsftpd.conf; do \ + ${MV} $${f} $${f}.orig; \ + ${SED} ${FILES_SUBST_SED} $${f}.orig > $${f}; \ + done + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/vsftpd ${PREFIX}/libexec ${INSTALL_MAN} ${WRKSRC}/vsftpd.8 ${PREFIX}/man/man8 ${INSTALL_MAN} ${WRKSRC}/vsftpd.conf.5 ${PREFIX}/man/man5 - ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/vsftpd - ${INSTALL_DATA} ${WRKSRC}/vsftpd.conf ${PREFIX}/share/examples/vsftpd - ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/vsftpd - ${INSTALL_DATA} ${WRKSRC}/FAQ ${PREFIX}/share/doc/vsftpd - ${INSTALL_DATA} ${WRKSRC}/INSTALL ${PREFIX}/share/doc/vsftpd - ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/vsftpd - ${INSTALL_DATA} ${WRKSRC}/TUNING ${PREFIX}/share/doc/vsftpd + ${INSTALL_DATA_DIR} ${EGDIR} + ${INSTALL_DATA} ${WRKSRC}/vsftpd.conf ${EGDIR}/vsftpd.conf.default + ${INSTALL_DATA_DIR} ${DOCDIR} + cd ${WRKSRC} && ${INSTALL_DATA} FAQ INSTALL README TUNING ${DOCDIR} +.include "../../security/tcp_wrappers/buildlink2.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/vsftpd/PLIST b/net/vsftpd/PLIST index bf0e2cf255c..dc052e5b9e6 100644 --- a/net/vsftpd/PLIST +++ b/net/vsftpd/PLIST @@ -1,4 +1,5 @@ -@comment $NetBSD: PLIST,v 1.2 2002/08/22 11:24:06 martti Exp $ +@comment $NetBSD: PLIST,v 1.3 2003/05/09 23:31:38 salo Exp $ +etc/rc.d/vsftpd libexec/vsftpd man/man5/vsftpd.conf.5 man/man8/vsftpd.8 @@ -6,6 +7,6 @@ share/doc/vsftpd/FAQ share/doc/vsftpd/INSTALL share/doc/vsftpd/README share/doc/vsftpd/TUNING -share/examples/vsftpd/vsftpd.conf -@dirrm share/doc/vsftpd +share/examples/vsftpd/vsftpd.conf.default @dirrm share/examples/vsftpd +@dirrm share/doc/vsftpd diff --git a/net/vsftpd/distinfo b/net/vsftpd/distinfo index edbcd1eb44a..84ba0ea1e07 100644 --- a/net/vsftpd/distinfo +++ b/net/vsftpd/distinfo @@ -1,5 +1,11 @@ -$NetBSD: distinfo,v 1.2 2002/08/22 11:24:06 martti Exp $ +$NetBSD: distinfo,v 1.3 2003/05/09 23:31:38 salo Exp $ -SHA1 (vsftpd-1.0.1.tar.gz) = e2bfc8dc670b93e449d3a7edb836b43b44edc017 -Size (vsftpd-1.0.1.tar.gz) = 92976 bytes -SHA1 (patch-aa) = 040eddd45fce6c8700731d74edca84c19b86ff3e +SHA1 (vsftpd-1.1.3.tar.gz) = 495ae55456d4c1ddc44066a6d09a51d26084cf1b +Size (vsftpd-1.1.3.tar.gz) = 120817 bytes +SHA1 (patch-aa) = 7e42db098d0d2261d5f02b36f7cba4ec6d91c6a0 +SHA1 (patch-ab) = 18431ae27f53270ad4c19b0530e55348397fe143 +SHA1 (patch-ac) = fffe0b8fc53ef2f55487210ab8ca03b2dd031ec9 +SHA1 (patch-ad) = aa5821e2f6d53e07b6f95e5e04e09d8079721290 +SHA1 (patch-ae) = 15bdc5d0fd4adb214f0397ab028e49418b864d5c +SHA1 (patch-af) = 5f936624330894211475c9a489059d97ed685419 +SHA1 (patch-ag) = d780ab4fef3e2997d4e57c4dbb3e64be8d6768df diff --git a/net/vsftpd/files/vsftpd.sh b/net/vsftpd/files/vsftpd.sh new file mode 100644 index 00000000000..ad990664e44 --- /dev/null +++ b/net/vsftpd/files/vsftpd.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: vsftpd.sh,v 1.1 2003/05/09 23:31:39 salo Exp $ +# + +# PROVIDE: vsftpd +# REQUIRE: DAEMON LOGIN + +. /etc/rc.subr + +name="vsftpd" +rcvar=$name +command="@PREFIX@/libexec/${name}" +command_args="&" +required_dirs="/var/chroot/vsftpd" +required_files="@PKG_SYSCONFDIR@/vsftpd.conf" + +load_rc_config $name +run_rc_command "$1" diff --git a/net/vsftpd/patches/patch-aa b/net/vsftpd/patches/patch-aa index 0db2c7f14fe..3813bfaf37e 100644 --- a/net/vsftpd/patches/patch-aa +++ b/net/vsftpd/patches/patch-aa @@ -1,37 +1,16 @@ -$NetBSD: patch-aa,v 1.2 2002/08/22 11:24:07 martti Exp $ +$NetBSD: patch-aa,v 1.3 2003/05/09 23:31:40 salo Exp $ ---- Makefile.orig Mon Oct 8 23:35:27 2001 -+++ Makefile Mon Jul 29 10:12:19 2002 -@@ -1,8 +1,7 @@ +--- Makefile.orig 2002-10-22 01:15:16.000000000 +0200 ++++ Makefile 2003-05-09 23:46:09.000000000 +0200 +@@ -1,9 +1,9 @@ # Makefile for systems with GNU tools -CC = gcc ++#CC = gcc INSTALL = install IFLAGS = -idirafter dummyinc + #CFLAGS = -g -CFLAGS = -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion -+CFLAGS += -Wall -W -Wshadow #-pedantic -Werror -Wconversion ++CFLAGS += -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion LIBS = `./vsf_findlibs.sh` LINK = -Wl,-s -@@ -21,21 +20,7 @@ - $(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) - - install: -- if [ -x /usr/local/sbin ]; then \ -- $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \ -- else \ -- $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi -- if [ -x /usr/local/man ]; then \ -- $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \ -- $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \ -- elif [ -x /usr/share/man ]; then \ -- $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \ -- $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \ -- else \ -- $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \ -- $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi -- if [ -x /etc/xinetd.d ]; then \ -- $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi -+ $(BSD_INSTALL_PROGRAM) vsftpd $(PREFIX)/libexec/vsftpd - - clean: - rm -f *.o *.swp vsftpd diff --git a/net/vsftpd/patches/patch-ab b/net/vsftpd/patches/patch-ab new file mode 100644 index 00000000000..84794351449 --- /dev/null +++ b/net/vsftpd/patches/patch-ab @@ -0,0 +1,13 @@ +$NetBSD: patch-ab,v 1.1 2003/05/09 23:31:40 salo Exp $ + +--- defs.h.orig 2002-07-10 00:51:57.000000000 +0200 ++++ defs.h 2003-05-09 23:54:18.000000000 +0200 +@@ -1,7 +1,7 @@ + #ifndef VSF_DEFS_H + #define VSF_DEFS_H + +-#define VSFTP_DEFAULT_CONFIG "/etc/vsftpd.conf" ++#define VSFTP_DEFAULT_CONFIG PKG_SYSCONFDIR"/vsftpd.conf" + + #define VSFTP_COMMAND_FD 0 + diff --git a/net/vsftpd/patches/patch-ac b/net/vsftpd/patches/patch-ac new file mode 100644 index 00000000000..35c9b6b22f2 --- /dev/null +++ b/net/vsftpd/patches/patch-ac @@ -0,0 +1,34 @@ +$NetBSD: patch-ac,v 1.1 2003/05/09 23:31:40 salo Exp $ + +--- vsftpd.conf.orig 2003-05-10 01:04:11.000000000 +0200 ++++ vsftpd.conf 2003-05-10 01:14:57.000000000 +0200 +@@ -1,4 +1,4 @@ +-# Example config file /etc/vsftpd.conf ++# Example config file @PKG_SYSCONFDIR@/vsftpd.conf + # + # The default compiled in settings are very paranoid. This sample file + # loosens things up a bit, to make the ftp daemon more usable. +@@ -83,14 +83,14 @@ + # useful for combatting certain DoS attacks. + #deny_email_enable=YES + # (default follows) +-#banned_email_file=/etc/vsftpd.banned_emails ++#banned_email_file=@PKG_SYSCONFDIR@/vsftpd.banned_emails + # + # You may specify an explicit list of local users to chroot() to their home + # directory. If chroot_local_user is YES, then this list becomes a list of + # users to NOT chroot(). + #chroot_list_enable=YES + # (default follows) +-#chroot_list_file=/etc/vsftpd.chroot_list ++#chroot_list_file=@PKG_SYSCONFDIR@/vsftpd.chroot_list + # + # You may activate the "-R" option to the builtin ls. This is disabled by + # default to avoid remote users being able to cause excessive I/O on large +@@ -98,3 +98,6 @@ + # the presence of the "-R" option, so there is a strong case for enabling it. + #ls_recurse_enable=YES + ++# By default the server will run standalone. Comment out the option below when ++# running from inetd. ++listen=YES diff --git a/net/vsftpd/patches/patch-ad b/net/vsftpd/patches/patch-ad new file mode 100644 index 00000000000..4c51d4feb7e --- /dev/null +++ b/net/vsftpd/patches/patch-ad @@ -0,0 +1,29 @@ +$NetBSD: patch-ad,v 1.1 2003/05/09 23:31:40 salo Exp $ + +--- tunables.c.orig 2002-10-25 00:46:21.000000000 +0200 ++++ tunables.c 2003-05-10 00:28:13.000000000 +0200 +@@ -65,19 +65,19 @@ + unsigned int tunable_file_open_mode = 0666; + unsigned int tunable_max_per_ip = 0; + +-const char* tunable_secure_chroot_dir = "/usr/share/empty"; ++const char* tunable_secure_chroot_dir = "/var/chroot/vsftpd"; + const char* tunable_ftp_username = "ftp"; + const char* tunable_chown_username = "root"; + const char* tunable_xferlog_file = "/var/log/vsftpd.log"; + const char* tunable_message_file = ".message"; + /* XXX -> "secure"? */ +-const char* tunable_nopriv_user = "nobody"; ++const char* tunable_nopriv_user = "vsftpd"; + const char* tunable_ftpd_banner = 0; +-const char* tunable_banned_email_file = "/etc/vsftpd.banned_emails"; +-const char* tunable_chroot_list_file = "/etc/vsftpd.chroot_list"; ++const char* tunable_banned_email_file = PKG_SYSCONFDIR"/vsftpd.banned_emails"; ++const char* tunable_chroot_list_file = PKG_SYSCONFDIR"/vsftpd.chroot_list"; + const char* tunable_pam_service_name = "ftp"; + const char* tunable_guest_username = "ftp"; +-const char* tunable_userlist_file = "/etc/vsftpd.user_list"; ++const char* tunable_userlist_file = PKG_SYSCONFDIR"/vsftpd.user_list"; + const char* tunable_anon_root = 0; + const char* tunable_local_root = 0; + const char* tunable_banner_file = 0; diff --git a/net/vsftpd/patches/patch-ae b/net/vsftpd/patches/patch-ae new file mode 100644 index 00000000000..7b4f28683bc --- /dev/null +++ b/net/vsftpd/patches/patch-ae @@ -0,0 +1,13 @@ +$NetBSD: patch-ae,v 1.1 2003/05/09 23:31:41 salo Exp $ + +--- vsftpd.8.orig 2001-03-12 02:14:07.000000000 +0100 ++++ vsftpd.8 2003-05-10 00:26:17.000000000 +0200 +@@ -20,7 +20,7 @@ + An optional + .Op configuration file + may be given on the command line. The default configuration file is +-.Pa /etc/vsftpd.conf . ++.Pa @PKG_SYSCONFDIR@/vsftpd.conf . + .Sh SEE ALSO + .Xr vsftpd.conf 5 + diff --git a/net/vsftpd/patches/patch-af b/net/vsftpd/patches/patch-af new file mode 100644 index 00000000000..a9dd9ca537c --- /dev/null +++ b/net/vsftpd/patches/patch-af @@ -0,0 +1,71 @@ +$NetBSD: patch-af,v 1.1 2003/05/09 23:31:41 salo Exp $ + +--- vsftpd.conf.5.orig 2002-11-09 16:41:11.000000000 +0100 ++++ vsftpd.conf.5 2003-05-10 00:25:51.000000000 +0200 +@@ -4,7 +4,7 @@ + .SH DESCRIPTION + vsftpd.conf may be used to control various aspects of vsftpd's behaviour. By + default, vsftpd looks for this file at the location +-.BR /etc/vsftpd.conf . ++.BR @PKG_SYSCONFDIR@/vsftpd.conf . + However, you may override this by specifying a command line argument to + vsftpd. The command line argument is the pathname of the configuration file + for vsftpd. This behaviour is useful because you may wish to use an advanced +@@ -115,7 +115,7 @@ + different if chroot_local_user is set to YES. In this case, the list becomes + a list of users which are NOT to be placed in a chroot() jail. + By default, the file containing this list is +-/etc/vsftpd.chroot_list, but you may override this with the ++@PKG_SYSCONFDIR@/vsftpd.chroot_list, but you may override this with the + .BR chroot_list_file + setting. + +@@ -143,7 +143,7 @@ + .B deny_email_enable + If activated, you may provide a list of anonymous password e-mail responses + which cause login to be denied. By default, the file containing this list is +-/etc/vsftpd.banned_emails, but you may override this with the ++@PKG_SYSCONFDIR@/vsftpd.banned_emails, but you may override this with the + .BR banned_email_file + setting. + +@@ -448,7 +448,7 @@ + .BR deny_email_enable + is enabled. + +-Default: /etc/vsftpd.banned_emails ++Default: @PKG_SYSCONFDIR@/vsftpd.banned_emails + .TP + .B banner_file + This option is the name of a file containing text to display when someone +@@ -476,7 +476,7 @@ + .BR chroot_local_user + is disabled. + +-Default: /etc/vsftpd.chroot_list ++Default: @PKG_SYSCONFDIR@/vsftpd.chroot_list + .TP + .B guest_username + See the boolean setting +@@ -551,10 +551,10 @@ + with an example. If you set + .BR user_config_dir + to be +-.BR /etc/vsftpd_user_conf ++.BR @PKG_SYSCONFDIR@/vsftpd_user_conf + and then log on as the user "chris", then vsftpd will apply the settings in + the file +-.BR /etc/vsftpd_user_conf/chris ++.BR @PKG_SYSCONFDIR@/vsftpd_user_conf/chris + for the duration of the session. The format of this file is as detailed in + this manual page! + +@@ -565,7 +565,7 @@ + .BR userlist_enable + option is active. + +-Default: /etc/vsftpd.user_list ++Default: @PKG_SYSCONFDIR@/vsftpd.user_list + .TP + .B xferlog_file + This option is the name of the file to which we write the transfer log. The diff --git a/net/vsftpd/patches/patch-ag b/net/vsftpd/patches/patch-ag new file mode 100644 index 00000000000..3efaa6c2fe2 --- /dev/null +++ b/net/vsftpd/patches/patch-ag @@ -0,0 +1,13 @@ +$NetBSD: patch-ag,v 1.1 2003/05/09 23:31:42 salo Exp $ + +--- builddefs.h.orig 2002-10-25 19:47:47.000000000 +0200 ++++ builddefs.h 2003-05-10 00:55:02.000000000 +0200 +@@ -1,7 +1,7 @@ + #ifndef VSF_BUILDDEFS_H + #define VSF_BUILDDEFS_H + +-#undef VSF_BUILD_TCPWRAPPERS ++#define VSF_BUILD_TCPWRAPPERS + + #endif /* VSF_BUILDDEFS_H */ + -- cgit v1.2.3