net-ftp/pure-ftpd: drop 1.0.49-r6, 1.0.50-r1

Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
This commit is contained in:
Conrad Kostecki
2022-05-27 22:17:40 +02:00
parent 417d0c600d
commit e991d2f044
9 changed files with 0 additions and 582 deletions

View File

@@ -1,2 +1 @@
DIST pure-ftpd-1.0.49.tar.bz2 487958 BLAKE2B bd5f10a49b533eb6c257032659e97aa7ae16ec9402704d8ee06c92938e217b748b390ccf0e31b3640f41cb7a93f85b29c8ddcdc296f214391b1d92da9d701a7c SHA512 b44896d6fe2cda9169b1db93c5260bb892af14a173f2d25e60dd6530afe85d8e9156985609e35da7e5550dc123afb42bc5012beb9fca9011054cf0ed8b2eddef
DIST pure-ftpd-1.0.50.tar.bz2 520167 BLAKE2B 0c694ed48e896be13d907a71a24357f8676daf2c66bdaac41d31b162741164fe5ab1560499acc08b11e4fdb2a678c81c81c03e65a8181fcfd960ffbfe4b731d4 SHA512 8fbd24fb0450b9ed8e47335c97c3bc1cbcd0ee2ac7ebea95721b9dbddb7f61d8bedaa1710ba94213d96c79e12ec9b2b555ddb5f494c8961ca2339b176a52fe12

View File

@@ -1,31 +0,0 @@
From 8d0d42542e2cb7a56d645fbe4d0ef436e38bcefa Mon Sep 17 00:00:00 2001
From: Frank Denis <github@pureftpd.org>
Date: Tue, 18 Feb 2020 18:36:58 +0100
Subject: [PATCH] diraliases: always set the tail of the list to NULL
Spotted and reported by Antonio Norales from GitHub Security Labs.
Thanks!
---
src/diraliases.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/diraliases.c b/src/diraliases.c
index 4002a36..fb70273 100644
--- a/src/diraliases.c
+++ b/src/diraliases.c
@@ -93,7 +93,6 @@ int init_aliases(void)
(tail->dir = strdup(dir)) == NULL) {
die_mem();
}
- tail->next = NULL;
} else {
DirAlias *curr;
@@ -105,6 +104,7 @@ int init_aliases(void)
tail->next = curr;
tail = curr;
}
+ tail->next = NULL;
}
fclose(fp);
aliases_up++;

View File

@@ -1,23 +0,0 @@
https://bugs.gentoo.org/721242
Backport of https://github.com/jedisct1/pure-ftpd/pull/148
--- a/configure.ac
+++ b/configure.ac
@@ -7,7 +7,7 @@ AC_INIT([pure-ftpd],[1.0.49],
[https://www.pureftpd.org])
AC_CONFIG_SRCDIR(src/ftpd.c)
AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar])
+AM_INIT_AUTOMAKE([1.11.2 dist-bzip2 tar-ustar])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_MAINTAINER_MODE
AM_DEP_TRACK
@@ -17,6 +17,7 @@ AC_SUBST(VERSION)
dnl Checks for programs.
LX_CFLAGS=${CFLAGS-NONE}
+AM_PROG_AR
AC_PROG_CC
AC_PROG_RANLIB
AC_USE_SYSTEM_EXTENSIONS

View File

@@ -1,27 +0,0 @@
From 36c6d268cb190282a2c17106acfd31863121b58e Mon Sep 17 00:00:00 2001
From: Frank Denis <github@pureftpd.org>
Date: Mon, 24 Feb 2020 15:19:43 +0100
Subject: [PATCH] pure_strcmp(): len(s2) can be > len(s1)
Reported by Antonio Morales from GitHub Security Labs, thanks!
---
src/utils.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/utils.c b/src/utils.c
index f41492d..a7f0381 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -45,5 +45,11 @@ int pure_memcmp(const void * const b1_, const void * const b2_, size_t len)
int pure_strcmp(const char * const s1, const char * const s2)
{
- return pure_memcmp(s1, s2, strlen(s1) + 1U);
+ const size_t s1_len = strlen(s1);
+ const size_t s2_len = strlen(s2);
+
+ if (s1_len != s2_len) {
+ return -1;
+ }
+ return pure_memcmp(s1, s2, s1_len);
}

View File

@@ -1,25 +0,0 @@
From fb93975777a1cffba80544e08ca81606532395d6 Mon Sep 17 00:00:00 2001
From: DroidTest <53651584+DroidTest@users.noreply.github.com>
Date: Thu, 29 Jul 2021 11:36:26 +0800
Subject: [PATCH] fix the maxfile_size checking bug
Fix the predicate that never evaluates true
---
src/ftpd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/ftpd.c b/src/ftpd.c
index d856839..61275de 100644
--- a/src/ftpd.c
+++ b/src/ftpd.c
@@ -4247,8 +4247,8 @@ void dostor(char *name, const int append, const int autorename)
if (quota_update(&quota, 0LL, 0LL, &overflow) == 0 &&
(overflow > 0 || quota.files >= user_quota_files ||
quota.size > user_quota_size ||
- (max_filesize >= (off_t) 0 &&
- (max_filesize = user_quota_size - quota.size) < (off_t) 0))) {
+ ((max_filesize = user_quota_size - quota.size) < (off_t) 0 &&
+ max_filesize >= (off_t) 0))) {
overflow = 1;
(void) close(f);
goto afterquota;

View File

@@ -1,90 +0,0 @@
# Config file for /etc/init.d/pure-ftpd
##Comment variables out to disable its features, or change the values in it... ##
## This variable must be uncommented in order for the server to start ##
#IS_CONFIGURED="yes"
## FTP Server,Port (separated by comma) ##
## If you prefer host names over IP addresses, it's your choice:
## SERVER="-S ftp.rtchat.com,21"
## IPv6 addresses are supported.
## !!! WARNING !!!
## Using an invalid IP will result in the server not starting,
## but reporting a correct start!
## SERVER="-S 192.168.0.1,21"
## By default binds to all available IPs.
SERVER="-S 21"
## Number of simultaneous connections in total, and per IP ##
MAX_CONN="-c 30"
MAX_CONN_IP="-C 10"
## Don't allow uploads if the partition is more full then this var ##
DISK_FULL="-k 90%"
## If your FTP server is behind a NAT box, uncomment this ##
#USE_NAT="-N"
## Authentication mechanisms (others are 'pam', ...) ##
## Further infos can be found in the README file.
AUTH="-l unix"
## Change the maximum idle time (in minutes) ##
## If this variable is not defined, it will default to 15 minutes.
#TIMEOUT="-I <timeout>'"
## Facility used for syslog logging ##
## If this variable is not defined, it will default to the 'ftp' facility.
## Logging can be disabled with '-f none'.
#LOG="-f <facility>"
## Charset conversion support *experimental* ##
## Only works if USE "charconv" is enabled (only Pure-FTPd >=1.0.21).
## Set the charset of the filesystem.
# CHARCONV="--fscharset <charset>"
## If you want to process each file uploaded through Pure-FTPd, enter the name
## of the script that should process the files below.
## man pure-uploadscript to learn more about how to write this script.
# UPLOADSCRIPT="/path/to/uploadscript"
## Misc. Others ##
MISC_OTHER="-A -x -j -R -Z"
#
# Use these inside $MISC_OTHER
# More can be found on "http://download.pureftpd.org/pub/pure-ftpd/doc/README"
#
# -A [ chroot() everyone, but root ]
# -e [ Only allow anonymous users ]
# -E [ Only allow authenticated users. Anonymous logins are prohibited. ]
# -i [ Disallow upload for anonymous users, whatever directory perms are ]
# -j [ If the home directory of a user doesn't exist, auto-create it ]
# -M [ Allow anonymous users to create directories. ]
# -R [ Disallow users (even non-anonymous ones) usage of the CHMOD command ]
# -x [ In normal operation mode, authenticated users can read/write
# files beginning with a dot ('.'). Anonymous users can't, for security reasons
# (like changing banners or a forgotten .rhosts). When '-x' is used, authenticated
# users can download dot-files, but not overwrite/create them, even if they own
# them. ]
# -X [ This flag is identical to the previous one (writing
# dot-files is prohibited), but in addition, users can't even *read* files and
# directories beginning with a dot (like "cd .ssh"). ]
# -D [ List files beginning with a dot ('.') even when the client doesn't
# append the '-a' option to the list command. A workaround for badly
# configured FTP clients. ]
# -G [ Disallow renaming. ]
# -d [ Send various debugging messages to the syslog. ONLY for DEBUG ]
# -F <fortune file> [ Display a fortune cookie on login. Check the README file ]
# -H [ By default, fully-qualified host names are logged. The '-H' flag avoids host names resolution. ]
# Some filesystems don't like accesses being memory mapped. This happens for
# example with ftpwho on JFFS2 filesystems (bug #330563). If you happen to
# have such a filesystem on /var set TMPFS_MOUNT to "true".
TMPFS_MOUNT="false"
# Special mount options (like nosuid or nodev) for the tmpfs mount can be added
# here. Several options must be separated by comma: "nodev,nosuid"
#TMPFS_OPTS=""

View File

@@ -1,75 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
ftpd_pidfile="/var/run/pure-ftpd.pid"
script_pidfile="/var/run/pure-uploadscript.pid"
ftpd_rundir="/var/lib/run/pure-ftpd"
daemon="/usr/sbin/pure-ftpd"
script_daemon="/usr/sbin/pure-uploadscript"
depend() {
need localmount
use netmount
}
start_pre() {
if [ -z "${IS_CONFIGURED}" ] ; then
eerror "You need to setup /etc/conf.d/pure-ftpd first!"
return 1
fi
}
start() {
UPSCRIPT=""
if [ -n "${UPLOADSCRIPT}" ] ; then
UPSCRIPT="--uploadscript"
fi
FTPD_CONFIG="$SERVER $MAX_CONN $MAX_CONN_IP $DISK_FULL $USE_NAT $AUTH
$LOG $TIMEOUT $CHARCONV $MISC_OTHER $UPSCRIPT"
WAIT="--wait 100"
if ${TMPFS_MOUNT:-false} && grep -q tmpfs /proc/filesystems ; then
[ -n "${TMPFS_OPTS}" ] && MOUNT_OPTS="-o ${TMPFS_OPTS}"
einfo "Mounting tmpfs on ${ftpd_rundir}"
mount ${MOUNT_OPTS} -t tmpfs tmpfs ${ftpd_rundir} \
|| eerror "Unable to mount tmpfs"
fi
ebegin "Starting Pure-FTPd"
start-stop-daemon --start --quiet --pidfile ${ftpd_pidfile} \
--make-pidfile --background --exec /usr/sbin/pure-ftpd ${WAIT} \
-- $(echo ${FTPD_CONFIG} | sed 's@\([[:space:]]\+\|^\)-B\([[:space:]]\+\|$\)@\1@g')
result=$?
if [ ${result} -ne 0 ] ; then
eend 1 "Could not launch Pure-FTPd"
else
eend $result
if [ -n "${UPLOADSCRIPT}" ] ; then
ebegin "Starting Pure-FTPd upload script"
start-stop-daemon --start --quiet --make-pidfile \
--pidfile ${script_pidfile} \
--exec ${script_daemon} --background ${WAIT} \
-- -r $UPLOADSCRIPT
eend $?
fi
fi
}
stop() {
if [ -n "${UPLOADSCRIPT}" ] ; then
ebegin "Stopping Pure-FTPd upload script"
start-stop-daemon --stop --retry 20 --quiet \
--pidfile ${script_pidfile}
eend $?
fi
ebegin "Stopping Pure-FTPd"
start-stop-daemon --stop --retry 20 --quiet --pidfile ${ftpd_pidfile}
eend $?
if ${TMPFS_MOUNT:-false} && mount | grep -q ${ftpd_rundir} ; then
umount ${ftpd_rundir} >/dev/null 2>&1
fi
}

View File

@@ -1,160 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools flag-o-matic
DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
HOMEPAGE="http://www.pureftpd.org/"
if [[ "${PV}" == 9999 ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/jedisct1/pure-ftpd.git"
else
SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
fi
LICENSE="BSD GPL-2"
SLOT="0"
IUSE="anondel anonperm anonren anonres caps implicittls ldap mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
REQUIRED_USE="implicittls? ( ssl )"
BDEPEND="sys-devel/autoconf-archive"
DEPEND="dev-libs/libsodium:=
virtual/libcrypt:=
caps? ( sys-libs/libcap )
ldap? ( >=net-nds/openldap-2.0.25:= )
mysql? ( || (
dev-db/mariadb-connector-c
dev-db/mysql-connector-c
) )
pam? ( sys-libs/pam )
postgres? ( dev-db/postgresql:= )
ssl? (
>=dev-libs/openssl-0.9.6g:0=[-bindist(-)]
)
sysquota? ( sys-fs/quota[-rpc] )
xinetd? ( virtual/inetd )"
RDEPEND="${DEPEND}
net-ftp/ftpbase
selinux? ( sec-policy/selinux-ftp )"
PATCHES=(
"${FILESDIR}/${PN}-1.0.28-pam.patch"
# https://bugs.gentoo.org/711124
"${FILESDIR}/${P}-diraliases_uninitialized_pointer.patch"
"${FILESDIR}/${P}-pure_strcmp_OOB_read.patch"
# https://bugs.gentoo.org/721242
"${FILESDIR}/${P}-do-not-call-ar-directly.patch"
# https://bugs.gentoo.org/811786
"${FILESDIR}/${P}-quota_maxfile_size_check.patch"
)
src_prepare() {
default
eautoreconf
}
src_configure() {
# adjust max user length to something more appropriate
# for virtual hosts. See bug #62472 for details.
sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" \
-i "${S}/src/ftpd.h" || die "sed failed"
# Those features are only configurable like this, see bug #179375.
use anondel && append-cppflags -DANON_CAN_DELETE
use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS
use anonren && append-cppflags -DANON_CAN_RENAME
use anonres && append-cppflags -DANON_CAN_RESUME
use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS
# Do not auto-use SSP -- let the user select this.
export ax_cv_check_cflags___fstack_protector_all=no
local myeconfargs=(
--enable-largefile
# Required for correct pid file location.
# pure-ftpd appends "/run/pure-ftpd.pid" to the localstatedir
# path, and tries to write to that file even when being
# started in foreground. So we need to pin this to /
--localstatedir="${EPREFIX}"/
--with-altlog
--with-cookie
--with-diraliases
--with-extauth
--with-ftpwho
--with-language=${PUREFTPD_LANG:=english}
--with-peruserlimits
--with-privsep
--with-puredb
--with-quotas
--with-ratios
--with-throttling
--with-uploadscript
--with-virtualhosts
$(use_with ldap)
$(use_with mysql)
$(use_with pam)
$(use_with paranoidmsg)
$(use_with postgres pgsql)
$(use_with ssl tls)
$(use_with implicittls)
$(use_with vchroot virtualchroot)
$(use_with sysquota sysquotas)
$(usex caps '' '--without-capabilities')
$(usex noiplog '--without-iplogging' '')
$(usex xinetd '' '--without-inetd')
)
econf "${myeconfargs[@]}"
}
src_install() {
local DOCS=( AUTHORS ChangeLog FAQ HISTORY README* NEWS )
default
newinitd "${FILESDIR}/pure-ftpd.rc11" ${PN}
newconfd "${FILESDIR}/pure-ftpd.conf_d-3" ${PN}
if use implicittls ; then
sed -i '/^SERVER/s@21@990@' "${ED}"/etc/conf.d/${PN} \
|| die "Adjusting default server port for implicittls usage failed!"
fi
keepdir /var/lib/run/${PN}
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}/pure-ftpd.xinetd" ${PN}
fi
if use ldap ; then
insinto /etc/openldap/schema
doins pureftpd.schema
insinto /etc/openldap
insopts -m 0600
doins pureftpd-ldap.conf
fi
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
elog
elog "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!"
elog
ewarn "It's *really* important to read the README provided with Pure-FTPd!"
ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info"
ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info."
ewarn
fi
}

View File

@@ -1,150 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic
DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
HOMEPAGE="http://www.pureftpd.org/"
if [[ "${PV}" == 9999 ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/jedisct1/pure-ftpd.git"
else
SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
fi
LICENSE="BSD GPL-2"
SLOT="0"
IUSE="anondel anonperm anonren anonres caps implicittls ldap mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
REQUIRED_USE="implicittls? ( ssl )"
BDEPEND="sys-devel/autoconf-archive"
DEPEND="dev-libs/libsodium:=
virtual/libcrypt:=
caps? ( sys-libs/libcap )
ldap? ( >=net-nds/openldap-2.0.25:= )
mysql? ( || (
dev-db/mariadb-connector-c
dev-db/mysql-connector-c
) )
pam? ( sys-libs/pam )
postgres? ( dev-db/postgresql:= )
ssl? (
>=dev-libs/openssl-0.9.6g:0=[-bindist(-)]
)
sysquota? ( sys-fs/quota[-rpc] )
xinetd? ( virtual/inetd )"
RDEPEND="${DEPEND}
net-ftp/ftpbase
selinux? ( sec-policy/selinux-ftp )"
PATCHES=(
"${FILESDIR}/${PN}-1.0.28-pam.patch"
)
src_prepare() {
default
[[ "${PV}" == 9999 ]] && eautoreconf
}
src_configure() {
# adjust max user length to something more appropriate
# for virtual hosts. See bug #62472 for details.
sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" \
-i "${S}/src/ftpd.h" || die "sed failed"
# Those features are only configurable like this, see bug #179375.
use anondel && append-cppflags -DANON_CAN_DELETE
use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS
use anonren && append-cppflags -DANON_CAN_RENAME
use anonres && append-cppflags -DANON_CAN_RESUME
use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS
# Do not auto-use SSP -- let the user select this.
export ax_cv_check_cflags___fstack_protector_all=no
local myeconfargs=(
--enable-largefile
# Required for correct pid file location.
# pure-ftpd appends "/run/pure-ftpd.pid" to the localstatedir
# path, and tries to write to that file even when being
# started in foreground. So we need to pin this to /
--localstatedir="${EPREFIX}"/
--with-altlog
--with-cookie
--with-diraliases
--with-extauth
--with-ftpwho
--with-language=${PUREFTPD_LANG:=english}
--with-peruserlimits
--with-privsep
--with-puredb
--with-quotas
--with-ratios
--with-throttling
--with-uploadscript
--with-virtualhosts
$(use_with ldap)
$(use_with mysql)
$(use_with pam)
$(use_with paranoidmsg)
$(use_with postgres pgsql)
$(use_with ssl tls)
$(use_with implicittls)
$(use_with vchroot virtualchroot)
$(use_with sysquota sysquotas)
$(usex caps '' '--without-capabilities')
$(usex noiplog '--without-iplogging' '')
$(usex xinetd '' '--without-inetd')
)
econf "${myeconfargs[@]}"
}
src_install() {
local DOCS=( AUTHORS ChangeLog FAQ HISTORY README* NEWS )
default
newinitd "${FILESDIR}/pure-ftpd.rc11" ${PN}
newconfd "${FILESDIR}/pure-ftpd.conf_d-3" ${PN}
if use implicittls ; then
sed -i '/^SERVER/s@21@990@' "${ED}"/etc/conf.d/${PN} \
|| die "Adjusting default server port for implicittls usage failed!"
fi
keepdir /var/lib/run/${PN}
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}/pure-ftpd.xinetd" ${PN}
fi
if use ldap ; then
insinto /etc/openldap/schema
doins pureftpd.schema
insinto /etc/openldap
insopts -m 0600
doins pureftpd-ldap.conf
fi
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
elog
elog "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!"
elog
ewarn "It's *really* important to read the README provided with Pure-FTPd!"
ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info"
ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info."
ewarn
fi
}