diff options
Diffstat (limited to 'source/n/vsftpd')
-rw-r--r-- | source/n/vsftpd/doinst.sh | 15 | ||||
-rw-r--r-- | source/n/vsftpd/slack-desc | 19 | ||||
-rwxr-xr-x | source/n/vsftpd/vsftpd.SlackBuild | 94 | ||||
-rw-r--r-- | source/n/vsftpd/vsftpd.builddefs.diff | 15 | ||||
-rw-r--r-- | source/n/vsftpd/vsftpd.conf.diff | 48 | ||||
-rw-r--r-- | source/n/vsftpd/vsftpd.log | 5 | ||||
-rw-r--r-- | source/n/vsftpd/vsftpd.vsf_findlibs.sh.diff | 87 |
7 files changed, 283 insertions, 0 deletions
diff --git a/source/n/vsftpd/doinst.sh b/source/n/vsftpd/doinst.sh new file mode 100644 index 00000000..f915774f --- /dev/null +++ b/source/n/vsftpd/doinst.sh @@ -0,0 +1,15 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/vsftpd.conf.new +config etc/logrotate.d/vsftpd.new +rm -f etc/logrotate.d/vsftpd.new + diff --git a/source/n/vsftpd/slack-desc b/source/n/vsftpd/slack-desc new file mode 100644 index 00000000..82b9f521 --- /dev/null +++ b/source/n/vsftpd/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +vsftpd: vsftpd (Very Secure FTP Daemon) +vsftpd: +vsftpd: vsftpd is an FTP server, or daemon. The 'vs' stands for Very Secure. +vsftpd: Obviously this is not a guarantee, but a reflection that the entire +vsftpd: codebase was written with security in mind, and carefully designed to +vsftpd: be resilient to attack (as well as extremely fast and scalable). +vsftpd: +vsftpd: The vsftpd homepage is http://vsftpd.beasts.org/ +vsftpd: +vsftpd: The Very Secure FTP Daemon was written by Chris Evans. +vsftpd: diff --git a/source/n/vsftpd/vsftpd.SlackBuild b/source/n/vsftpd/vsftpd.SlackBuild new file mode 100755 index 00000000..c202e392 --- /dev/null +++ b/source/n/vsftpd/vsftpd.SlackBuild @@ -0,0 +1,94 @@ +#!/bin/sh + +# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION=2.1.2 +ARCH=${ARCH:-x86_64} +NUMJOBS=${NUMJOBS:-" -j7 "} +BUILD=${BUILD:-1} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-vsftpd + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP || exit 1 +rm -rf vsftpd-$VERSION +tar xvf $CWD/vsftpd-$VERSION.tar.?z* || exit 1 +cd vsftpd-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# This allows the libfinder script to find stuff in */lib64 +if [ "$LIBDIRSUFFIX" = "64" ]; then + zcat $CWD/vsftpd.vsf_findlibs.sh.diff.gz | patch -p1 --verbose || exit 1 +fi + +zcat $CWD/vsftpd.builddefs.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/vsftpd.conf.diff.gz | patch -p1 --verbose || exit 1 + +sed -i -e "s#lib/#lib${LIBDIRSUFFIX}/#g" vsf_findlibs.sh + +make $NUMJOBS || make || exit 1 + +mkdir -p $PKG/usr/sbin +cp vsftpd $PKG/usr/sbin +chmod 755 $PKG/usr/sbin/vsftpd +strip --strip-unneeded $PKG/usr/sbin/vsftpd + +mkdir -p $PKG/usr/man/man{5,8} +cat vsftpd.conf.5 | gzip -9c > $PKG/usr/man/man5/vsftpd.conf.5.gz +cat vsftpd.8 | gzip -9c > $PKG/usr/man/man8/vsftpd.8.gz + +mkdir -p $PKG/etc +cat vsftpd.conf > $PKG/etc/vsftpd.conf.new + +mkdir -p $PKG/etc/logrotate.d +zcat $CWD/vsftpd.log.gz > $PKG/etc/logrotate.d/vsftpd.new + +mkdir -p $PKG/usr/share/empty +mkdir -p $PKG/home/ftp + +mkdir -p $PKG/usr/doc/vsftpd-$VERSION +cp -a \ + AUDIT BENCHMARKS BUGS COPYING* COPYRIGHT Changelog EXAMPLE FAQ \ + INSTALL LICENSE README* REFS REWARD SECURITY SIZE SPEED TODO TUNING \ + $PKG/usr/doc/vsftpd-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/vsftpd-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/n/vsftpd/vsftpd.builddefs.diff b/source/n/vsftpd/vsftpd.builddefs.diff new file mode 100644 index 00000000..ea908139 --- /dev/null +++ b/source/n/vsftpd/vsftpd.builddefs.diff @@ -0,0 +1,15 @@ +--- ./builddefs.h.orig 2004-07-02 07:36:59.000000000 -0700 ++++ ./builddefs.h 2004-09-03 11:25:13.000000000 -0700 +@@ -1,9 +1,9 @@ + #ifndef VSF_BUILDDEFS_H + #define VSF_BUILDDEFS_H + +-#undef VSF_BUILD_TCPWRAPPERS +-#define VSF_BUILD_PAM +-#undef VSF_BUILD_SSL ++#define VSF_BUILD_TCPWRAPPERS ++#undef VSF_BUILD_PAM ++#define VSF_BUILD_SSL + + #endif /* VSF_BUILDDEFS_H */ + diff --git a/source/n/vsftpd/vsftpd.conf.diff b/source/n/vsftpd/vsftpd.conf.diff new file mode 100644 index 00000000..230d858c --- /dev/null +++ b/source/n/vsftpd/vsftpd.conf.diff @@ -0,0 +1,48 @@ +--- ./vsftpd.conf.orig 2008-12-17 14:31:40.000000000 -0600 ++++ ./vsftpd.conf 2009-03-29 22:09:21.000000000 -0500 +@@ -19,7 +19,7 @@ + # + # Default umask for local users is 077. You may wish to change this to 022, + # if your users expect that (022 is used by most other ftpd's) +-#local_umask=022 ++local_umask=022 + # + # Uncomment this to allow the anonymous FTP user to upload files. This only + # has an effect if the above global write enable is activated. Also, you will +@@ -48,11 +48,11 @@ + # + # You may override where the log file goes if you like. The default is shown + # below. +-#xferlog_file=/var/log/vsftpd.log ++xferlog_file=/var/log/vsftpd.log + # + # If you want, you can have your log file in standard ftpd xferlog format. + # Note that the default log file location is /var/log/xferlog in this case. +-#xferlog_std_format=YES ++xferlog_std_format=YES + # + # You may change the default value for timing out an idle session. + #idle_session_timeout=600 +@@ -100,14 +100,17 @@ + # default to avoid remote users being able to cause excessive I/O on large + # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume + # the presence of the "-R" option, so there is a strong case for enabling it. +-#ls_recurse_enable=YES ++ls_recurse_enable=YES + # +-# When "listen" directive is enabled, vsftpd runs in standalone mode and +-# listens on IPv4 sockets. This directive cannot be used in conjunction +-# with the listen_ipv6 directive. +-listen=YES ++# When "listen" directive is enabled, vsftpd runs in standalone mode (rather ++# than from inetd) and listens on IPv4 sockets. To use vsftpd in standalone ++# mode rather than with inetd, either change the line below to 'listen=YES' ++# or comment it out. This directive cannot be used in conjunction with the ++# listen_ipv6 directive. ++listen=NO + # + # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 + # sockets, you must run two copies of vsftpd whith two configuration files. + # Make sure, that one of the listen options is commented !! + #listen_ipv6=YES ++ diff --git a/source/n/vsftpd/vsftpd.log b/source/n/vsftpd/vsftpd.log new file mode 100644 index 00000000..d338de81 --- /dev/null +++ b/source/n/vsftpd/vsftpd.log @@ -0,0 +1,5 @@ +/var/log/vsftpd.log { + # ftpd doesn't handle SIGHUP properly + nocompress + missingok +} diff --git a/source/n/vsftpd/vsftpd.vsf_findlibs.sh.diff b/source/n/vsftpd/vsftpd.vsf_findlibs.sh.diff new file mode 100644 index 00000000..147ee742 --- /dev/null +++ b/source/n/vsftpd/vsftpd.vsf_findlibs.sh.diff @@ -0,0 +1,87 @@ +diff -Nur vsftpd-2.1.2.orig/vsf_findlibs.sh vsftpd-2.1.2/vsf_findlibs.sh +--- vsftpd-2.1.2.orig/vsf_findlibs.sh 2009-05-21 15:43:11.000000000 -0500 ++++ vsftpd-2.1.2/vsf_findlibs.sh 2009-05-31 00:41:38.308704816 -0500 +@@ -6,61 +6,61 @@ + + if find_func hosts_access tcpwrap.o; then + echo "-lwrap"; +- locate_library /lib/libnsl.so && echo "-lnsl"; ++ locate_library /lib64/libnsl.so && echo "-lnsl"; + fi + + # Look for PAM (done weirdly due to distribution bugs (e.g. Debian) or the + # crypt library. + if find_func pam_start sysdeputil.o; then +- locate_library /lib/libpam.so.0 && echo "/lib/libpam.so.0"; +- locate_library /usr/lib/libpam.so && echo "-lpam"; ++ locate_library /lib64/libpam.so.0 && echo "/lib64/libpam.so.0"; ++ locate_library /usr/lib64/libpam.so && echo "-lpam"; + # HP-UX ends shared libraries with .sl +- locate_library /usr/lib/libpam.sl && echo "-lpam"; ++ locate_library /usr/lib64/libpam.sl && echo "-lpam"; + # AIX ends shared libraries with .a +- locate_library /usr/lib/libpam.a && echo "-lpam"; ++ locate_library /usr/lib64/libpam.a && echo "-lpam"; + else +- locate_library /lib/libcrypt.so && echo "-lcrypt"; +- locate_library /usr/lib/libcrypt.so && echo "-lcrypt"; ++ locate_library /lib64/libcrypt.so && echo "-lcrypt"; ++ locate_library /usr/lib64/libcrypt.so && echo "-lcrypt"; + fi + + # Look for the dynamic linker library. Needed by older RedHat when + # you link in PAM +-locate_library /lib/libdl.so && echo "-ldl"; ++locate_library /lib64/libdl.so && echo "-ldl"; + + # Look for libsocket. Solaris needs this. +-locate_library /lib/libsocket.so && echo "-lsocket"; ++locate_library /lib64/libsocket.so && echo "-lsocket"; + + # Look for libnsl. Solaris needs this. +-locate_library /lib/libnsl.so && echo "-lnsl"; ++locate_library /lib64/libnsl.so && echo "-lnsl"; + + # Look for libresolv. Solaris needs this. +-locate_library /lib/libresolv.so && echo "-lresolv"; ++locate_library /lib64/libresolv.so && echo "-lresolv"; + + # Look for libutil. Older FreeBSD need this for setproctitle(). +-locate_library /usr/lib/libutil.so && echo "-lutil"; ++locate_library /usr/lib64/libutil.so && echo "-lutil"; + + # For older HP-UX... +-locate_library /usr/lib/libsec.sl && echo "-lsec"; ++locate_library /usr/lib64/libsec.sl && echo "-lsec"; + + # Look for libcap (capabilities) +-if locate_library /lib/libcap.so.1; then +- echo "/lib/libcap.so.1"; +-elif locate_library /lib/libcap.so.2; then +- echo "/lib/libcap.so.2"; ++if locate_library /lib64/libcap.so.1; then ++ echo "/lib64/libcap.so.1"; ++elif locate_library /lib64/libcap.so.2; then ++ echo "/lib64/libcap.so.2"; + else +- locate_library /usr/lib/libcap.so && echo "-lcap"; +- locate_library /lib/libcap.so && echo "-lcap"; ++ locate_library /usr/lib64/libcap.so && echo "-lcap"; ++ locate_library /lib64/libcap.so && echo "-lcap"; + fi + + # Solaris needs this for nanosleep().. +-locate_library /lib/libposix4.so && echo "-lposix4"; +-locate_library /usr/lib/libposix4.so && echo "-lposix4"; ++locate_library /lib64/libposix4.so && echo "-lposix4"; ++locate_library /usr/lib64/libposix4.so && echo "-lposix4"; + + # Tru64 (nanosleep) + locate_library /usr/shlib/librt.so && echo "-lrt"; + + # Solaris sendfile +-locate_library /usr/lib/libsendfile.so && echo "-lsendfile"; ++locate_library /usr/lib64/libsendfile.so && echo "-lsendfile"; + + # OpenSSL + if find_func SSL_library_init ssl.o; then |