From 0838a7ed482f29ddf71cf05e7ec6cf7c2728ce34 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 18 Jun 2012 00:01:40 +0000 Subject: Mon Jun 18 00:01:40 UTC 2012 --- community-testing/vsftpd/PKGBUILD | 59 ++++++++++++++++++++++++ community-testing/vsftpd/vsftpd-ssl.service | 10 +++++ community-testing/vsftpd/vsftpd-ssl.socket | 9 ++++ community-testing/vsftpd/vsftpd-ssl@.service | 9 ++++ community-testing/vsftpd/vsftpd.d | 67 ++++++++++++++++++++++++++++ community-testing/vsftpd/vsftpd.install | 17 +++++++ community-testing/vsftpd/vsftpd.service | 10 +++++ community-testing/vsftpd/vsftpd.socket | 9 ++++ community-testing/vsftpd/vsftpd.xinetd | 10 +++++ community-testing/vsftpd/vsftpd@.service | 8 ++++ 10 files changed, 208 insertions(+) create mode 100644 community-testing/vsftpd/PKGBUILD create mode 100644 community-testing/vsftpd/vsftpd-ssl.service create mode 100644 community-testing/vsftpd/vsftpd-ssl.socket create mode 100644 community-testing/vsftpd/vsftpd-ssl@.service create mode 100644 community-testing/vsftpd/vsftpd.d create mode 100644 community-testing/vsftpd/vsftpd.install create mode 100644 community-testing/vsftpd/vsftpd.service create mode 100644 community-testing/vsftpd/vsftpd.socket create mode 100644 community-testing/vsftpd/vsftpd.xinetd create mode 100644 community-testing/vsftpd/vsftpd@.service (limited to 'community-testing/vsftpd') diff --git a/community-testing/vsftpd/PKGBUILD b/community-testing/vsftpd/PKGBUILD new file mode 100644 index 000000000..c4208743b --- /dev/null +++ b/community-testing/vsftpd/PKGBUILD @@ -0,0 +1,59 @@ +# $Id: PKGBUILD 72565 2012-06-16 17:11:45Z dreisner $ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Andreas Radke +# Contributor: judd + +pkgname=vsftpd +pkgver=3.0.0 +pkgrel=3 +pkgdesc="Very Secure FTP daemon" +arch=('i686' 'x86_64') +url="https://security.appspot.com/vsftpd.html" +license=('GPL2') +depends=('openssl') +backup=('etc/vsftpd.conf' 'etc/xinetd.d/vsftpd') +install=vsftpd.install +source=(https://security.appspot.com/downloads/${pkgname}-${pkgver}.tar.gz{,.asc} + vsftpd.xinetd vsftpd.d vsftpd-ssl.socket vsftpd.socket + vsftpd.service vsftpd@.service vsftpd-ssl.service vsftpd-ssl@.service) +sha1sums=('436da30cefa33e22a0266077ab95397e9432e297' + '2142ac8a84f18ecc1ebac21b9ac07858c35ae6af' + 'c87b4ce56dac15223694a6e86c01ea813b877596' + '24f268956c24e78be0c234c6d31f41487922eafe' + 'f81dab50243f7e82dc9722ca79b2b24de0882eb2' + '5b7a7a1e0c04acfcc2dba1346557f1193b9905ba' + 'f1fa8cfaab1541c1ce3bb4dab4f4b302e5c44b03' + '3a040a18893a5103a1d4a22e631ee247bde8c8d3' + '08b2938dc81ee200b6d733a32f5565b9dbe170a3' + 'e5bd183664008bb0cc0353d4efb2e8e92a365798') + +build() { + cd $srcdir/$pkgname-$pkgver + + # build-time config + sed \ + -e 's|^#undef VSF_BUILD_SSL$|#define VSF_BUILD_SSL|' \ + -i builddefs.h + + CFLAGS+=' -fPIE' LINK='' LDFLAGS="-fPIE -pie ${LDFLAGS} -Wl,-z,now" make +} + +package() { + cd $srcdir/$pkgname-$pkgver + + install -D -m755 vsftpd $pkgdir/usr/sbin/vsftpd + install -D -m644 vsftpd.conf $pkgdir/etc/vsftpd.conf + install -D -m644 vsftpd.8 $pkgdir/usr/share/man/man8/vsftpd.8 + install -D -m644 vsftpd.conf.5 $pkgdir/usr/share/man/man5/vsftpd.conf.5 + install -D -m644 $srcdir/vsftpd.xinetd $pkgdir/etc/xinetd.d/vsftpd + install -D -m755 $srcdir/vsftpd.d $pkgdir/etc/rc.d/vsftpd + + install -D -m644 $srcdir/vsftpd.service $pkgdir/usr/lib/systemd/system/vsftpd.service + install -D -m644 $srcdir/vsftpd@.service $pkgdir/usr/lib/systemd/system/vsftpd@.service + install -D -m644 $srcdir/vsftpd-ssl.service $pkgdir/usr/lib/systemd/system/vsftpd-ssl.service + install -D -m644 $srcdir/vsftpd-ssl@.service $pkgdir/usr/lib/systemd/system/vsftpd-ssl@.service + install -D -m644 $srcdir/vsftpd.socket $pkgdir/usr/lib/systemd/system/vsftpd.socket + install -D -m644 $srcdir/vsftpd-ssl.socket $pkgdir/usr/lib/systemd/system/vsftpd-ssl.socket + + install -d -m755 $pkgdir/usr/share/empty +} diff --git a/community-testing/vsftpd/vsftpd-ssl.service b/community-testing/vsftpd/vsftpd-ssl.service new file mode 100644 index 000000000..f46b05fcd --- /dev/null +++ b/community-testing/vsftpd/vsftpd-ssl.service @@ -0,0 +1,10 @@ +[Unit] +Description=vsftpd daemon (legacy implicit SSL) + +[Service] +ExecStart=/usr/sbin/vsftpd -olisten_ipv6=yes -oimplicit_ssl=yes +ExecReload=/bin/kill -HUP $MAINPID +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/community-testing/vsftpd/vsftpd-ssl.socket b/community-testing/vsftpd/vsftpd-ssl.socket new file mode 100644 index 000000000..b18b639c1 --- /dev/null +++ b/community-testing/vsftpd/vsftpd-ssl.socket @@ -0,0 +1,9 @@ +[Unit] +Conflicts=vsftpd.service + +[Socket] +ListenStream=990 +Accept=yes + +[Install] +WantedBy=sockets.target diff --git a/community-testing/vsftpd/vsftpd-ssl@.service b/community-testing/vsftpd/vsftpd-ssl@.service new file mode 100644 index 000000000..e53fad324 --- /dev/null +++ b/community-testing/vsftpd/vsftpd-ssl@.service @@ -0,0 +1,9 @@ +[Unit] +Description=vsftpd per-connection server (legacy implicit SSL) + +[Service] +ExecStart=-/usr/sbin/vsftpd -oimplicit_ssl=yes +ExecReload=/bin/kill -HUP $MAINPID +StandardInput=socket +StandardOutput=socket +StandardError=syslog diff --git a/community-testing/vsftpd/vsftpd.d b/community-testing/vsftpd/vsftpd.d new file mode 100644 index 000000000..27310855c --- /dev/null +++ b/community-testing/vsftpd/vsftpd.d @@ -0,0 +1,67 @@ +#!/bin/bash + +daemon_name=vsftpd + +. /etc/rc.conf +. /etc/rc.d/functions + +get_pid() { + pidof -o %PPID $daemon_name +} + +case "$1" in + start) + stat_busy "Starting $daemon_name daemon" + + PID=$(get_pid) + if [ -z "$PID" ]; then + [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid + # RUN + $daemon_name & + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + echo $(get_pid) > /var/run/$daemon_name.pid + add_daemon $daemon_name + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping $daemon_name daemon" + PID=$(get_pid) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm -f /var/run/$daemon_name.pid &> /dev/null + rm_daemon $daemon_name + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + + status) + stat_busy "Checking $daemon_name status"; + ck_status $daemon_name + ;; + + *) + echo "usage: $0 {start|stop|restart|status}" +esac + +exit 0 diff --git a/community-testing/vsftpd/vsftpd.install b/community-testing/vsftpd/vsftpd.install new file mode 100644 index 000000000..48f134e24 --- /dev/null +++ b/community-testing/vsftpd/vsftpd.install @@ -0,0 +1,17 @@ +# arg 1: the new package version +post_install() { + if [ -f lib/modules/`uname -r`/kernel/security/capability.ko ]; then + echo ">>> It appears that your current kernel has linux security" + echo ">>> capabilities built as a module. vsftpd requires this" + echo ">>> functionality to operate." + echo ">>>" + echo ">>> To activate the module, please load it now (modprobe capability)." + echo ">>> Also, you should add it to your MODULES array in rc.conf, so" + echo ">>> it will be activated automatically at boot-up." + fi +} + +post_upgrade() { + post_install $1 +} + diff --git a/community-testing/vsftpd/vsftpd.service b/community-testing/vsftpd/vsftpd.service new file mode 100644 index 000000000..d4f7251ba --- /dev/null +++ b/community-testing/vsftpd/vsftpd.service @@ -0,0 +1,10 @@ +[Unit] +Description=vsftpd daemon + +[Service] +ExecStart=/usr/sbin/vsftpd -olisten_ipv6=yes +ExecReload=/bin/kill -HUP $MAINPID +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/community-testing/vsftpd/vsftpd.socket b/community-testing/vsftpd/vsftpd.socket new file mode 100644 index 000000000..cdc0d337e --- /dev/null +++ b/community-testing/vsftpd/vsftpd.socket @@ -0,0 +1,9 @@ +[Unit] +Conflicts=vsftpd.service + +[Socket] +ListenStream=21 +Accept=yes + +[Install] +WantedBy=sockets.target diff --git a/community-testing/vsftpd/vsftpd.xinetd b/community-testing/vsftpd/vsftpd.xinetd new file mode 100644 index 000000000..eff2eb3db --- /dev/null +++ b/community-testing/vsftpd/vsftpd.xinetd @@ -0,0 +1,10 @@ +service ftp +{ + socket_type = stream + wait = no + user = root + server = /usr/sbin/vsftpd + log_on_success += HOST DURATION + log_on_failure += HOST + disable = yes +} diff --git a/community-testing/vsftpd/vsftpd@.service b/community-testing/vsftpd/vsftpd@.service new file mode 100644 index 000000000..353f95f82 --- /dev/null +++ b/community-testing/vsftpd/vsftpd@.service @@ -0,0 +1,8 @@ +[Unit] +Description=vsftpd per-connection server + +[Service] +ExecStart=-/usr/sbin/vsftpd +ExecReload=/bin/kill -HUP $MAINPID +StandardInput=socket +StandardError=syslog -- cgit v1.2.3-54-g00ecf