public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-ftp/pure-ftpd/, net-ftp/pure-ftpd/files/
@ 2017-04-05 20:26 Lars Wendler
  0 siblings, 0 replies; 6+ messages in thread
From: Lars Wendler @ 2017-04-05 20:26 UTC (permalink / raw
  To: gentoo-commits

commit:     23fb07df54a4817b6f9ead5676754576b07ceff3
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  5 20:25:43 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Apr  5 20:26:33 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23fb07df

net-ftp/pure-ftpd: Added openssl-1.1 patch (bug #592500).

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 .../files/pure-ftpd-1.0.45-openssl-1.1.patch       | 41 ++++++++++++++++++++++
 net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild       |  1 +
 2 files changed, 42 insertions(+)

diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch
new file mode 100644
index 00000000000..714809f37af
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch
@@ -0,0 +1,41 @@
+From 54cc692f997c72eb530f38e62de38ed444eb152e Mon Sep 17 00:00:00 2001
+From: Frank Denis <github@pureftpd.org>
+Date: Wed, 5 Apr 2017 12:30:32 -0700
+Subject: [PATCH] Add strict support for the OpenSSL 1.1 API
+
+---
+ src/tls.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/tls.c b/src/tls.c
+index 3c87bbb..21c83b2 100644
+--- a/src/tls.c
++++ b/src/tls.c
+@@ -258,9 +258,17 @@ int tls_init_library(void)
+ 
+     tls_cnx_handshook = 0;
+     tls_data_cnx_handshook = 0;
++# if OPENSSL_VERSION_NUMBER < 0x10100000L
+     SSL_library_init();
+     SSL_load_error_strings();
+     OpenSSL_add_all_algorithms();
++# else
++    OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS |
++		     OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
++    OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS |
++			OPENSSL_INIT_ADD_ALL_DIGESTS |
++			OPENSSL_INIT_LOAD_CONFIG, NULL);
++# endif
+     while (RAND_status() == 0) {
+         rnd = zrand();
+         RAND_seed(&rnd, (int) sizeof rnd);
+@@ -347,7 +355,9 @@ void tls_free_library(void)
+         SSL_CTX_free(tls_ctx);
+         tls_ctx = NULL;
+     }
++# if OPENSSL_API_COMPAT < 0x10100000L
+     EVP_cleanup();
++# endif
+ }
+ 
+ int tls_init_new_session(void)

diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild
index 2cd88cdca1b..7dcc0d9aee3 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild
@@ -38,6 +38,7 @@ RDEPEND="${DEPEND}
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-1.0.28-pam.patch
+	"${FILESDIR}"/${P}-openssl-1.1.patch
 )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-ftp/pure-ftpd/, net-ftp/pure-ftpd/files/
@ 2018-12-07 15:29 Lars Wendler
  0 siblings, 0 replies; 6+ messages in thread
From: Lars Wendler @ 2018-12-07 15:29 UTC (permalink / raw
  To: gentoo-commits

commit:     0893de7095967cbdac7060b17a9024c8e7366c88
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  7 15:27:21 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Dec  7 15:29:21 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0893de70

net-ftp/pure-ftpd: Removed old.

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 net-ftp/pure-ftpd/Manifest                         |   1 -
 .../files/pure-ftpd-1.0.45-openssl-1.1.patch       |  41 ------
 net-ftp/pure-ftpd/pure-ftpd-1.0.45-r3.ebuild       | 142 ---------------------
 3 files changed, 184 deletions(-)

diff --git a/net-ftp/pure-ftpd/Manifest b/net-ftp/pure-ftpd/Manifest
index 469d95112c3..7be11d70d6b 100644
--- a/net-ftp/pure-ftpd/Manifest
+++ b/net-ftp/pure-ftpd/Manifest
@@ -1,2 +1 @@
-DIST pure-ftpd-1.0.45.tar.bz2 497695 BLAKE2B c905675253d992757e44baf1fae42d8363789ce3eb4d71d6f0e5c994a63efd307af69fb81aadb1875f0f2da952c0b3c8fbbc79c9c5c0b22c2d2f82029b417f11 SHA512 bb22b6b88778e2586411318905aa165e590185f7a87ac30761d6250f4de22a1deec6be5441926eae28011d3a5a923bad2ac366e237cc96a4d7932e3dbc9a1f2a
 DIST pure-ftpd-1.0.47.tar.bz2 489177 BLAKE2B 06e71ead47b87dedf47a84e488b2de127fcd297c2e9ca7a617c2ee2760cf55b816884763721826c512558d016cbd38a87a11ca0e8c2334d93145edc6f88d9287 SHA512 c1920a3f67f04635fde600fe226a7730b801e7e64658b25f1d9f9c0b35a704664be4adfb0b291594f7e0f10beade25eae9a5e6cc3b6777a3b413f3c2d9574e63

diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch
deleted file mode 100644
index 714809f37af..00000000000
--- a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 54cc692f997c72eb530f38e62de38ed444eb152e Mon Sep 17 00:00:00 2001
-From: Frank Denis <github@pureftpd.org>
-Date: Wed, 5 Apr 2017 12:30:32 -0700
-Subject: [PATCH] Add strict support for the OpenSSL 1.1 API
-
----
- src/tls.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/src/tls.c b/src/tls.c
-index 3c87bbb..21c83b2 100644
---- a/src/tls.c
-+++ b/src/tls.c
-@@ -258,9 +258,17 @@ int tls_init_library(void)
- 
-     tls_cnx_handshook = 0;
-     tls_data_cnx_handshook = 0;
-+# if OPENSSL_VERSION_NUMBER < 0x10100000L
-     SSL_library_init();
-     SSL_load_error_strings();
-     OpenSSL_add_all_algorithms();
-+# else
-+    OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS |
-+		     OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
-+    OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS |
-+			OPENSSL_INIT_ADD_ALL_DIGESTS |
-+			OPENSSL_INIT_LOAD_CONFIG, NULL);
-+# endif
-     while (RAND_status() == 0) {
-         rnd = zrand();
-         RAND_seed(&rnd, (int) sizeof rnd);
-@@ -347,7 +355,9 @@ void tls_free_library(void)
-         SSL_CTX_free(tls_ctx);
-         tls_ctx = NULL;
-     }
-+# if OPENSSL_API_COMPAT < 0x10100000L
-     EVP_cleanup();
-+# endif
- }
- 
- int tls_init_new_session(void)

diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r3.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r3.ebuild
deleted file mode 100644
index 045d7c6b7ed..00000000000
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r3.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ppc64 sparc x86"
-
-DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
-HOMEPAGE="http://www.pureftpd.org/"
-SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
-	http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-
-IUSE="anondel anonperm anonren anonres caps charconv implicittls ldap libressl mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
-
-REQUIRED_USE="implicittls? ( ssl )"
-
-DEPEND="caps? ( sys-libs/libcap )
-	charconv? ( virtual/libiconv )
-	ldap? ( >=net-nds/openldap-2.0.25 )
-	mysql? ( || (
-		dev-db/mariadb-connector-c
-		dev-db/mysql-connector-c
-	) )
-	pam? ( virtual/pam )
-	postgres? ( dev-db/postgresql:= )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-0.9.6g:0=[-bindist] )
-		libressl? ( dev-libs/libressl:= )
-	)
-	sysquota? ( sys-fs/quota[-rpc] )
-	xinetd? ( virtual/inetd )"
-
-RDEPEND="${DEPEND}
-	dev-libs/libsodium:=
-	net-ftp/ftpbase
-	selinux? ( sec-policy/selinux-ftp )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-1.0.28-pam.patch"
-	"${FILESDIR}/${P}-openssl-1.1.patch"
-	"${FILESDIR}/${PN}-1.0.47-MAX_DATA_SIZE.patch"
-)
-
-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
-		--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 charconv rfc2640)
-		$(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 CONTACT ChangeLog FAQ HISTORY INSTALL 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
-		if use charconv ; then
-			ewarn "Charset conversion is an *experimental* feature!"
-			ewarn "Remember to set a valid charset for your filesystem in the configuration!"
-		fi
-	fi
-}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-ftp/pure-ftpd/, net-ftp/pure-ftpd/files/
@ 2019-01-31 17:52 Thomas Deutschmann
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Deutschmann @ 2019-01-31 17:52 UTC (permalink / raw
  To: gentoo-commits

commit:     89b2b973f06a8be98a052a6e9ba17c5e1642874e
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 31 17:52:42 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Jan 31 17:52:42 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89b2b973

net-ftp/pure-ftpd: add TLS 1.3 support

Package-Manager: Portage-2.3.58, Repoman-2.3.12
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../pure-ftpd/files/pure-ftpd-1.0.47-TLSv1.3.patch | 46 ++++++++++++++++++++++
 ...1.0.47-r2.ebuild => pure-ftpd-1.0.47-r3.ebuild} |  3 +-
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.47-TLSv1.3.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.47-TLSv1.3.patch
new file mode 100644
index 00000000000..65f19bf49da
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.47-TLSv1.3.patch
@@ -0,0 +1,46 @@
+From 4a495c61ce22c893aed5ee57f6ce0b43c3be59ad Mon Sep 17 00:00:00 2001
+From: Frank Denis <github@pureftpd.org>
+Date: Wed, 19 Sep 2018 23:53:45 +0200
+Subject: [PATCH] TLS1.3 compatibility
+
+Fixes #94
+---
+ src/tls.c | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/src/tls.c b/src/tls.c
+index c693d3b..f383ed9 100644
+--- a/src/tls.c
++++ b/src/tls.c
+@@ -228,7 +228,16 @@ static void ssl_info_cb(const SSL *cnx, int where, int ret)
+     if ((where & SSL_CB_HANDSHAKE_START) != 0) {
+         if ((cnx == tls_cnx && tls_cnx_handshook != 0) ||
+             (cnx == tls_data_cnx && tls_data_cnx_handshook != 0)) {
+-            die(400, LOG_ERR, "TLS renegociation");
++            const SSL_CIPHER *cipher;
++            const char *cipher_version;
++            if ((cipher = SSL_get_current_cipher(cnx)) == NULL ||
++                (cipher_version = SSL_CIPHER_get_version(cipher)) == NULL) {
++                die(400, LOG_ERR, "No cipher");
++            }
++            if (strcmp(cipher_version, "TLSv1.3") != 0) {
++                die(400, LOG_ERR, "TLS renegociation");
++                return;
++            }
+         }
+         return;
+     }
+@@ -264,10 +273,10 @@ int tls_init_library(void)
+     OpenSSL_add_all_algorithms();
+ # else
+     OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS |
+-		     OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
++                     OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
+     OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS |
+-			OPENSSL_INIT_ADD_ALL_DIGESTS |
+-			OPENSSL_INIT_LOAD_CONFIG, NULL);
++                        OPENSSL_INIT_ADD_ALL_DIGESTS |
++                        OPENSSL_INIT_LOAD_CONFIG, NULL);
+ # endif
+     while (RAND_status() == 0) {
+         rnd = zrand();

diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r2.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r3.ebuild
similarity index 98%
rename from net-ftp/pure-ftpd/pure-ftpd-1.0.47-r2.ebuild
rename to net-ftp/pure-ftpd/pure-ftpd-1.0.47-r3.ebuild
index 864c1ad8237..58e90f89ddc 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r2.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -43,6 +43,7 @@ RDEPEND="${DEPEND}
 PATCHES=(
 	"${FILESDIR}/${PN}-1.0.28-pam.patch"
 	"${FILESDIR}/${PN}-1.0.47-MAX_DATA_SIZE.patch"
+	"${FILESDIR}/${PN}-1.0.47-TLSv1.3.patch"
 )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-ftp/pure-ftpd/, net-ftp/pure-ftpd/files/
@ 2019-02-23 16:22 Thomas Deutschmann
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Deutschmann @ 2019-02-23 16:22 UTC (permalink / raw
  To: gentoo-commits

commit:     a0929ecb1f22149df7aba7e00b5ea707ba7ca665
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 23 16:18:59 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Feb 23 16:22:10 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0929ecb

net-ftp/pure-ftpd: temporarily disable TLSv1.3 support

Bug: https://github.com/jedisct1/pure-ftpd/issues/102
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../files/pure-ftpd-1.0.47-disable-TLSv1.3.patch    | 21 +++++++++++++++++++++
 ...-1.0.47-r3.ebuild => pure-ftpd-1.0.47-r4.ebuild} |  1 +
 2 files changed, 22 insertions(+)

diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.47-disable-TLSv1.3.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.47-disable-TLSv1.3.patch
new file mode 100644
index 00000000000..cbe9c8bdcb8
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.47-disable-TLSv1.3.patch
@@ -0,0 +1,21 @@
+Temporarily disable TLSv1.3 support
+
+Disable TLSv1.3 until support for it is fixed in pure-ftpd. This is a
+workaround for the following issue:
+https://github.com/jedisct1/pure-ftpd/issues/102
+
+--- a/src/tls.c
++++ b/src/tls.c
+@@ -301,6 +301,10 @@ int tls_init_library(void)
+ # endif
+ # ifdef SSL_OP_NO_TLSv1_2
+     SSL_CTX_clear_options(tls_ctx, SSL_OP_NO_TLSv1_2);
++# endif
++    /* Disable TLSv1.3 support until it works properly in pure-ftpd */
++# ifdef SSL_OP_NO_TLSv1_3
++    SSL_CTX_set_options(tls_ctx, SSL_OP_NO_TLSv1_3);
+ # endif
+     if (tlsciphersuite != NULL) {
+         if (SSL_CTX_set_cipher_list(tls_ctx, tlsciphersuite) != 1) {
+-- 
+2.20.1

diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r3.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r4.ebuild
similarity index 98%
rename from net-ftp/pure-ftpd/pure-ftpd-1.0.47-r3.ebuild
rename to net-ftp/pure-ftpd/pure-ftpd-1.0.47-r4.ebuild
index 58e90f89ddc..48506572446 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r3.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.47-r4.ebuild
@@ -44,6 +44,7 @@ PATCHES=(
 	"${FILESDIR}/${PN}-1.0.28-pam.patch"
 	"${FILESDIR}/${PN}-1.0.47-MAX_DATA_SIZE.patch"
 	"${FILESDIR}/${PN}-1.0.47-TLSv1.3.patch"
+	"${FILESDIR}/${PN}-1.0.47-disable-TLSv1.3.patch"
 )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-ftp/pure-ftpd/, net-ftp/pure-ftpd/files/
@ 2022-04-16 13:45 Lars Wendler
  0 siblings, 0 replies; 6+ messages in thread
From: Lars Wendler @ 2022-04-16 13:45 UTC (permalink / raw
  To: gentoo-commits

commit:     3e3e91f811c2f74ee5ef2acf2ab9333b2c9927f6
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 27 01:31:32 2022 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sat Apr 16 13:45:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e3e91f8

net-ftp/pure-ftpd: migrate to stand-alone configuration

This bump changed at lot of things:
* Deprecating configuration via 'conf.d', since not all option are
  available via command line. User will be informed about this.
* Using '/etc/pure-ftpd.conf' as main configuration file, since more
  option are available here.
* Adding pure-certd init script and config script for using SNI via FTP
* Splitting Uploadscript into it's own init script
* Simplified init script by removing much old stuff, which it seems,
  that it's not needed any more today. At least in my tests.
* Adding SVCNAME support.
* Removed sed for MAX_USER_LENGTH, as it's already default
* Removed DOCS for default docs
* Removed keepdir, since it looks like it's not needed anymore
* Overhauled eBuild

Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/24592
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 net-ftp/pure-ftpd/files/pure-certd.initd           |  19 ++++
 net-ftp/pure-ftpd/files/pure-certd.script          |  27 ++++++
 net-ftp/pure-ftpd/files/pure-ftpd.confd-r4         |   5 +
 net-ftp/pure-ftpd/files/pure-ftpd.initd-r12        |  23 +++++
 net-ftp/pure-ftpd/files/pure-uploadscript.confd    |   8 ++
 net-ftp/pure-ftpd/files/pure-uploadscript.initd    |  30 ++++++
 ...ftpd-9999.ebuild => pure-ftpd-1.0.50-r2.ebuild} | 101 ++++++++++++---------
 net-ftp/pure-ftpd/pure-ftpd-9999.ebuild            | 101 ++++++++++++---------
 8 files changed, 224 insertions(+), 90 deletions(-)

diff --git a/net-ftp/pure-ftpd/files/pure-certd.initd b/net-ftp/pure-ftpd/files/pure-certd.initd
new file mode 100644
index 000000000000..1d254e5274a9
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-certd.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+certd_scriptfile="/etc/${SVCNAME}.sh"
+certd_socketfile="/run/${SVCNAME}.sock"
+pidfile="/run/pure-certd.pid"
+
+command="/usr/sbin/pure-certd"
+command_args="--pidfile ${pidfile} --run ${certd_scriptfile} --socket ${certd_socketfile}"
+command_background="true"
+
+start_pre() {
+	if [ ! -f "${certd_scriptfile}" ] ; then
+		eerror "The file ${certd_scriptfile} does not exist!"
+		eerror "Please create and configure the script."
+		return 1
+	fi
+}

diff --git a/net-ftp/pure-ftpd/files/pure-certd.script b/net-ftp/pure-ftpd/files/pure-certd.script
new file mode 100644
index 000000000000..77aa1bf9f702
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-certd.script
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Copyright 1999-2022 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Set default ssl directory
+SSL_DIR="/etc/ssl/pure-ftpd"
+
+# Check SNI and select certificate
+case "${CERTD_SNI_NAME}" in
+	domain1.tld)
+		FILE_CERT="${SSL_DIR}/domain1.tld.crt"
+		FILE_KEY="${SSL_DIR}/domain1.tld.key"
+	;;
+
+	domain2.tld)
+		FILE_CERT="${SSL_DIR}/domain2.tld.crt"
+		FILE_KEY="${SSL_DIR}/domain2.tld.key"
+	;;
+esac
+
+# Print selected certificate for 'pure-certd'.
+# You can modify 'action' for your needs.
+# See man page of 'pure-certd' for more information.
+echo "action:fallback"
+echo "cert_file:${FILE_CERT}"
+echo "key_file:${FILE_KEY}"
+echo "end"

diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.confd-r4 b/net-ftp/pure-ftpd/files/pure-ftpd.confd-r4
new file mode 100644
index 000000000000..d49b6c509c58
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd.confd-r4
@@ -0,0 +1,5 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Optionally depend on started Pure-Certd
+# RC_NEED="pure-certd"

diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.initd-r12 b/net-ftp/pure-ftpd/files/pure-ftpd.initd-r12
new file mode 100644
index 000000000000..c971125784b7
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd.initd-r12
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+ftpd_configfile="/etc/${SVCNAME}.conf"
+pidfile="/run/pure-ftpd.pid"
+
+command="/usr/sbin/pure-ftpd"
+command_args="${ftpd_configfile}"
+command_background="true"
+
+depend() {
+	need localmount
+	use netmount
+}
+
+start_pre() {
+	if [ ! -f "${ftpd_configfile}" ] ; then
+		eerror "The file ${ftpd_configfile} does not exist!"
+		eerror "Please create and configure the configuration file."
+		return 1
+	fi
+}

diff --git a/net-ftp/pure-ftpd/files/pure-uploadscript.confd b/net-ftp/pure-ftpd/files/pure-uploadscript.confd
new file mode 100644
index 000000000000..4b8fca0deb8f
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-uploadscript.confd
@@ -0,0 +1,8 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# If you want to process each file uploaded through Pure-FTPd, enter the name
+# of the script that should process the files below.
+# Use man pure-uploadscript to learn more about how to write this script.
+# UPLOADSCRIPT="/path/to/uploadscript"

diff --git a/net-ftp/pure-ftpd/files/pure-uploadscript.initd b/net-ftp/pure-ftpd/files/pure-uploadscript.initd
new file mode 100644
index 000000000000..f0c57742e749
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-uploadscript.initd
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+ftpd_configfile="/etc/${SVCNAME/uploadscript/ftpd}.conf"
+pidfile="/run/pure-uploadscript.pid"
+
+command="/usr/sbin/pure-uploadscript"
+command_args="${UPLOADSCRIPT}"
+command_background="true"
+
+depend() {
+	need localmount
+	use netmount
+}
+
+start_pre() {
+	if [ -n "${UPLOADSCRIPT}" ] ; then
+		eerror "The file ${ftpd_configfile} does not exist!"
+		eerror "Please create and configure the uploadscript file."
+		return 1
+	fi
+
+	if ! grep "^CallUploadScript" "${ftpd_configfile}" ; then
+		eerror "You cannot start this uploadscript,"
+		eerror "unless you enable the option CallUploadScript"
+		eerror "in your main Pure-FTPd configuration file ${ftpd_configfile}"
+		return 1
+	fi
+}

diff --git a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r2.ebuild
similarity index 59%
copy from net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
copy to net-ftp/pure-ftpd/pure-ftpd-1.0.50-r2.ebuild
index 4be40c54c4ef..3d32b367c5cd 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r2.ebuild
@@ -6,66 +6,63 @@ EAPI=8
 inherit flag-o-matic
 
 DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
-HOMEPAGE="http://www.pureftpd.org/"
+HOMEPAGE="https://www.pureftpd.org/project/pure-ftpd/"
 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"
+	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"
 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:=
+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
-	) )
+			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(-)]
-	)
+	ssl? ( dev-libs/openssl:0=[-bindist(-)]	)
 	sysquota? ( sys-fs/quota[-rpc] )
-	xinetd? ( virtual/inetd )"
+	xinetd? ( virtual/inetd )
+"
 
-RDEPEND="${DEPEND}
+RDEPEND="
+	${DEPEND}
 	net-ftp/ftpbase
-	selinux? ( sec-policy/selinux-ftp )"
+	selinux? ( sec-policy/selinux-ftp )
+"
 
-PATCHES=(
-	"${FILESDIR}/${PN}-1.0.28-pam.patch"
-)
+BDEPEND="sys-devel/autoconf-archive"
+
+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
+	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
@@ -73,7 +70,7 @@ src_configure() {
 	local myeconfargs=(
 		--enable-largefile
 		# Required for correct pid file location.
-		# pure-ftpd appends "/run/pure-ftpd.pid" to the localstatedir
+		# 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}"/
@@ -91,40 +88,41 @@ src_configure() {
 		--with-throttling
 		--with-uploadscript
 		--with-virtualhosts
+		$(use_with implicittls)
 		$(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)
+		$(use_with vchroot virtualchroot)
 		$(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}
+	newinitd "${FILESDIR}/pure-ftpd.initd-r12" pure-ftpd
+	newconfd "${FILESDIR}/pure-ftpd.confd-r4" pure-ftpd
+
+	newinitd "${FILESDIR}/pure-uploadscript.initd" pure-uploadscript
+	newconfd "${FILESDIR}/pure-uploadscript.confd" pure-uploadscript
 
 	if use implicittls ; then
-		sed -i '/^SERVER/s@21@990@' "${ED}"/etc/conf.d/${PN} \
-			|| die "Adjusting default server port for implicittls usage failed!"
+		sed -e '/^# Bind/s@21@990@' -i "${ED}"/etc/pure-ftpd.conf || die
 	fi
 
-	keepdir /var/lib/run/${PN}
+	if use ssl ; then
+		newinitd "${FILESDIR}/pure-certd.initd" pure-certd
 
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}/pure-ftpd.xinetd" ${PN}
+		exeinto /etc
+		newexe "${FILESDIR}/pure-certd.script" pure-certd.sh
 	fi
 
 	if use ldap ; then
@@ -134,17 +132,30 @@ src_install() {
 		insopts -m 0600
 		doins pureftpd-ldap.conf
 	fi
+
+	if use xinetd  ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}/pure-ftpd.xinetd" pure-ftpd
+	fi
 }
 
 pkg_postinst() {
-	if [[ -z "${REPLACING_VERSIONS}" ]]; then
+	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 "Before starting Pure-FTPd, you have to edit the /etc/pure-ftpd.conf 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
+	else
+		for v in ${REPLACING_VERSIONS} ; do
+			if ver_test "${v}" -le "1.0.50" ; then
+				einfo "Configuration through /etc/conf.d/pure-ftpd is now deprecated!"
+				einfo "Please migrate your settings to the new configuration file."
+				einfo "Use /etc/pure-ftpd.conf to adjust your settings."
+			fi
+		done
 	fi
 }

diff --git a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild b/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
index 4be40c54c4ef..3d32b367c5cd 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
@@ -6,66 +6,63 @@ EAPI=8
 inherit flag-o-matic
 
 DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
-HOMEPAGE="http://www.pureftpd.org/"
+HOMEPAGE="https://www.pureftpd.org/project/pure-ftpd/"
 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"
+	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"
 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:=
+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
-	) )
+			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(-)]
-	)
+	ssl? ( dev-libs/openssl:0=[-bindist(-)]	)
 	sysquota? ( sys-fs/quota[-rpc] )
-	xinetd? ( virtual/inetd )"
+	xinetd? ( virtual/inetd )
+"
 
-RDEPEND="${DEPEND}
+RDEPEND="
+	${DEPEND}
 	net-ftp/ftpbase
-	selinux? ( sec-policy/selinux-ftp )"
+	selinux? ( sec-policy/selinux-ftp )
+"
 
-PATCHES=(
-	"${FILESDIR}/${PN}-1.0.28-pam.patch"
-)
+BDEPEND="sys-devel/autoconf-archive"
+
+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
+	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
@@ -73,7 +70,7 @@ src_configure() {
 	local myeconfargs=(
 		--enable-largefile
 		# Required for correct pid file location.
-		# pure-ftpd appends "/run/pure-ftpd.pid" to the localstatedir
+		# 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}"/
@@ -91,40 +88,41 @@ src_configure() {
 		--with-throttling
 		--with-uploadscript
 		--with-virtualhosts
+		$(use_with implicittls)
 		$(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)
+		$(use_with vchroot virtualchroot)
 		$(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}
+	newinitd "${FILESDIR}/pure-ftpd.initd-r12" pure-ftpd
+	newconfd "${FILESDIR}/pure-ftpd.confd-r4" pure-ftpd
+
+	newinitd "${FILESDIR}/pure-uploadscript.initd" pure-uploadscript
+	newconfd "${FILESDIR}/pure-uploadscript.confd" pure-uploadscript
 
 	if use implicittls ; then
-		sed -i '/^SERVER/s@21@990@' "${ED}"/etc/conf.d/${PN} \
-			|| die "Adjusting default server port for implicittls usage failed!"
+		sed -e '/^# Bind/s@21@990@' -i "${ED}"/etc/pure-ftpd.conf || die
 	fi
 
-	keepdir /var/lib/run/${PN}
+	if use ssl ; then
+		newinitd "${FILESDIR}/pure-certd.initd" pure-certd
 
-	if use xinetd ; then
-		insinto /etc/xinetd.d
-		newins "${FILESDIR}/pure-ftpd.xinetd" ${PN}
+		exeinto /etc
+		newexe "${FILESDIR}/pure-certd.script" pure-certd.sh
 	fi
 
 	if use ldap ; then
@@ -134,17 +132,30 @@ src_install() {
 		insopts -m 0600
 		doins pureftpd-ldap.conf
 	fi
+
+	if use xinetd  ; then
+		insinto /etc/xinetd.d
+		newins "${FILESDIR}/pure-ftpd.xinetd" pure-ftpd
+	fi
 }
 
 pkg_postinst() {
-	if [[ -z "${REPLACING_VERSIONS}" ]]; then
+	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 "Before starting Pure-FTPd, you have to edit the /etc/pure-ftpd.conf 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
+	else
+		for v in ${REPLACING_VERSIONS} ; do
+			if ver_test "${v}" -le "1.0.50" ; then
+				einfo "Configuration through /etc/conf.d/pure-ftpd is now deprecated!"
+				einfo "Please migrate your settings to the new configuration file."
+				einfo "Use /etc/pure-ftpd.conf to adjust your settings."
+			fi
+		done
 	fi
 }


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-ftp/pure-ftpd/, net-ftp/pure-ftpd/files/
@ 2023-05-07 12:34 Conrad Kostecki
  0 siblings, 0 replies; 6+ messages in thread
From: Conrad Kostecki @ 2023-05-07 12:34 UTC (permalink / raw
  To: gentoo-commits

commit:     c3fe928536b125fae4f578bc23dc2c4ee3b49723
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sun May  7 12:23:18 2023 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sun May  7 12:34:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3fe9285

net-ftp/pure-ftpd: fix implicit function declarations

Closes: https://bugs.gentoo.org/900068
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 .../files/pure-ftpd-1.0.51-sys-sendfile.patch      | 37 ++++++++++++++++++++++
 ...1.0.51-r1.ebuild => pure-ftpd-1.0.51-r2.ebuild} |  5 ++-
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.51-sys-sendfile.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.51-sys-sendfile.patch
new file mode 100644
index 000000000000..bc2973c1389c
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.51-sys-sendfile.patch
@@ -0,0 +1,37 @@
+From 511315971f227ac2ce1481ff9e7350a607f78d23 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 23 Apr 2023 06:27:20 +0100
+Subject: [PATCH] configure.ac: Silence harmless
+ -Wimplicit-function-declaration warning in hpux sendfile check
+
+We're currently looking for build systems where -Wimplicit-function-declaration
+is emitted by checks as it often implies a missing include, but in this case,
+it's fine - HPUX doesn't have a sendfile header, so it's just noise (and it
+won't be true on Linux anyway).
+
+But the check is run unconditionally and we already check if sendfile.h exists,
+so include the header conditionally if it exists, as it's harmless and it avoids
+it looking like there's a problem in pure-ftpd.
+
+Unfortunately, it's not so easy to silence the sendfilev check which has
+a similar (but different) problem because it uses AC_CHECK_FUNCS.
+
+Bug: https://bugs.gentoo.org/900068
+---
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 62768c8..0abb423 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -718,6 +718,9 @@ AC_MSG_CHECKING([if a hpuxish sendfile is available])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/socket.h>
+ #include <stdio.h>
++#ifdef HAVE_SYS_SENDFILE_H
++# include <sys/sendfile.h>
++#endif
+ ]], [[
+ do {
+  int fd = 0;

diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild
similarity index 97%
rename from net-ftp/pure-ftpd/pure-ftpd-1.0.51-r1.ebuild
rename to net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild
index 223cdb2a5ea7..78000f7885e9 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r1.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.51-r2.ebuild
@@ -48,7 +48,10 @@ RDEPEND="
 
 BDEPEND="sys-devel/autoconf-archive"
 
-PATCHES=( "${FILESDIR}/${PN}-1.0.28-pam.patch" )
+PATCHES=(
+	"${FILESDIR}/${PN}-1.0.28-pam.patch"
+	"${FILESDIR}/${PN}-1.0.51-sys-sendfile.patch"
+)
 
 src_prepare() {
 	default


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-05-07 12:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-07 12:34 [gentoo-commits] repo/gentoo:master commit in: net-ftp/pure-ftpd/, net-ftp/pure-ftpd/files/ Conrad Kostecki
  -- strict thread matches above, loose matches on Subject: below --
2022-04-16 13:45 Lars Wendler
2019-02-23 16:22 Thomas Deutschmann
2019-01-31 17:52 Thomas Deutschmann
2018-12-07 15:29 Lars Wendler
2017-04-05 20:26 Lars Wendler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox