mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
net-ftp/proftpd: Bump to 1.3.9b
Release w/ additional fixes for SQL injection. Bug: https://bugs.gentoo.org/973437 Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr> Part-of: https://codeberg.org/gentoo/gentoo/pulls/1061 Merges: https://codeberg.org/gentoo/gentoo/pulls/1061 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
4ccaf032d6
commit
0fa01e089b
@@ -6,4 +6,6 @@ DIST mod_vroot-0.9.12.tar.gz 112717 BLAKE2B 60a59539ff9db190432a807f88236e37ab42
|
||||
DIST proftpd-1.3.9.tar.gz 19837398 BLAKE2B 30ad60148de79cd4198791ce89dc6c2204c75cb0966f7f17a0fefe25bf4678dd8ea7d373469fbf02f670ae0ca6879f4371ef97a65f4875ad131930d49d800b6f SHA512 5cc53d7909f8b45718509b547aeffaf027cec66b1c34ed9f3a7de1ba561f9ca3d51bb991edb24c8f833bb47e0131619850a4bfd4fec509505769d123e78dc8b3
|
||||
DIST proftpd-1.3.9a.tar.gz 19850748 BLAKE2B f024e1f112f326ebe11d1d478af258e43e4d506a01a025b6f6fa4096a19ac44f1913154489c9cd203e906ac9091806e2f2b3869c0db6b094fb960b6e6d3b4092 SHA512 217780522a9366dd16c678ab4ca3de8a6079482a0d68d2f0ab7869d0f8aba4982d0cb0105821f52c8d2fca6f76b3156da70bdbb7d01ac96ad5c16f99f33fdd76
|
||||
DIST proftpd-1.3.9a.tar.gz.asc 195 BLAKE2B 8b3f7f2fe2cc906d2804247de0b33ace669f6e0d43a99de592aaf82358c322bd42db95c23ae9bb8096702916bc42e639b6a9e8a99f7a1652731889f5a8cb5927 SHA512 6c8c872dea409745b89c5e225a421c67c3f655629d4432d03e7a55c9d4ee7921e43e8cc982743a1b32b5f3ee5e2b04467ea01237005e95cdd7add18749a9c2e4
|
||||
DIST proftpd-1.3.9b.tar.gz 19858317 BLAKE2B b5c96abd419a74481f5119444ad56cab1940bad8ec4e78c636012f8e3f22fada3f5d173ffe471788cf1b512eac72d2817c30981c99c114c677beee293a5feb19 SHA512 bfcfe013db3b93247abacd2fd8fb2d929feede4e7f804a2416ca161c5cc1a3a4a18e1cc5914ae6536ebc2f40da69c1713a65c1317a3a8cbfe63706709f2e4dec
|
||||
DIST proftpd-1.3.9b.tar.gz.asc 195 BLAKE2B 4e058e8e22feae1259fa4f5143e7c32def7c43b778ea29920094f80586d486e520abab4776a7bbbfc62b4b1dcbe603f206bc09628b0554349abcb1bb0a682d91 SHA512 d2875b53c401d73abe87bee3e290a8fcf8dc8d5ff08fd9aaaa0e9abfc48e90b7c94f6e3409da496910215e2fd500e1e09fd6b7b8ea55b24e6b7c30fddfb1d2a3
|
||||
DIST proftpd-mod_clamav-0.14rc2.tar.gz 19710 BLAKE2B 3435e198cf029337904d4666910414124a3b7e1529d4b12f7acd8a9be563009fff4d9a30eb132a2d7361d2c830e5601c4a00a8814282585b6915e991cc29bc13 SHA512 b8e56880fadf36513215fa4c20be6db7cdf1274337072a9b29c3c3477b3de4743ebcdb1179572ec4cb1501fac0064330c855b1f818bf0cc52f0e91170f059772
|
||||
|
||||
334
net-ftp/proftpd/proftpd-1.3.9b.ebuild
Normal file
334
net-ftp/proftpd/proftpd-1.3.9b.ebuild
Normal file
@@ -0,0 +1,334 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/proftpd.asc
|
||||
inherit flag-o-matic systemd tmpfiles toolchain-funcs verify-sig
|
||||
|
||||
MOD_CASE="0.9.1"
|
||||
MOD_CLAMAV="0.14rc2"
|
||||
MOD_DISKUSE="0.9.1"
|
||||
MOD_GSS="1.3.9"
|
||||
MOD_MSG="0.5.1"
|
||||
MOD_VROOT="0.9.12"
|
||||
|
||||
DESCRIPTION="An advanced and very configurable FTP server"
|
||||
HOMEPAGE="
|
||||
http://www.proftpd.org/
|
||||
http://www.castaglia.org/proftpd/
|
||||
https://github.com/jbenden/mod_clamav
|
||||
https://gssmod.sourceforge.net/
|
||||
"
|
||||
SRC_URI="
|
||||
ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz
|
||||
case? ( https://github.com/Castaglia/${PN}-mod_case/archive/v${MOD_CASE}.tar.gz
|
||||
-> mod_case-${MOD_CASE}.tar.gz )
|
||||
clamav? ( https://github.com/jbenden/mod_clamav/archive/v${MOD_CLAMAV}.tar.gz
|
||||
-> ${PN}-mod_clamav-${MOD_CLAMAV}.tar.gz )
|
||||
diskuse? ( https://github.com/Castaglia/${PN}-mod_diskuse/archive/v${MOD_DISKUSE}.tar.gz
|
||||
-> mod_diskuse-${MOD_DISKUSE}.tar.gz )
|
||||
kerberos? ( https://downloads.sourceforge.net/gssmod/mod_gss-${MOD_GSS}.tar.gz )
|
||||
msg? ( https://github.com/Castaglia/${PN}-mod_msg/archive/v${MOD_MSG}.tar.gz
|
||||
-> mod_msg-${MOD_MSG}.tar.gz )
|
||||
vroot? ( https://github.com/Castaglia/${PN}-mod_vroot/archive/v${MOD_VROOT}.tar.gz
|
||||
-> mod_vroot-${MOD_VROOT}.tar.gz )
|
||||
verify-sig? ( ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz.asc )
|
||||
"
|
||||
S="${WORKDIR}/${P/_/}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
IUSE="acl authfile ban +caps case clamav copy ctrls deflate diskuse dso dynmasq exec ifsession ifversion ident
|
||||
kerberos ldap log-forensic memcache msg mysql ncurses nls pam +pcre postgres qos radius
|
||||
ratio readme rewrite selinux sftp shaper sitemisc snmp sodium softquota sqlite ssl tcpd test unique-id vroot"
|
||||
# Some tests are ran in chroot. Confuses sandbox.
|
||||
RESTRICT="test"
|
||||
# TODO: geoip
|
||||
REQUIRED_USE="
|
||||
ban? ( ctrls )
|
||||
msg? ( ctrls )
|
||||
shaper? ( ctrls )
|
||||
|
||||
mysql? ( ssl )
|
||||
postgres? ( ssl )
|
||||
radius? ( ssl )
|
||||
sftp? ( ssl )
|
||||
sqlite? ( ssl )
|
||||
"
|
||||
|
||||
COMMON_DEPEND="
|
||||
virtual/libcrypt:=
|
||||
acl? ( virtual/acl )
|
||||
caps? ( sys-libs/libcap )
|
||||
deflate? ( virtual/zlib:= )
|
||||
kerberos? (
|
||||
sys-fs/e2fsprogs
|
||||
virtual/krb5
|
||||
)
|
||||
ldap? ( net-nds/openldap:= )
|
||||
memcache? (
|
||||
|| (
|
||||
dev-libs/libmemcached-awesome
|
||||
>=dev-libs/libmemcached-0.41
|
||||
)
|
||||
)
|
||||
mysql? (
|
||||
dev-db/mysql-connector-c:0=
|
||||
sodium? ( dev-libs/libsodium:0= )
|
||||
)
|
||||
nls? ( virtual/libiconv )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
ssl? ( dev-libs/openssl:0= )
|
||||
pam? ( sys-libs/pam )
|
||||
pcre? ( dev-libs/libpcre2:= )
|
||||
postgres? (
|
||||
dev-db/postgresql:=
|
||||
sodium? ( dev-libs/libsodium:0= )
|
||||
)
|
||||
rewrite? ( net-dns/libidn2:= )
|
||||
sftp? ( virtual/zlib:= )
|
||||
sqlite? (
|
||||
dev-db/sqlite:3
|
||||
sodium? ( dev-libs/libsodium:0= )
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
test? ( dev-libs/check )
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
net-ftp/ftpbase
|
||||
clamav? ( app-antivirus/clamav )
|
||||
selinux? ( sec-policy/selinux-ftp )
|
||||
"
|
||||
BDEPEND="
|
||||
verify-sig? ( sec-keys/openpgp-keys-proftpd )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.3.6-use-trace.patch
|
||||
"${FILESDIR}"/${PN}-1.3.9-sftp_ssl-3.0.patch
|
||||
|
||||
# merged in 1.3.10
|
||||
"${FILESDIR}"/${PN}-1.3.9-slibtool.patch #953968
|
||||
"${FILESDIR}"/${PN}-1.3.9-fix_c23.patch #880481
|
||||
)
|
||||
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
# AIX only
|
||||
authenticate
|
||||
loginfailed
|
||||
loginsuccess
|
||||
|
||||
# Deprecated/removed functions, not actually checking for this anyway
|
||||
SSLeay_add_all_algorithms
|
||||
# Test isn't actually checking for BIO_f_zlib
|
||||
BIO_f_zlib
|
||||
)
|
||||
|
||||
in_dir() {
|
||||
pushd "${WORKDIR}/${1}" || die
|
||||
shift
|
||||
"$@"
|
||||
popd
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P/_/}.tar.gz{,.asc}
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Skip 'install-conf' / Support LINGUAS
|
||||
sed -i -e "/install-all/s/ install-conf//" Makefile.in || die
|
||||
sed -i -e "s/^LANGS=.*$/LANGS=${LINGUAS}/" locale/Makefile.in || die
|
||||
|
||||
# Prepare external modules
|
||||
if use case; then
|
||||
cp -v "${WORKDIR}"/${PN}-mod_case-${MOD_CASE}/mod_case.c contrib || die
|
||||
cp -v "${WORKDIR}"/${PN}-mod_case-${MOD_CASE}/mod_case.html doc/contrib || die
|
||||
fi
|
||||
|
||||
if use clamav ; then
|
||||
in_dir mod_clamav-${MOD_CLAMAV} eapply "${FILESDIR}"/"${PN}"-1.3.9-clamav-refresh-api.patch
|
||||
in_dir mod_clamav-${MOD_CLAMAV} eapply "${FILESDIR}"/"${PN}"-1.3.9-clamav-debool.patch
|
||||
cp -v "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/mod_clamav.{c,h} contrib || die
|
||||
eapply -p0 "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/001-add-mod_clamav-to-tests.patch
|
||||
fi
|
||||
|
||||
if use diskuse; then
|
||||
in_dir ${PN}-mod_diskuse-${MOD_DISKUSE} eapply "${FILESDIR}"/${PN}-1.3.6_rc4-diskuse-refresh-api.patch
|
||||
|
||||
# ./configure will modify files. Symlink them instead of copying
|
||||
ln -sv "${WORKDIR}"/${PN}-mod_diskuse-${MOD_DISKUSE}/mod_diskuse.h "${S}"/contrib || die
|
||||
|
||||
cp -v "${WORKDIR}"/${PN}-mod_diskuse-${MOD_DISKUSE}/mod_diskuse.c "${S}"/contrib || die
|
||||
cp -v "${WORKDIR}"/${PN}-mod_diskuse-${MOD_DISKUSE}/mod_diskuse.html "${S}"/doc/contrib || die
|
||||
fi
|
||||
|
||||
if use msg; then
|
||||
cp -v "${WORKDIR}"/${PN}-mod_msg-${MOD_MSG}/mod_msg.c contrib || die
|
||||
cp -v "${WORKDIR}"/${PN}-mod_msg-${MOD_MSG}/mod_msg.html doc/contrib || die
|
||||
fi
|
||||
|
||||
if use vroot; then
|
||||
cp -rv "${WORKDIR}"/${PN}-mod_vroot-${MOD_VROOT} contrib/mod_vroot || die
|
||||
fi
|
||||
|
||||
if use kerberos ; then
|
||||
in_dir mod_gss-${MOD_GSS} eapply "${FILESDIR}"/${PN}-1.3.9-gss-refresh-api.patch
|
||||
in_dir mod_gss-${MOD_GSS} eapply "${FILESDIR}"/${PN}-1.3.9-fix_heimdal.patch
|
||||
|
||||
# ./configure will modify files. Symlink them instead of copying
|
||||
ln -sv "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_auth_gss.c "${S}"/contrib || die
|
||||
ln -sv "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_gss.c "${S}"/contrib || die
|
||||
ln -sv "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_gss.h "${S}"/include || die
|
||||
|
||||
cp -v "${WORKDIR}"/mod_gss-${MOD_GSS}/README.mod_{auth_gss,gss} "${S}" || die
|
||||
cp -v "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_gss.html "${S}"/doc/contrib || die
|
||||
cp -v "${WORKDIR}"/mod_gss-${MOD_GSS}/rfc{1509,2228}.txt "${S}"/doc/rfc || die
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# -Werror=lto-type-mismatch #969611
|
||||
# https://github.com/proftpd/proftpd/issues/2032
|
||||
use dso && filter-lto
|
||||
|
||||
local c m
|
||||
|
||||
use acl && m="${m}:mod_facl"
|
||||
use ban && m="${m}:mod_ban"
|
||||
use case && m="${m}:mod_case"
|
||||
use clamav && m="${m}:mod_clamav"
|
||||
use copy && m="${m}:mod_copy"
|
||||
use ctrls && m="${m}:mod_ctrls_admin"
|
||||
use deflate && m="${m}:mod_deflate"
|
||||
if use diskuse ; then
|
||||
in_dir ${PN}-mod_diskuse-${MOD_DISKUSE} econf
|
||||
m="${m}:mod_diskuse"
|
||||
fi
|
||||
use dynmasq && m="${m}:mod_dynmasq"
|
||||
use exec && m="${m}:mod_exec"
|
||||
use ifsession && m="${m}:mod_ifsession"
|
||||
use ifversion && m="${m}:mod_ifversion"
|
||||
if use kerberos ; then
|
||||
in_dir mod_gss-${MOD_GSS} econf --with-krb5-config="${EPREFIX}/usr/bin/krb5-config"
|
||||
m="${m}:mod_gss:mod_auth_gss"
|
||||
fi
|
||||
use ldap && m="${m}:mod_ldap"
|
||||
use log-forensic && m="${m}:mod_log_forensic"
|
||||
use msg && m="${m}:mod_msg"
|
||||
if use mysql || use postgres || use sqlite ; then
|
||||
m="${m}:mod_sql:mod_sql_passwd"
|
||||
use mysql && m="${m}:mod_sql_mysql"
|
||||
use postgres && m="${m}:mod_sql_postgres"
|
||||
use sqlite && m="${m}:mod_sql_sqlite"
|
||||
fi
|
||||
use qos && m="${m}:mod_qos"
|
||||
use radius && m="${m}:mod_radius"
|
||||
use ratio && m="${m}:mod_ratio"
|
||||
use readme && m="${m}:mod_readme"
|
||||
use rewrite && m="${m}:mod_rewrite"
|
||||
if use sftp ; then
|
||||
m="${m}:mod_sftp"
|
||||
use pam && m="${m}:mod_sftp_pam"
|
||||
use mysql || use postgres || use sqlite && m="${m}:mod_sftp_sql"
|
||||
fi
|
||||
use shaper && m="${m}:mod_shaper"
|
||||
use sitemisc && m="${m}:mod_site_misc"
|
||||
use snmp && m="${m}:mod_snmp"
|
||||
if use softquota ; then
|
||||
m="${m}:mod_quotatab:mod_quotatab_file"
|
||||
use ldap && m="${m}:mod_quotatab_ldap"
|
||||
use radius && m="${m}:mod_quotatab_radius"
|
||||
use mysql || use postgres || use sqlite && m="${m}:mod_quotatab_sql"
|
||||
fi
|
||||
if use ssl ; then
|
||||
m="${m}:mod_tls:mod_tls_shmcache"
|
||||
use memcache && m="${m}:mod_tls_memcache"
|
||||
fi
|
||||
if use tcpd ; then
|
||||
m="${m}:mod_wrap2:mod_wrap2_file"
|
||||
use mysql || use postgres || use sqlite && m="${m}:mod_wrap2_sql"
|
||||
fi
|
||||
use unique-id && m="${m}:mod_unique_id"
|
||||
use vroot && m="${m}:mod_vroot"
|
||||
|
||||
if [[ -n ${PROFTP_CUSTOM_MODULES} ]]; then
|
||||
einfo "Adding user-specified extra modules: '${PROFTP_CUSTOM_MODULES}'"
|
||||
m="${m}:${PROFTP_CUSTOM_MODULES}"
|
||||
fi
|
||||
|
||||
[[ -z ${m} ]] || c="${c} --with-modules=${m:1}"
|
||||
|
||||
local myeconfargs=(
|
||||
--cache-file="${S}"/config.cache
|
||||
--localstatedir=/run/proftpd
|
||||
--sysconfdir=/etc/proftpd
|
||||
--disable-strip
|
||||
$(use_enable acl facl)
|
||||
$(use_enable authfile auth-file)
|
||||
$(use_enable caps cap)
|
||||
$(use_enable ctrls)
|
||||
$(use_enable dso)
|
||||
$(use_enable ident)
|
||||
$(use_enable memcache)
|
||||
$(use_enable ncurses)
|
||||
$(use_enable nls)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_enable pam auth-pam)
|
||||
$(use_enable pcre pcre2)
|
||||
$(use_enable sodium)
|
||||
$(use_enable test tests)
|
||||
--enable-trace
|
||||
--enable-shadow
|
||||
--enable-autoshadow
|
||||
${c:1}
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake api-tests -C tests
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
[[ -z ${LINGUAS-set} ]] && rm -r "${ED}"/usr/share/locale
|
||||
rm -rf "${ED}"/run "${ED}"/var/run
|
||||
|
||||
newinitd "${FILESDIR}"/proftpd.initd-r1 proftpd
|
||||
insinto /etc/proftpd
|
||||
doins "${FILESDIR}"/proftpd.conf.sample
|
||||
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/proftpd.xinetd proftpd
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/${PN}.logrotate ${PN}
|
||||
|
||||
dodoc ChangeLog CREDITS INSTALL NEWS README* RELEASE_NOTES
|
||||
|
||||
docinto html
|
||||
dodoc doc/*.html doc/contrib/*.html doc/howto/*.html doc/modules/*.html
|
||||
|
||||
docinto rfc
|
||||
dodoc doc/rfc/*.txt
|
||||
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
newtmpfiles "${FILESDIR}"/${PN}-tmpfiles.d.conf-r1 ${PN}.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Create /var/run files at package merge time: bug #650000
|
||||
tmpfiles_process ${PN}.conf
|
||||
}
|
||||
Reference in New Issue
Block a user