summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2022-05-27 22:17:40 +0200
committerConrad Kostecki <conikost@gentoo.org>2022-05-28 00:33:38 +0200
commite991d2f044f54c1516cc4e1dec4f1863acd9cb4e (patch)
tree7be2617ef8623cddffd61c9c7da11bbccd679987 /net-ftp
parentapp-emacs/s: bump to EAPI 8 (diff)
downloadgentoo-e991d2f044f54c1516cc4e1dec4f1863acd9cb4e.tar.gz
gentoo-e991d2f044f54c1516cc4e1dec4f1863acd9cb4e.tar.bz2
gentoo-e991d2f044f54c1516cc4e1dec4f1863acd9cb4e.zip
net-ftp/pure-ftpd: drop 1.0.49-r6, 1.0.50-r1
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'net-ftp')
-rw-r--r--net-ftp/pure-ftpd/Manifest1
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-diraliases_uninitialized_pointer.patch31
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-do-not-call-ar-directly.patch23
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-pure_strcmp_OOB_read.patch27
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-quota_maxfile_size_check.patch25
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.conf_d-390
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.rc1175
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild160
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild150
9 files changed, 0 insertions, 582 deletions
diff --git a/net-ftp/pure-ftpd/Manifest b/net-ftp/pure-ftpd/Manifest
index 9399be6f1d46..95a31323d918 100644
--- a/net-ftp/pure-ftpd/Manifest
+++ b/net-ftp/pure-ftpd/Manifest
@@ -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
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-diraliases_uninitialized_pointer.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-diraliases_uninitialized_pointer.patch
deleted file mode 100644
index 7e29934caf5d..000000000000
--- a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-diraliases_uninitialized_pointer.patch
+++ /dev/null
@@ -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++;
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-do-not-call-ar-directly.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-do-not-call-ar-directly.patch
deleted file mode 100644
index 0df21320957d..000000000000
--- a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-do-not-call-ar-directly.patch
+++ /dev/null
@@ -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
-
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-pure_strcmp_OOB_read.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-pure_strcmp_OOB_read.patch
deleted file mode 100644
index 4ed197e46d35..000000000000
--- a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-pure_strcmp_OOB_read.patch
+++ /dev/null
@@ -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);
- }
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-quota_maxfile_size_check.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-quota_maxfile_size_check.patch
deleted file mode 100644
index 8b1877366c20..000000000000
--- a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.49-quota_maxfile_size_check.patch
+++ /dev/null
@@ -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;
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3 b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3
deleted file mode 100644
index 29b15a5a8928..000000000000
--- a/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3
+++ /dev/null
@@ -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=""
-
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.rc11 b/net-ftp/pure-ftpd/files/pure-ftpd.rc11
deleted file mode 100644
index 35270ff33507..000000000000
--- a/net-ftp/pure-ftpd/files/pure-ftpd.rc11
+++ /dev/null
@@ -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
-}
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild
deleted file mode 100644
index 784e79dcafc5..000000000000
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild
+++ /dev/null
@@ -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
-}
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild
deleted file mode 100644
index e78b1e52dc2e..000000000000
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild
+++ /dev/null
@@ -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
-}