From 246bdb87ac773d726decfa686edf132f2a3c268a Mon Sep 17 00:00:00 2001 From: Valery Kartel Date: Fri, 14 Apr 2017 14:16:45 +0300 Subject: testing/proftpd: move from unmaintained upgrade to 1.3.6 take maintainership --- testing/proftpd/APKBUILD | 146 ++++++++++++++++++++++++++++++++++ testing/proftpd/mod_delay.conf | 3 + testing/proftpd/mod_load.conf | 3 + testing/proftpd/mod_sftp.conf | 10 +++ testing/proftpd/mod_tls_shmcache.conf | 3 + testing/proftpd/proftpd.initd | 35 ++++++++ testing/proftpd/proftpd.logrotate | 9 +++ testing/proftpd/proftpd.pre-install | 7 ++ 8 files changed, 216 insertions(+) create mode 100644 testing/proftpd/APKBUILD create mode 100644 testing/proftpd/mod_delay.conf create mode 100644 testing/proftpd/mod_load.conf create mode 100644 testing/proftpd/mod_sftp.conf create mode 100644 testing/proftpd/mod_tls_shmcache.conf create mode 100644 testing/proftpd/proftpd.initd create mode 100644 testing/proftpd/proftpd.logrotate create mode 100644 testing/proftpd/proftpd.pre-install (limited to 'testing/proftpd') diff --git a/testing/proftpd/APKBUILD b/testing/proftpd/APKBUILD new file mode 100644 index 0000000000..00c9a317a3 --- /dev/null +++ b/testing/proftpd/APKBUILD @@ -0,0 +1,146 @@ +# Contributor: Elizabeth Jennifer Myers +# Contributor: Valery Kartel +# Maintainer: Valery Kartel +pkgname=proftpd +pkgver=1.3.6 +pkgrel=0 +_pkgver=${pkgver/_rc/rc} +pkgdesc="Highly configurable FTP server software" +url="http://www.proftpd.org/" +pkgusers=$pkgname +pkggroups=$pkgname +arch="all" +license="GPL" +options="!check" +depends="" +depends_dev="perl" +makedepends="$depends_dev bash pcre-dev libressl-dev sqlite-dev mariadb-dev + unixodbc-dev postgresql-dev openldap-dev geoip-dev net-snmp-dev" +install="$pkgname.pre-install" +_modules="auth_file ban copy ctrls_admin deflate delay dnsbl dynmasq exec geoip facl facts ident + ifsession:=zz ifversion ldap load log_forensic qos quotatab:-- quotatab_file:quotatab + quotatab_ldap:quotatab quotatab_radius:quotatab quotatab_sql:quotatab,sql radius ratio + readme rewrite shaper site_misc sql:-- sql_passwd:sql sftp_sql:sftp,sql sql_sqlite:sql + sql_mysql:sql sql_odbc:sql sql_postgres:sql tls tls_shmcache:tls unique_id" +for _module in $_modules; do + [ -z "${_module##*:*}" ] && eval _load_mod_${_module%:*}=${_module#*:} + subpackages="$subpackages $pkgname-mod_${_module%:*}:_module" + _shared_mods="${_shared_mods:+$_shared_mods:}mod_${_module%:*}" +done +subpackages="$pkgname-dev $pkgname-doc $pkgname-utils + $pkgname-mod_sftp $pkgname-mod_snmp $subpackages + " +source="ftp://ftp.proftpd.org/distrib/source/$pkgname-$_pkgver.tar.gz + $pkgname.logrotate + $pkgname.initd + mod_delay.conf + mod_load.conf + mod_sftp.conf + mod_tls_shmcache.conf + " +builddir="$srcdir/$pkgname-$_pkgver" + +build() { + cd "$builddir" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/$pkgname \ + --localstatedir=/run/$pkgname \ + --libexecdir=/usr/lib/$pkgname \ + --disable-strip \ + --disable-pam \ + --enable-dso \ + --enable-facl \ + --enable-pcre \ + --enable-ipv6 \ + --enable-ctrls \ + --enable-openssl \ + --with-shared=mod_sftp:mod_snmp:$_shared_mods \ + || return 1 + make || return 1 +} + +package() { + make -C "$builddir" DESTDIR="$pkgdir" install || return 1 + sed -i -e "5 a Include /etc/$pkgname/modules.d/*.conf" \ + -e "5 a Include /etc/$pkgname/conf.d/*.conf\n" \ + -e "s/nobody/$pkgname/" \ + -e "s/nogroup/$pkgname/" \ + "$pkgdir"/etc/$pkgname/$pkgname.conf || return 1 + mkdir -p "$pkgdir"/var/log/$pkgname \ + "$pkgdir"/etc/$pkgname/conf.d \ + "$pkgdir"/etc/$pkgname/modules.d || return 1 + install -dm750 -o ftp -g ftp "$pkgdir"/var/lib/ftp || return 1 + install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname || return 1 + install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname || return 1 + rm -fr "$pkgdir"/run "$pkgdir"/usr/share/locale \ + "$pkgdir"/usr/sbin/in.$pkgname +} + +dev() { + default_dev || return 1 + mkdir -p "$subpkgdir"/usr/bin || return 1 + mv "$pkgdir"/usr/bin/prxs "$subpkgdir"/usr/bin +} + +utils() { + pkgdesc="$pkgdesc (utilities)" + depends="$pkgname perl perl-mail-sendmail" + mkdir -p "$subpkgdir"/usr/sbin || return 1 + mv "$pkgdir"/usr/sbin/ftpscrub \ + "$pkgdir"/usr/sbin/ftpshut \ + "$subpkgdir"/usr/sbin || return 1 + mv "$pkgdir"/usr/bin "$subpkgdir"/usr +} + +_module() { + local name=${subpkgname#$pkgname-} + local load=$(eval echo \$_load_$name) + pkgdesc="ProFTPd module: $name" + depends="$pkgname" + mkdir -p "$subpkgdir"/usr/lib/$pkgname || return 1 + mv "$pkgdir"/usr/lib/$pkgname/$name.so \ + "$subpkgdir"/usr/lib/$pkgname || return 1 + [ -f "$srcdir"/$name.conf ] && install -Dm644 "$srcdir"/$name.conf \ + "$subpkgdir"/etc/$pkgname/conf.d/${name#mod_}.conf + if [ "$load" != "--" ]; then + local file="$subpkgdir"/etc/$pkgname/modules.d/${name#mod_}.conf + if [ -z "${load##=*}" ]; then + file="$subpkgdir"/etc/$pkgname/modules.d/${load#=}${name#mod_}.conf + load="" + fi + mkdir -p ${file%/*} || return 1 + echo "" > $file + local dep; for dep in $(echo $load | tr "," " "); do + depends="$depends $pkgname-mod_$dep" + echo " " >> $file + echo " LoadModule mod_$dep.c" >> $file + echo " " >> $file + done + echo " LoadModule $name.c" >> $file + echo "" >> $file + fi +} + +mod_snmp() { + _module || return 1 + mkdir -p "$subpkgdir"/usr/share/snmp/mibs || return 1 + mv "$pkgdir"/etc/$pkgname/PROFTPD-MIB.txt \ + "$subpkgdir"/usr/share/snmp/mibs +} + +mod_sftp() { + _module || return 1 + mkdir -p "$subpkgdir"/etc/$pkgname/authorized_keys || return 1 + mv "$pkgdir"/etc/$pkgname/dhparams.pem \ + "$pkgdir"/etc/$pkgname/blacklist.dat \ + "$subpkgdir"/etc/$pkgname/ +} + +sha512sums="2a3ca76a0c35ba31e9d79f7f652f4f35768262f5039c5dc04ef83ac9218f624645ac6cee445af4ec6a8c59a9bdad1e7b48e0e90cd13934cbe7c3e77a2f6013c0 proftpd-1.3.6.tar.gz +142f8ba096844eb48883cdd3890fa3c0c4c8f73f7ce4f2acd5fb742053f8a3605b3f6ca5d5ab6c62c673d76eb60885d796af55bd7b53950794c4e7e2837973b8 proftpd.logrotate +a03124a88c0c9f3981762804c62aa479f36227f24408a60437bf737c1e783c539a2d2c0aed0b1d95e56a587bdb5c372f6d670c298cdb7433ecd1f64d4bef7c42 proftpd.initd +e918e9fdf42e46953faeb55f5a8e7e7afc8951b861059182993f45b7ca870b9bdfa261fc893923772060bf500c44f98503d44878473dce7534f0825a7ff87831 mod_delay.conf +06c149f4c1b8e0deb8102a0ddbe5314354d53cb70934c9315968ab69b9d2b1e16c33bf652aba05472eac4ca44137ce18c93214bb1257fad6c6e2e9b0728cf556 mod_load.conf +557cbf2c1ca3a724216837f98c0f86b7d14df5f91564e1aceef721389c4774562edbd584d3ce2611ea4b2853c50acd569c33302f534e6e60452cf12b4b997ece mod_sftp.conf +768ce1e63b44eafb9033212655c9a5a9aa65a6f7e1b97b11210ccc0e49caf5c32dd2514dba10a098a4ab2c8bd5f3ad5167f337f5fa0a1cdd5efa4e37c980f6e5 mod_tls_shmcache.conf" diff --git a/testing/proftpd/mod_delay.conf b/testing/proftpd/mod_delay.conf new file mode 100644 index 0000000000..80b3c714e2 --- /dev/null +++ b/testing/proftpd/mod_delay.conf @@ -0,0 +1,3 @@ + + DelayEngine on + diff --git a/testing/proftpd/mod_load.conf b/testing/proftpd/mod_load.conf new file mode 100644 index 0000000000..946d04eff8 --- /dev/null +++ b/testing/proftpd/mod_load.conf @@ -0,0 +1,3 @@ + + MaxLoad 10.0 "Server busy, seek elsewhere" + diff --git a/testing/proftpd/mod_sftp.conf b/testing/proftpd/mod_sftp.conf new file mode 100644 index 0000000000..0ecd1f629a --- /dev/null +++ b/testing/proftpd/mod_sftp.conf @@ -0,0 +1,10 @@ + + SFTPEngine on + Port 2222 + SFTPLog /var/log/proftpd/sftp.log + SFTPHostKey /etc/ssh/ssh_host_rsa_key + SFTPHostKey /etc/ssh/ssh_host_dsa_key + SFTPAuthMethods publickey + SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u + SFTPCompression delayed + diff --git a/testing/proftpd/mod_tls_shmcache.conf b/testing/proftpd/mod_tls_shmcache.conf new file mode 100644 index 0000000000..dece4cb619 --- /dev/null +++ b/testing/proftpd/mod_tls_shmcache.conf @@ -0,0 +1,3 @@ + + TLSSessionCache shm:/file=/run/proftpd/sesscache + diff --git a/testing/proftpd/proftpd.initd b/testing/proftpd/proftpd.initd new file mode 100644 index 0000000000..05670abc71 --- /dev/null +++ b/testing/proftpd/proftpd.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run + +name="ProFTPD" +description="ProFTPD FTP Server" + +pidfile="/run/proftpd/proftpd.pid" +command="/usr/sbin/proftpd" +command_args="-n" +command_background="yes" +required_files="/etc/proftpd/proftpd.conf" +extra_commands="checkconfig" +extra_started_commands="reload" +description_checkconfig="Check configuration" +description_reload="Reload configuration" + +depend() { + need net + use logger dns + after firewall +} + +checkconfig() { + $command -t +} + +start_pre() { + checkpath --directory ${pidfile%/*} + checkconfig >/dev/null 2>&1 +} + +reload() { + ebegin "Reloading ${name:-$RC_SVCNAME}" + checkconfig >/dev/null 2>&1 && start-stop-daemon --signal HUP --pidfile $pidfile + eend $? +} diff --git a/testing/proftpd/proftpd.logrotate b/testing/proftpd/proftpd.logrotate new file mode 100644 index 0000000000..6bc5056009 --- /dev/null +++ b/testing/proftpd/proftpd.logrotate @@ -0,0 +1,9 @@ +/var/log/proftpd/*.log /var/log/xferlog { + compress + missingok + notifempty + sharedscripts + postrotate + /etc/init.d/proftpd --ifstarted --quiet reload + endscript +} diff --git a/testing/proftpd/proftpd.pre-install b/testing/proftpd/proftpd.pre-install new file mode 100644 index 0000000000..53c0d9c6df --- /dev/null +++ b/testing/proftpd/proftpd.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +addgroup -S proftpd 2>/dev/null +adduser -S -D -h /var/lib/ftp -s /sbin/nologin -G proftpd -g proftpd proftpd 2>/dev/null +adduser proftpd ftp 2>/dev/null + +exit 0 -- cgit v1.2.3