summaryrefslogtreecommitdiffstats
path: root/source/n/vsftpd
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/n/vsftpd
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/n/vsftpd')
-rw-r--r--source/n/vsftpd/doinst.sh15
-rw-r--r--source/n/vsftpd/slack-desc19
-rwxr-xr-xsource/n/vsftpd/vsftpd.SlackBuild94
-rw-r--r--source/n/vsftpd/vsftpd.builddefs.diff15
-rw-r--r--source/n/vsftpd/vsftpd.conf.diff48
-rw-r--r--source/n/vsftpd/vsftpd.log5
-rw-r--r--source/n/vsftpd/vsftpd.vsf_findlibs.sh.diff87
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 000000000..f915774f4
--- /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 000000000..82b9f521e
--- /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 000000000..c202e392d
--- /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 000000000..ea9081391
--- /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 000000000..230d858c8
--- /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 000000000..d338de811
--- /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 000000000..147ee7426
--- /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