mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 20:06:43 +02:00
testing/proftpd: upgrade to 1.3.7_rc3
This commit is contained in:
parent
95610a3e2d
commit
c24bb5aefe
@ -3,86 +3,105 @@
|
||||
# Contributor: Valery Kartel <valery.kartel@gmail.com>
|
||||
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
|
||||
pkgname=proftpd
|
||||
pkgver=1.3.6
|
||||
pkgrel=7
|
||||
_pkgver=${pkgver/_rc/rc}
|
||||
pkgver=1.3.7_rc3
|
||||
_pkgver=${pkgver/_/}
|
||||
pkgrel=0
|
||||
pkgdesc="Highly configurable FTP server software"
|
||||
url="http://www.proftpd.org/"
|
||||
url="https://github.com/proftpd/proftpd"
|
||||
pkgusers=$pkgname
|
||||
pkggroups=$pkgname
|
||||
arch="all"
|
||||
license="GPL"
|
||||
options="!check"
|
||||
depends=""
|
||||
depends_dev="perl"
|
||||
makedepends="$depends_dev bash file pcre-dev libmemcached-dev openssl-dev sqlite-dev mariadb-connector-c-dev
|
||||
hiredis-dev unixodbc-dev postgresql-dev openldap-dev geoip-dev net-snmp-dev"
|
||||
license="GPL-2.0-or-later"
|
||||
options="!check" # almost all checks fail, disbled for now
|
||||
makedepends="autoconf
|
||||
automake
|
||||
pcre-dev
|
||||
libmemcached-dev
|
||||
openssl-dev
|
||||
sqlite-dev
|
||||
mariadb-connector-c-dev
|
||||
hiredis-dev
|
||||
unixodbc-dev
|
||||
postgresql-dev
|
||||
openldap-dev
|
||||
geoip-dev
|
||||
net-snmp-dev"
|
||||
install="$pkgname.pre-install"
|
||||
_modules="auth_file auth_otp:sftp ban copy ctrls_admin deflate delay dnsbl dynmasq exec geoip
|
||||
facl facts ident ifsession:=zz ifversion lang ldap load log_forensic memcache qos
|
||||
quotatab:-- quotatab_file:quotatab quotatab_ldap:quotatab quotatab_radius:quotatab
|
||||
quotatab_sql:quotatab,sql radius ratio readme redis rewrite sftp_sql:sftp,sql site_misc
|
||||
shaper sql:-- sql_passwd:sql sql_sqlite:sql sql_mysql:sql sql_odbc:sql sql_postgres:sql
|
||||
statcache tls tls_fscache:tls tls_memcache:tls tls_redis:tls tls_shmcache:tls unique_id
|
||||
wrap2:-- wrap2_file:wrap2 wrap2_redis:wrap2,redis wrap2_sql:wrap2,sql"
|
||||
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%:*}"
|
||||
|
||||
_modules="$_modules:mod_unique_id:mod_site_misc:mod_load:mod_ban:mod_quotatab:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_sql_sqlite:mod_sql_odbc:mod_dynmasq"
|
||||
_modules="$_modules:mod_quotatab_sql:mod_ldap:mod_quotatab_ldap:mod_ratio:mod_tls:mod_rewrite:mod_radius:mod_wrap2:mod_wrap2_file"
|
||||
_modules="$_modules:mod_wrap2_sql:mod_quotatab_file:mod_quotatab_radius:mod_facl:mod_ctrls_admin:mod_copy:mod_deflate:mod_ifversion"
|
||||
_modules="$_modules:mod_geoip:mod_exec:mod_sftp:mod_sftp_sql:mod_shaper:mod_sql_passwd:mod_ifsession:mod_auth_otp:mod_tls_redis"
|
||||
_modules="$_modules:mod_wrap2_redis:mod_redis:mod_memcache:mod_tls_memcache:mod_readme:mod_snmp:mod_tls_shmcache"
|
||||
|
||||
subpackages="$pkgname-doc
|
||||
$pkgname-utils
|
||||
$pkgname-openrc"
|
||||
|
||||
for _module in ${_modules//:/ }; do
|
||||
subpackages="$subpackages $pkgname-$_module:_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
|
||||
openssl-1.1.1.patch
|
||||
|
||||
source="$pkgname-$_pkgver.tar.gz::https://github.com/proftpd/proftpd/archive/v$_pkgver.tar.gz
|
||||
fix-autoconf.patch
|
||||
|
||||
$pkgname.logrotate
|
||||
$pkgname.initd
|
||||
mod_delay.conf
|
||||
mod_load.conf
|
||||
$pkgname.conf
|
||||
mod_sftp.conf
|
||||
mod_tls_shmcache.conf
|
||||
"
|
||||
builddir="$srcdir/$pkgname-$_pkgver"
|
||||
mod_tls_shmcache.conf"
|
||||
|
||||
builddir="$srcdir/$pkgname-$_pkgver/"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
update_config_guess
|
||||
autoreconf -f
|
||||
}
|
||||
|
||||
check() {
|
||||
make check
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$builddir"
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--host=$CHOST \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc/$pkgname \
|
||||
--localstatedir=/run/$pkgname \
|
||||
--libexecdir=/usr/lib/$pkgname \
|
||||
--disable-strip \
|
||||
--disable-pam \
|
||||
--disable-wtmp \
|
||||
--enable-dso \
|
||||
--disable-static \
|
||||
--enable-sendfile \
|
||||
--enable-facl \
|
||||
--enable-pcre \
|
||||
--enable-ipv6 \
|
||||
--enable-dso \
|
||||
--enable-autoshadow \
|
||||
--enable-ctrls \
|
||||
--enable-ipv6 \
|
||||
--enable-pcre \
|
||||
--disable-strip \
|
||||
--disable-wtmp \
|
||||
--disable-auth-pam \
|
||||
--enable-openssl \
|
||||
--with-shared=mod_sftp:mod_snmp:$_shared_mods
|
||||
--with-shared=$_modules
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
make -C "$builddir" DESTDIR="$pkgdir" install
|
||||
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
|
||||
make DESTDIR="$pkgdir" install
|
||||
mkdir -p "$pkgdir"/var/log/$pkgname \
|
||||
"$pkgdir"/etc/$pkgname/conf.d \
|
||||
"$pkgdir"/etc/$pkgname/modules.d
|
||||
|
||||
install -Dm644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/$pkgname/$pkgname.conf
|
||||
install -dm750 -o ftp -g ftp "$pkgdir"/var/lib/ftp
|
||||
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
|
||||
install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
|
||||
|
||||
rm -fr "$pkgdir"/run "$pkgdir"/usr/share/locale \
|
||||
"$pkgdir"/usr/sbin/in.$pkgname
|
||||
"$pkgdir"/usr/sbin/in.$pkgname \
|
||||
"$pkgdir"/usr/lib/pkgconfig \
|
||||
"$pkgdir"/usr/include
|
||||
}
|
||||
|
||||
dev() {
|
||||
@ -103,7 +122,7 @@ doc() {
|
||||
|
||||
utils() {
|
||||
pkgdesc="$pkgdesc (utilities)"
|
||||
depends="$pkgname perl perl-mail-sendmail"
|
||||
depends="$pkgname perl-mail-sendmail"
|
||||
mkdir -p "$subpkgdir"/usr/sbin
|
||||
mv "$pkgdir"/usr/sbin/ftpscrub \
|
||||
"$pkgdir"/usr/sbin/ftpshut \
|
||||
@ -113,53 +132,61 @@ utils() {
|
||||
|
||||
_module() {
|
||||
local name=${subpkgname#$pkgname-}
|
||||
local load=$(eval echo \$_load_$name)
|
||||
local module_name=${name#mod_}
|
||||
local module_dep=${module_name%%_*}
|
||||
|
||||
pkgdesc="ProFTPd module: $name"
|
||||
depends="$pkgname"
|
||||
mkdir -p "$subpkgdir"/usr/lib/$pkgname
|
||||
mv "$pkgdir"/usr/lib/$pkgname/$name.so \
|
||||
"$subpkgdir"/usr/lib/$pkgname
|
||||
[ -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%/*}
|
||||
echo "<IfModule !$name.c>" > $file
|
||||
local dep; for dep in $(echo $load | tr "," " "); do
|
||||
depends="$depends $pkgname-mod_$dep"
|
||||
echo " <IfModule !mod_$dep.c>" >> $file
|
||||
echo " LoadModule mod_$dep.c" >> $file
|
||||
echo " </IfModule>" >> $file
|
||||
done
|
||||
echo " LoadModule $name.c" >> $file
|
||||
echo "</IfModule>" >> $file
|
||||
mv "$pkgdir"/usr/lib/$pkgname/$name.so "$subpkgdir"/usr/lib/$pkgname
|
||||
if [ -f "$srcdir"/$name.conf ]; then
|
||||
install -Dm644 "$srcdir"/$name.conf \
|
||||
"$subpkgdir"/etc/$pkgname/conf.d/$module_name.conf
|
||||
fi
|
||||
|
||||
local file="$subpkgdir"/etc/$pkgname/modules.d/$module_name.conf
|
||||
mkdir -p ${file%/*}
|
||||
{
|
||||
echo "<IfModule !$name.c>"
|
||||
if [ "$module_name" != "$module_dep" ]; then
|
||||
depends="$depends $pkgname-mod_$module_dep"
|
||||
echo " <IfModule !mod_$module_dep.c>"
|
||||
echo " LoadModule mod_$module_dep.c"
|
||||
echo " </IfModule>"
|
||||
fi
|
||||
echo " LoadModule $name.c"
|
||||
echo "</IfModule>"
|
||||
} >$file
|
||||
|
||||
# thats fine
|
||||
# shellcheck disable=2015
|
||||
type -q _post_$name && eval _post_$name || true
|
||||
}
|
||||
|
||||
mod_snmp() {
|
||||
_module
|
||||
_post_mod_snmp() {
|
||||
mkdir -p "$subpkgdir"/usr/share/snmp/mibs
|
||||
mv "$pkgdir"/etc/$pkgname/PROFTPD-MIB.txt \
|
||||
"$subpkgdir"/usr/share/snmp/mibs
|
||||
}
|
||||
|
||||
mod_sftp() {
|
||||
_module
|
||||
_post_mod_ldap() {
|
||||
mkdir -p "$subpkgdir"/etc/$pkgname
|
||||
cp "$builddir"/contrib/mod_quotatab_ldap.ldif \
|
||||
"$builddir"/contrib/mod_quotatab_ldap.schema \
|
||||
"$subpkgdir"/etc/$pkgname
|
||||
}
|
||||
|
||||
_post_mod_sftp() {
|
||||
mkdir -p "$subpkgdir"/etc/$pkgname/authorized_keys
|
||||
mv "$pkgdir"/etc/$pkgname/dhparams.pem \
|
||||
"$pkgdir"/etc/$pkgname/blacklist.dat \
|
||||
"$subpkgdir"/etc/$pkgname/
|
||||
}
|
||||
|
||||
sha512sums="2a3ca76a0c35ba31e9d79f7f652f4f35768262f5039c5dc04ef83ac9218f624645ac6cee445af4ec6a8c59a9bdad1e7b48e0e90cd13934cbe7c3e77a2f6013c0 proftpd-1.3.6.tar.gz
|
||||
9ef193a2b3f84103775c8df7636da2d4e7d1937f15c745005a99a4dcfd9db96d45c81490aeba04251bb975cdceb1be8015162a957fcd0a6f3dcd3054f6293a1a openssl-1.1.1.patch
|
||||
sha512sums="cab3ffee0ce6b921596cafc5fd2e0059c59a03f790791973b502e6384d45f0880b94e0d0961c3b230541a1785e9b0afa3d80276c82f4720696a46ea6594d744f proftpd-1.3.7rc3.tar.gz
|
||||
d127ffe52df1d0130cc838eaf8aaf2e2980704cd840afd7e2ee30b1c0cd40440a1552b652c7e47b13306accd0cabdf35b8ab78e04141f2a83d60c310bcfbf311 fix-autoconf.patch
|
||||
142f8ba096844eb48883cdd3890fa3c0c4c8f73f7ce4f2acd5fb742053f8a3605b3f6ca5d5ab6c62c673d76eb60885d796af55bd7b53950794c4e7e2837973b8 proftpd.logrotate
|
||||
a03124a88c0c9f3981762804c62aa479f36227f24408a60437bf737c1e783c539a2d2c0aed0b1d95e56a587bdb5c372f6d670c298cdb7433ecd1f64d4bef7c42 proftpd.initd
|
||||
e918e9fdf42e46953faeb55f5a8e7e7afc8951b861059182993f45b7ca870b9bdfa261fc893923772060bf500c44f98503d44878473dce7534f0825a7ff87831 mod_delay.conf
|
||||
06c149f4c1b8e0deb8102a0ddbe5314354d53cb70934c9315968ab69b9d2b1e16c33bf652aba05472eac4ca44137ce18c93214bb1257fad6c6e2e9b0728cf556 mod_load.conf
|
||||
557cbf2c1ca3a724216837f98c0f86b7d14df5f91564e1aceef721389c4774562edbd584d3ce2611ea4b2853c50acd569c33302f534e6e60452cf12b4b997ece mod_sftp.conf
|
||||
768ce1e63b44eafb9033212655c9a5a9aa65a6f7e1b97b11210ccc0e49caf5c32dd2514dba10a098a4ab2c8bd5f3ad5167f337f5fa0a1cdd5efa4e37c980f6e5 mod_tls_shmcache.conf"
|
||||
c6c6b6c32dd00d31fc1e328e989c77944aac993818747da05794c9560a270630e9bc7e09ac29215b57bcc709299d3720ae9009d3e2a94a0aef8cc5729fae1d0b proftpd.conf
|
||||
8c810838219dd0663d3a7390c4e3a31739c1389238f92f856a4c74cd5a71317e1cae0dcfecc4e43cc3057f8c4132539e87511e06620debb2f166694a15adc13e mod_sftp.conf
|
||||
2b5beaa4e01588b6d936b7ffda790e270fcba1e337eb43af11a1ad9c615d443d627c4bf66fe2b7946e57c65f5b1075568ab32df3c982e7e7d263b39d422693cd mod_tls_shmcache.conf"
|
||||
|
||||
22
testing/proftpd/fix-autoconf.patch
Normal file
22
testing/proftpd/fix-autoconf.patch
Normal file
@ -0,0 +1,22 @@
|
||||
--- old/lib/libltdl/Makefile.am
|
||||
+++ new/lib/libltdl/Makefile.am
|
||||
@@ -50,19 +50,7 @@
|
||||
LTDL_VERSION_INFO = -version-info 9:0:2
|
||||
|
||||
noinst_LTLIBRARIES += $(LT_DLLOADERS)
|
||||
-
|
||||
-if INSTALL_LTDL
|
||||
-ltdlincludedir = $(includedir)/libltdl
|
||||
-ltdlinclude_HEADERS = libltdl/lt_system.h \
|
||||
- libltdl/lt_error.h \
|
||||
- libltdl/lt_dlloader.h
|
||||
-include_HEADERS += ltdl.h
|
||||
-lib_LTLIBRARIES += libltdl.la
|
||||
-endif
|
||||
-
|
||||
-if CONVENIENCE_LTDL
|
||||
noinst_LTLIBRARIES += libltdlc.la
|
||||
-endif
|
||||
|
||||
libltdl_la_SOURCES = libltdl/lt__alloc.h \
|
||||
libltdl/lt__dirent.h \
|
||||
@ -1,3 +0,0 @@
|
||||
<IfModule mod_delay.c>
|
||||
DelayEngine on
|
||||
</IfModule>
|
||||
@ -1,3 +0,0 @@
|
||||
<IfModule mod_load.c>
|
||||
MaxLoad 10.0 "Server busy, seek elsewhere"
|
||||
</IfModule>
|
||||
@ -1,10 +1,10 @@
|
||||
<IfModule mod_sftp.c>
|
||||
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
|
||||
# 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
|
||||
</IfModule>
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
<IfModule mod_tls_shmcache.c>
|
||||
TLSSessionCache shm:/file=/run/proftpd/sesscache
|
||||
# TLSSessionCache shm:/file=/run/proftpd/sesscache
|
||||
</IfModule>
|
||||
|
||||
@ -1,22 +0,0 @@
|
||||
diff --git a/contrib/mod_auth_otp/crypto.c b/contrib/mod_auth_otp/crypto.c
|
||||
index c479d56..9a6ccc1 100644
|
||||
--- a/contrib/mod_auth_otp/crypto.c
|
||||
+++ b/contrib/mod_auth_otp/crypto.c
|
||||
@@ -50,17 +50,7 @@ void auth_otp_crypto_free(int flags) {
|
||||
ERR_free_strings();
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000001L
|
||||
-# if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
|
||||
- !defined(HAVE_LIBRESSL)
|
||||
- ERR_remove_thread_state();
|
||||
-# else
|
||||
- /* The ERR_remove_state(0) usage is deprecated due to thread ID
|
||||
- * differences among platforms; see the OpenSSL-1.0.0c CHANGES file
|
||||
- * for details. So for new enough OpenSSL installations, use the
|
||||
- * proper way to clear the error queue state.
|
||||
- */
|
||||
ERR_remove_thread_state(NULL);
|
||||
-# endif /* OpenSSL-1.1.x and later */
|
||||
#else
|
||||
ERR_remove_state(0);
|
||||
#endif /* OpenSSL prior to 1.0.0-beta1 */
|
||||
87
testing/proftpd/proftpd.conf
Normal file
87
testing/proftpd/proftpd.conf
Normal file
@ -0,0 +1,87 @@
|
||||
# This is a basic ProFTPD configuration file (rename it to
|
||||
# 'proftpd.conf' for actual use. It establishes a single server
|
||||
# and a single anonymous login. It assumes that you have a user/group
|
||||
# "proftpd" and "ftp" for normal operation and anon.
|
||||
|
||||
# This is the directory where DSO modules reside
|
||||
ModulePath /usr/lib/proftpd
|
||||
|
||||
# Allow only user root to load and unload modules, but allow everyone
|
||||
# to see which modules have been loaded
|
||||
ModuleControlsACLs insmod,rmmod allow user root
|
||||
ModuleControlsACLs lsmod allow user *
|
||||
|
||||
Include /etc/proftpd/modules.d/
|
||||
|
||||
ServerName "ProFTPD Default Installation"
|
||||
ServerType standalone
|
||||
#DefaultServer on
|
||||
|
||||
# Port 21 is the standard FTP port.
|
||||
Port 21
|
||||
|
||||
# Don't use IPv6 support by default.
|
||||
UseIPv6 off
|
||||
|
||||
# Umask 022 is a good standard umask to prevent new dirs and files
|
||||
# from being group and world writable.
|
||||
Umask 022
|
||||
|
||||
# To prevent DoS attacks, set the maximum number of child processes
|
||||
# to 30. If you need to allow more than 30 concurrent connections
|
||||
# at once, simply increase this value. Note that this ONLY works
|
||||
# in standalone mode, in inetd mode you should use an inetd server
|
||||
# that allows you to limit maximum number of processes per service
|
||||
# (such as xinetd).
|
||||
MaxInstances 30
|
||||
|
||||
# Set the user and group under which the server will run.
|
||||
User proftpd
|
||||
Group proftpd
|
||||
|
||||
# To cause every FTP user to be "jailed" (chrooted) into their home
|
||||
# directory, uncomment this line.
|
||||
#DefaultRoot ~
|
||||
|
||||
# Normally, we want files to be overwriteable.
|
||||
AllowOverwrite on
|
||||
|
||||
MultilineRFC2228 on
|
||||
DefaultServer on
|
||||
ShowSymlinks on
|
||||
|
||||
TimeoutNoTransfer 600
|
||||
TimeoutStalled 600
|
||||
TimeoutIdle 1200
|
||||
|
||||
DisplayLogin welcome.msg
|
||||
DisplayChdir .message true
|
||||
ListOptions "-l"
|
||||
|
||||
DenyFilter \*.*/
|
||||
|
||||
# A basic anonymous configuration, no upload directories. If you do not
|
||||
# want anonymous users, simply delete this entire <Anonymous> section.
|
||||
#<Anonymous ~ftp>
|
||||
# User ftp
|
||||
# Group ftp
|
||||
#
|
||||
# # We want clients to be able to login with "anonymous" as well as "ftp"
|
||||
# UserAlias anonymous ftp
|
||||
#
|
||||
# # Limit the maximum number of anonymous logins
|
||||
# MaxClients 10
|
||||
#
|
||||
# # We want 'welcome.msg' displayed at login, and '.message' displayed
|
||||
# # in each newly chdired directory.
|
||||
# DisplayLogin welcome.msg
|
||||
# DisplayChdir .message
|
||||
#
|
||||
# # Limit WRITE everywhere in the anonymous chroot
|
||||
# <Limit WRITE>
|
||||
# DenyAll
|
||||
# </Limit>
|
||||
#</Anonymous>
|
||||
|
||||
Include /etc/proftpd/conf.d/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user