[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: 61e89992642acf9366fdb35efb95ac3132515293 Author: Sam James gentoo org> AuthorDate: Sat Dec 9 17:16:33 2023 + Commit: Sam James gentoo org> CommitDate: Sat Dec 9 18:06:01 2023 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61e89992 net-ftp/proftpd: fix modern C issue in configure Signed-off-by: Sam James gentoo.org> .../files/proftpd-1.3.8a-configure-c99.patch | 34 +++ net-ftp/proftpd/proftpd-1.3.8a-r1.ebuild | 304 + 2 files changed, 338 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.8a-configure-c99.patch b/net-ftp/proftpd/files/proftpd-1.3.8a-configure-c99.patch new file mode 100644 index ..9364b23f0daa --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.8a-configure-c99.patch @@ -0,0 +1,34 @@ +https://github.com/proftpd/proftpd/pull/1754 + +From 020192499202f268e6d96339597921aec01ec737 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 8 Dec 2023 19:58:51 +0100 +Subject: [PATCH] configure: Use char ** for the iconv input argument + +The standard iconv function uses char ** even for the input buffer. +Using the incompatible const char ** type causes the check to fail if +the compiler treats such type errors as errors, instead of merely +warning about it. +--- a/configure b/configure +@@ -21475,7 +21475,7 @@ main () + { + + size_t res, in_len = 0, out_len = 0; +-const char *in = NULL; ++char *in = NULL; + char *out = NULL; + res = iconv((iconv_t)-1, , _len, , _len); + +--- a/configure.in b/configure.in +@@ -2100,7 +2100,7 @@ AC_TRY_LINK( + ], + [ + size_t res, in_len = 0, out_len = 0; +-const char *in = NULL; ++char *in = NULL; + char *out = NULL; + res = iconv((iconv_t)-1, , _len, , _len); + ], + diff --git a/net-ftp/proftpd/proftpd-1.3.8a-r1.ebuild b/net-ftp/proftpd/proftpd-1.3.8a-r1.ebuild new file mode 100644 index ..8e3630ce042f --- /dev/null +++ b/net-ftp/proftpd/proftpd-1.3.8a-r1.ebuild @@ -0,0 +1,304 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib systemd tmpfiles toolchain-funcs + +MOD_CASE="0.7" +MOD_CLAMAV="0.14rc2" +MOD_DISKUSE="0.9" +MOD_GSS="1.3.9" +MOD_MSG="0.4.1" +MOD_VROOT="0.9.4" + +DESCRIPTION="An advanced and very configurable FTP server" +HOMEPAGE=" + http://www.proftpd.org/ + http://www.castaglia.org/proftpd/ + https://github.com/jbenden/mod_clamav + http://gssmod.sourceforge.net/ +" +SRC_URI=" + ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz + case? ( http://www.castaglia.org/${PN}/modules/${PN}-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? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-diskuse-${MOD_DISKUSE}.tar.gz ) + kerberos? ( mirror://sourceforge/gssmod/mod_gss-${MOD_GSS}.tar.gz ) + msg? ( http://www.castaglia.org/${PN}/modules/${PN}-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 ) +" +S="${WORKDIR}/${P/_/}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="acl authfile ban +caps case clamav copy ctrls deflate diskuse dso dynmasq exec ifsession ifversion ident ipv6 + 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 ) + sftp? ( ssl ) + shaper? ( ctrls ) + + mysql? ( ssl ) + postgres? ( ssl ) + sqlite? ( ssl ) +" + +COMMON_DEPEND=" + virtual/libcrypt:= + acl? ( virtual/acl ) + caps? ( sys-libs/libcap ) + clamav? ( app-antivirus/clamav ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap:= ) + memcache? ( >=dev-libs/libmemcached-0.41 ) + mysql? ( dev-db/mysql-connector-c:0= ) + nls? ( virtual/libiconv ) + ncurses? ( sys-libs/ncurses:0= ) + ssl? ( dev-libs/openssl:0= ) + pam? ( sys-libs/pam ) + pcre? ( dev-libs/libpcre ) + postgres? ( dev-db/postgresql:= ) + sodium? ( dev-libs/libsodium:0= ) + sqlite? ( dev-db/sqlite:3 ) +" +DEPEND=" + ${COMMON_DEPEND} + test? ( dev-libs/check ) +" +RDEPEND=" + ${COMMON_DEPEND} + net-ftp/ftpbase + selinux? ( sec-policy/selinux-ftp ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.6-use-trace.patch + "${FILESDIR}"/${PN}-1.3.8-configure-clang16.patch + "${FILESDIR}"/${PN}-1.3.8a-configure-c99.patch +) +
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: 278b1e2a39273b072681f15b75fa6e9ee17030ab Author: Sam James gentoo org> AuthorDate: Sun May 7 07:20:41 2023 + Commit: Sam James gentoo org> CommitDate: Sun May 7 07:21:05 2023 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=278b1e2a net-ftp/proftpd: fix configure w/ clang 16 Still seeing some suspicious ones so keeping it open for now. Bug: https://bugs.gentoo.org/881709 Bug: https://bugs.gentoo.org/900066 Signed-off-by: Sam James gentoo.org> .../files/proftpd-1.3.8-configure-clang16.patch| 255 +++ net-ftp/proftpd/proftpd-1.3.8-r1.ebuild| 275 + 2 files changed, 530 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.8-configure-clang16.patch b/net-ftp/proftpd/files/proftpd-1.3.8-configure-clang16.patch new file mode 100644 index ..c44fd72262d2 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.8-configure-clang16.patch @@ -0,0 +1,255 @@ +https://bugs.gentoo.org/881709 (and dupe https://bugs.gentoo.org/900066) +https://github.com/proftpd/proftpd/pull/1667 + +From 98e46de3093da71121362d5be4c445a3ef227010 Mon Sep 17 00:00:00 2001 +From: Arjun Shankar +Date: Fri, 5 May 2023 15:35:56 +0200 +Subject: [PATCH] configure: Remove several implicit function declarations + +During configure, some checks omit the corresponding include. A compiler +defaulting to C99 mode could cause those checks to fail since C99 does +not allow implicit function declarations. This commit fixes the same. +The configure script is re-generated. + +Signed-off-by: Arjun Shankar +--- a/configure b/configure +@@ -18305,6 +18305,20 @@ _ACEOF + fi + + ++for ac_header in stddef.h crypt.h netdb.h arpa/inet.h sys/socket.h ++do : ++ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ++ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" ++if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : ++ cat >>confdefs.h <<_ACEOF ++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for standalone crypt" >&5 + $as_echo_n "checking for standalone crypt... " >&6; } + if ${pr_cv_lib_standalone_crypt+:} false; then : +@@ -18313,10 +18327,19 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++ #if HAVE_STDDEF_H ++ # include ++ #endif ++ #if HAVE_CRYPT_H ++ # include ++ #endif ++ + int + main () + { +-crypt(); ++ ++ crypt(NULL, NULL); ++ + ; + return 0; + } +@@ -18388,10 +18411,19 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++ #if HAVE_STDDEF_H ++ # include ++ #endif ++ #if HAVE_NETDB_H ++ # include ++ #endif ++ + int + main () + { +-gethostbyname(); ++ ++ gethostbyname(NULL); ++ + ; + return 0; + } +@@ -18508,10 +18540,19 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++ #if HAVE_STDDEF_H ++ # include ++ #endif ++ #if HAVE_ARPA_INET_H ++ # include ++ #endif ++ + int + main () + { +-inet_aton(); ++ ++ inet_aton(NULL, NULL); ++ + ; + return 0; + } +@@ -18584,10 +18625,16 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++ #if HAVE_NETDB_H ++ # include ++ #endif ++ + int + main () + { +-gethostent(); ++ ++ gethostent(); ++ + ; + return 0; + } +@@ -18659,10 +18706,19 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++ #if HAVE_STDDEF_H ++ # include ++ #endif ++ #if HAVE_SYS_SOCKET_H ++ # include ++ #endif ++ + int + main () + { +-bind(); ++ ++ bind(0, NULL, 0); ++ + ; + return 0; + } +--- a/configure.in b/configure.in +@@ -1476,18 +1476,42 @@ AC_ARG_ENABLE(transfer-buffer-size, + ]) + + dnl Checks for libraries. Yes, this is the hard way, but it's necessary. ++AC_CHECK_HEADERS(stddef.h crypt.h netdb.h arpa/inet.h sys/socket.h) ++ + AC_CACHE_CHECK(for standalone crypt,pr_cv_lib_standalone_crypt, +- AC_TRY_LINK(,[crypt();], +- pr_cv_lib_standalone_crypt="yes", pr_cv_lib_standalone_crypt="no" )) ++ AC_TRY_LINK( ++[ ++ #if HAVE_STDDEF_H ++ # include ++ #endif ++ #if HAVE_CRYPT_H ++ # include ++ #endif ++], ++[ ++ crypt(NULL, NULL); ++], ++pr_cv_lib_standalone_crypt="yes", pr_cv_lib_standalone_crypt="no" )) + + if test "$pr_cv_lib_standalone_crypt" = "no"; then + AC_CHECK_LIB(crypt, crypt) + fi + + AC_CACHE_CHECK(for standalone gethostbyname,pr_cv_lib_standalone_gethost, +- AC_TRY_LINK(,[gethostbyname();], +- pr_cv_lib_standalone_gethost="yes", +- pr_cv_lib_standalone_gethost="no" )) ++ AC_TRY_LINK( ++[ ++ #if HAVE_STDDEF_H ++ # include ++ #endif ++ #if HAVE_NETDB_H ++ # include ++ #endif ++], ++[ ++
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/
commit: 43d6457f839fb1b1a3ef83c2c4214c3b9414613b Author: Michael Mair-Keimberger levelnine at> AuthorDate: Mon Nov 21 18:17:44 2022 + Commit: Sam James gentoo org> CommitDate: Wed Nov 23 01:42:26 2022 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43d6457f net-ftp/proftpd: remove unused patches Signed-off-by: Michael Mair-Keimberger levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/28369 Signed-off-by: Sam James gentoo.org> .../proftpd/files/proftpd-1.3.7a-no-ncurses.patch | 269 - .../proftpd/files/proftpd-1.3.7a-slibtool.patch| 34 --- .../proftpd/files/proftpd-1.3.7a-tinfow-segv.patch | 197 --- 3 files changed, 500 deletions(-) diff --git a/net-ftp/proftpd/files/proftpd-1.3.7a-no-ncurses.patch b/net-ftp/proftpd/files/proftpd-1.3.7a-no-ncurses.patch deleted file mode 100644 index be18a9954590.. --- a/net-ftp/proftpd/files/proftpd-1.3.7a-no-ncurses.patch +++ /dev/null @@ -1,269 +0,0 @@ -https://github.com/proftpd/proftpd/commit/8fc570bc13e771d3ecafe53ab94ada0be2b6646a -https://bugs.gentoo.org/777531 - -From 8fc570bc13e771d3ecafe53ab94ada0be2b6646a Mon Sep 17 00:00:00 2001 -From: TJ Saunders -Date: Tue, 23 Mar 2021 19:50:49 -0700 -Subject: [PATCH] Issue #1207: Properly honor the `--disable-curses`, - `--disable-ncurses` configure options. - - configure| 156 +++ - configure.in | 39 + - 2 files changed, 172 insertions(+), 23 deletions(-) - -diff --git a/configure b/configure -index 86cf1360e..59df363fa 100755 a/configure -+++ b/configure -@@ -22970,7 +22970,7 @@ $as_echo "#define SETGRENT_VOID 1" >>confdefs.h - fi - - --if test x"$ac_cv_header_curses_h" = xyes; then -+if test x"$enable_curses" != xno ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lcurses" >&5 - $as_echo_n "checking for initscr in -lcurses... " >&6; } - if ${ac_cv_lib_curses_initscr+:} false; then : -@@ -23013,12 +23013,154 @@ if test "x$ac_cv_lib_curses_initscr" = xyes; then : - $as_echo "#define HAVE_LIBCURSES 1" >>confdefs.h - - -+$as_echo "#define PR_USE_CURSES 1" >>confdefs.h -+ -+ - fi - -+ -+ if test x"$enable_nls" = xyes ; then -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfow" >&5 -+$as_echo_n "checking for halfdelay in -ltinfow... " >&6; } -+if ${ac_cv_lib_tinfow_halfdelay+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-ltinfow $LIBS" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char halfdelay (); -+int -+main () -+{ -+return halfdelay (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_lib_tinfow_halfdelay=yes -+else -+ ac_cv_lib_tinfow_halfdelay=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS - fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfow_halfdelay" >&5 -+$as_echo "$ac_cv_lib_tinfow_halfdelay" >&6; } -+if test "x$ac_cv_lib_tinfow_halfdelay" = xyes; then : -+ UTILS_LIBS="$UTILS_LIBS -ltinfow" -+ -+$as_echo "#define HAVE_LIBTINFOW 1" >>confdefs.h -+ -+ -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfo" >&5 -+$as_echo_n "checking for halfdelay in -ltinfo... " >&6; } -+if ${ac_cv_lib_tinfo_halfdelay+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-ltinfo $LIBS" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char halfdelay (); -+int -+main () -+{ -+return halfdelay (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_lib_tinfo_halfdelay=yes -+else -+ ac_cv_lib_tinfo_halfdelay=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_halfdelay" >&5 -+$as_echo "$ac_cv_lib_tinfo_halfdelay" >&6; } -+if test "x$ac_cv_lib_tinfo_halfdelay" = xyes; then : -+ UTILS_LIBS="$UTILS_LIBS -ltinfo" -+ -+$as_echo "#define HAVE_LIBTINFO 1" >>confdefs.h -+ -+ -+fi -+ -+ -+fi -+ -+ else -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfo" >&5 -+$as_echo_n "checking for halfdelay in -ltinfo... " >&6; } -+if ${ac_cv_lib_tinfo_halfdelay+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: 8af307971f9af69a21d9a423650a5db5b9857ed2 Author: Sergei Trofimovich gentoo org> AuthorDate: Wed Apr 28 21:25:45 2021 + Commit: Sergei Trofimovich gentoo org> CommitDate: Wed Apr 28 21:25:55 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8af30797 net-ftp/proftpd: backport upstream slibtool workaround Reported-by: Toralf Förster Closes: https://bugs.gentoo.org/778332 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Sergei Trofimovich gentoo.org> .../proftpd/files/proftpd-1.3.7a-slibtool.patch| 34 ++ net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild | 1 + 2 files changed, 35 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.7a-slibtool.patch b/net-ftp/proftpd/files/proftpd-1.3.7a-slibtool.patch new file mode 100644 index 000..35676777da0 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.7a-slibtool.patch @@ -0,0 +1,34 @@ +https://bugs.gentoo.org/778332 +https://github.com/proftpd/proftpd/commit/4ffe04158840130e023ed3d3e558b8d70e28e20e + +From 2a15ce409f70c67ba9b1e09de67c3fca0b38eff8 Mon Sep 17 00:00:00 2001 +From: orbea +Date: Sun, 21 Mar 2021 12:38:52 -0700 +Subject: [PATCH] build: Fix linking the static libsupp.a library. + +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/configure.in b/configure.in +@@ -88,7 +88,7 @@ if test $ac_cv_prog_gcc = no -a "$OSTYPE" = "-DHPUX10"; then + CFLAGS="$CFLAGS -Ae" + fi + +-LDFLAGS="-L\$(top_srcdir)/lib -L\$(top_builddir)/lib $LDFLAGS" ++LDFLAGS="-Wl,-L\$(top_srcdir)/lib,-L\$(top_builddir)/lib $LDFLAGS" + + # AIX has issues with the -rdynamic linker flag. How many different AIX + # versions should we support here? +--- a/configure b/configure +@@ -14932,7 +14944,7 @@ if test $ac_cv_c_compiler_gnu = no -a "$OSTYPE" = "-DHPUX10"; then + CFLAGS="$CFLAGS -Ae" + fi + +-LDFLAGS="-L\$(top_srcdir)/lib -L\$(top_builddir)/lib $LDFLAGS" ++LDFLAGS="-Wl,-L\$(top_srcdir)/lib,-L\$(top_builddir)/lib $LDFLAGS" + + # AIX has issues with the -rdynamic linker flag. How many different AIX + # versions should we support here? diff --git a/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild b/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild index 249498784d2..7bef13f65e4 100644 --- a/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild +++ b/net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild @@ -72,6 +72,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.3.6-use-trace.patch "${FILESDIR}"/${P}-tinfow-segv.patch "${FILESDIR}"/${P}-no-ncurses.patch + "${FILESDIR}"/${P}-slibtool.patch ) RESTRICT=test # Some tests are ran in chroot. Confuse sandbox.
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: 610d1127a422e8efb8869e9bcb83982ce04d3a2d Author: Sergei Trofimovich gentoo org> AuthorDate: Sun Mar 21 09:41:34 2021 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sun Mar 21 09:45:14 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=610d1127 net-ftp/proftpd: fix tinfo/tinfow mix crash Picked upstream commit as is. Reported-by: Sam James Closes: https://bugs.gentoo.org/777432 Package-Manager: Portage-3.0.17, Repoman-3.0.2 Signed-off-by: Sergei Trofimovich gentoo.org> .../proftpd/files/proftpd-1.3.7a-tinfow-segv.patch | 197 +++ net-ftp/proftpd/proftpd-1.3.7a-r1.ebuild | 276 + 2 files changed, 473 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.7a-tinfow-segv.patch b/net-ftp/proftpd/files/proftpd-1.3.7a-tinfow-segv.patch new file mode 100644 index 000..b904c5dbe5a --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.7a-tinfow-segv.patch @@ -0,0 +1,197 @@ +https://github.com/proftpd/proftpd/commit/ff413723328da726d1042c7d2067d088765eca57 +https://bugs.gentoo.org/777432 + +From ff413723328da726d1042c7d2067d088765eca57 Mon Sep 17 00:00:00 2001 +From: TJ Saunders +Date: Sun, 14 Mar 2021 10:08:02 -0700 +Subject: [PATCH] Issue #1174: Check for the libtinfow library when ncursesw is + being used. + +On some systems, such as Gentoo, linking against libtinfo with libncursesw, +rather than libtinfow, leads to segfaults. +--- + config.h.in | 3 ++ + configure| 98 +--- + configure.in | 24 + + 3 files changed, 114 insertions(+), 11 deletions(-) + +diff --git a/config.h.in b/config.h.in +index 1ba33caf9..775b7a294 100644 +--- a/config.h.in b/config.h.in +@@ -966,6 +966,9 @@ + /* Define if you have the libtinfo library (-ltinfo). */ + #undef HAVE_LIBTINFO + ++/* Define if you have the libtinfow library (-ltinfow). */ ++#undef HAVE_LIBTINFOW ++ + /* Define if you have the addrinfo struct. */ + #undef HAVE_STRUCT_ADDRINFO + +diff --git a/configure b/configure +index 64080483f..86cf1360e 100755 +--- a/configure b/configure +@@ -23169,18 +23169,106 @@ $as_echo "#define PR_USE_CURSES 1" >>confdefs.h + fi + + if test x"$enable_ncurses" != xno ; then ++ + if test x"$pr_have_ncursesw" = xyes ; then + + $as_echo "#define PR_USE_NCURSESW 1" >>confdefs.h + +- else ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfow" >&5 ++$as_echo_n "checking for halfdelay in -ltinfow... " >&6; } ++if ${ac_cv_lib_tinfow_halfdelay+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ltinfow $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ + +-$as_echo "#define PR_USE_NCURSES 1" >>confdefs.h ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char halfdelay (); ++int ++main () ++{ ++return halfdelay (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_tinfow_halfdelay=yes ++else ++ ac_cv_lib_tinfow_halfdelay=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfow_halfdelay" >&5 ++$as_echo "$ac_cv_lib_tinfow_halfdelay" >&6; } ++if test "x$ac_cv_lib_tinfow_halfdelay" = xyes; then : ++ UTILS_LIBS="$UTILS_LIBS -ltinfow" + +- fi ++$as_echo "#define HAVE_LIBTINFOW 1" >>confdefs.h ++ ++ ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfo" >&5 ++$as_echo_n "checking for halfdelay in -ltinfo... " >&6; } ++if ${ac_cv_lib_tinfo_halfdelay+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ltinfo $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char halfdelay (); ++int ++main () ++{ ++return halfdelay (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_tinfo_halfdelay=yes ++else ++ ac_cv_lib_tinfo_halfdelay=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS + fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_halfdelay" >&5 ++$as_echo "$ac_cv_lib_tinfo_halfdelay" >&6; } ++if test "x$ac_cv_lib_tinfo_halfdelay" = xyes; then : ++ UTILS_LIBS="$UTILS_LIBS -ltinfo" ++ ++$as_echo "#define HAVE_LIBTINFO 1" >>confdefs.h + +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for halfdelay in -ltinfo"
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/
commit: 9fc8c26fc287389eebef240d4c3418ea67821dc8 Author: Michael Mair-Keimberger gmail com> AuthorDate: Wed Sep 16 17:19:48 2020 + Commit: Sergei Trofimovich gentoo org> CommitDate: Thu Sep 17 06:58:46 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fc8c26f net-ftp/proftpd: remove unused patches Package-Manager: Portage-3.0.6, Repoman-3.0.1 Signed-off-by: Michael Mair-Keimberger gmail.com> Closes: https://github.com/gentoo/gentoo/pull/17568 Signed-off-by: Sergei Trofimovich gentoo.org> .../files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch| 38 --- .../files/proftpd-1.3.7_rc4-str-sentinel.patch | 43 -- 2 files changed, 81 deletions(-) diff --git a/net-ftp/proftpd/files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch b/net-ftp/proftpd/files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch deleted file mode 100644 index 2f50a28b87f..000 --- a/net-ftp/proftpd/files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://github.com/proftpd/proftpd/issues/1027 -https://bugs.gentoo.org/726460 - -From 6ac1c727ddfd70080b38097e5484390ec84ef9be Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sun, 31 May 2020 17:55:08 +0100 -Subject: [PATCH 1/2] contrib/mod_ldap.c: fix SIGSEGV in mod_ldap:ldap_mod_init - () - -The crash happens due to missing sentinel value in `pstrcat()` - -```c - feats = pstrcat(tmp_pool, feats, i != 0 ? ", " : "", - api_info.ldapai_extensions[i]); -``` - -The change is to add sentinel to `pstrcat()` call. - -Bug: https://github.com/proftpd/proftpd/issues/1027 -Signed-off-by: Sergei Trofimovich - contrib/mod_ldap.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - a/contrib/mod_ldap.c -+++ b/contrib/mod_ldap.c -@@ -3218,7 +3218,7 @@ static int ldap_mod_init(void) { - - for (i = 0; api_info.ldapai_extensions[i]; i++) { - feats = pstrcat(tmp_pool, feats, i != 0 ? ", " : "", --api_info.ldapai_extensions[i]); -+api_info.ldapai_extensions[i], NULL); - ldap_memfree(api_info.ldapai_extensions[i]); - } - --- -2.26.2 - diff --git a/net-ftp/proftpd/files/proftpd-1.3.7_rc4-str-sentinel.patch b/net-ftp/proftpd/files/proftpd-1.3.7_rc4-str-sentinel.patch deleted file mode 100644 index cf1e4e91d41..000 --- a/net-ftp/proftpd/files/proftpd-1.3.7_rc4-str-sentinel.patch +++ /dev/null @@ -1,43 +0,0 @@ -https://github.com/proftpd/proftpd/issues/1027 -https://bugs.gentoo.org/726460 - -From c5f98b6e047e0e5ca841372d78d06c05fe8770c6 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sun, 31 May 2020 18:03:29 +0100 -Subject: [PATCH 2/2] include/str.h: add __attribute__((sentinel)) to variadic - concats - -`pstrcat()` needs to always have literal trailing `NULL`. - -Bug: https://github.com/proftpd/proftpd/issues/1027 -Signed-off-by: Sergei Trofimovich - include/str.h | 14 -- - 1 file changed, 12 insertions(+), 2 deletions(-) - a/include/str.h -+++ b/include/str.h -@@ -39,8 +39,18 @@ const char *quote_dir(pool *p, char *dir); - char *sstrcat(char *, const char *, size_t); - const char *sreplace(pool *, const char *, ...); - --char *pdircat(pool *, ...); --char *pstrcat(pool *, ...); -+char *pdircat(pool *, ...) -+#ifdef __GNUC__ -+ __attribute__ ((sentinel)); -+#else -+ ; -+#endif -+char *pstrcat(pool *, ...) -+#ifdef __GNUC__ -+ __attribute__ ((sentinel)); -+#else -+ ; -+#endif - char *pstrdup(pool *, const char *); - char *pstrndup(pool *, const char *, size_t); - --- -2.26.2 -
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/
commit: 34117b5bad608bd2630011008d281b9a5f4ae3f9 Author: Michael Mair-Keimberger gmail com> AuthorDate: Mon Jul 27 12:07:17 2020 + Commit: Sergei Trofimovich gentoo org> CommitDate: Mon Jul 27 18:17:50 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34117b5b net-ftp/proftpd: remove unused patch Package-Manager: Portage-3.0.0, Repoman-2.3.23 Signed-off-by: Michael Mair-Keimberger gmail.com> Closes: https://github.com/gentoo/gentoo/pull/16854 Signed-off-by: Sergei Trofimovich gentoo.org> net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch | 21 - 1 file changed, 21 deletions(-) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch b/net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch deleted file mode 100644 index c3ee704c085..000 --- a/net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch +++ /dev/null @@ -1,21 +0,0 @@ a/contrib/mod_quotatab.c -+++ b/contrib/mod_quotatab.c -@@ -50,6 +50,7 @@ typedef struct regtab_obj { - module quotatab_module; - - /* Quota objects for the current session */ -+quota_deltas_t quotatab_deltas; - static quota_table_t *limit_tab = NULL; - static quota_limit_t sess_limit; - a/contrib/mod_quotatab.h -+++ b/contrib/mod_quotatab.h -@@ -188,7 +188,7 @@ typedef struct table_obj { - #define QUOTATAB_TALLY_SRC 0x0002 - - /* Quota objects for the current session. */ --quota_deltas_t quotatab_deltas; -+extern quota_deltas_t quotatab_deltas; - - /* Function prototypes necessary for quotatab sub-modules */ - int quotatab_log(const char *, ...)
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/
commit: fd862667ade70bddaf4dff9cd313a990f47d4bba Author: Michael Mair-Keimberger gmail com> AuthorDate: Wed Jun 17 14:16:49 2020 + Commit: Aaron Bauman gentoo org> CommitDate: Wed Jun 17 17:49:44 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd862667 net-ftp/proftpd: remove unused patch Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Michael Mair-Keimberger gmail.com> Closes: https://github.com/gentoo/gentoo/pull/16296 Signed-off-by: Aaron Bauman gentoo.org> .../files/proftpd-1.3.6a-fix-libcheck.patch| 28 -- 1 file changed, 28 deletions(-) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6a-fix-libcheck.patch b/net-ftp/proftpd/files/proftpd-1.3.6a-fix-libcheck.patch deleted file mode 100644 index 93752c43e92..000 --- a/net-ftp/proftpd/files/proftpd-1.3.6a-fix-libcheck.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix test suite detection. - -https://github.com/proftpd/proftpd/pull/839 - -Reported-by: Toralf Förster -Bug: https://bugs.gentoo.org/697782 a/configure.in -+++ b/configure.in -@@ -991,7 +991,7 @@ AC_ARG_ENABLE(tests, - [enable unit tests (default=no)]) - ], - [ --if test "$enableval" != xno ; then -+if test x"$enableval" != xno ; then - AC_CHECK_HEADERS(check.h) - - AC_CHECK_LIB(check, tcase_create, a/configure -+++ b/configure -@@ -20639,7 +20639,7 @@ ENABLE_TESTS="\"\"" - # Check whether --enable-tests was given. - if test "${enable_tests+set}" = set; then - enableval=$enable_tests; --if test "$enableval" != xno ; then -+if test x"$enableval" != xno ; then - - for ac_header in check.h - do
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: f676fd7463f36c8a9860677295731fc2f3e93460 Author: Sergei Trofimovich gentoo org> AuthorDate: Sun May 31 17:15:07 2020 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sun May 31 17:17:40 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f676fd74 net-ftp/proftpd: fix mod_ldap SIGSEGV Closes: https://bugs.gentoo.org/726460 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich gentoo.org> .../files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch| 38 +++ .../files/proftpd-1.3.7_rc4-str-sentinel.patch | 43 net-ftp/proftpd/proftpd-1.3.7_rc4-r1.ebuild| 277 + 3 files changed, 358 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch b/net-ftp/proftpd/files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch new file mode 100644 index 000..2f50a28b87f --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.7_rc4-ldap_mod-SEGV.patch @@ -0,0 +1,38 @@ +https://github.com/proftpd/proftpd/issues/1027 +https://bugs.gentoo.org/726460 + +From 6ac1c727ddfd70080b38097e5484390ec84ef9be Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sun, 31 May 2020 17:55:08 +0100 +Subject: [PATCH 1/2] contrib/mod_ldap.c: fix SIGSEGV in mod_ldap:ldap_mod_init + () + +The crash happens due to missing sentinel value in `pstrcat()` + +```c + feats = pstrcat(tmp_pool, feats, i != 0 ? ", " : "", + api_info.ldapai_extensions[i]); +``` + +The change is to add sentinel to `pstrcat()` call. + +Bug: https://github.com/proftpd/proftpd/issues/1027 +Signed-off-by: Sergei Trofimovich +--- + contrib/mod_ldap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/contrib/mod_ldap.c b/contrib/mod_ldap.c +@@ -3218,7 +3218,7 @@ static int ldap_mod_init(void) { + + for (i = 0; api_info.ldapai_extensions[i]; i++) { + feats = pstrcat(tmp_pool, feats, i != 0 ? ", " : "", +-api_info.ldapai_extensions[i]); ++api_info.ldapai_extensions[i], NULL); + ldap_memfree(api_info.ldapai_extensions[i]); + } + +-- +2.26.2 + diff --git a/net-ftp/proftpd/files/proftpd-1.3.7_rc4-str-sentinel.patch b/net-ftp/proftpd/files/proftpd-1.3.7_rc4-str-sentinel.patch new file mode 100644 index 000..cf1e4e91d41 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.7_rc4-str-sentinel.patch @@ -0,0 +1,43 @@ +https://github.com/proftpd/proftpd/issues/1027 +https://bugs.gentoo.org/726460 + +From c5f98b6e047e0e5ca841372d78d06c05fe8770c6 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sun, 31 May 2020 18:03:29 +0100 +Subject: [PATCH 2/2] include/str.h: add __attribute__((sentinel)) to variadic + concats + +`pstrcat()` needs to always have literal trailing `NULL`. + +Bug: https://github.com/proftpd/proftpd/issues/1027 +Signed-off-by: Sergei Trofimovich +--- + include/str.h | 14 -- + 1 file changed, 12 insertions(+), 2 deletions(-) + +--- a/include/str.h b/include/str.h +@@ -39,8 +39,18 @@ const char *quote_dir(pool *p, char *dir); + char *sstrcat(char *, const char *, size_t); + const char *sreplace(pool *, const char *, ...); + +-char *pdircat(pool *, ...); +-char *pstrcat(pool *, ...); ++char *pdircat(pool *, ...) ++#ifdef __GNUC__ ++ __attribute__ ((sentinel)); ++#else ++ ; ++#endif ++char *pstrcat(pool *, ...) ++#ifdef __GNUC__ ++ __attribute__ ((sentinel)); ++#else ++ ; ++#endif + char *pstrdup(pool *, const char *); + char *pstrndup(pool *, const char *, size_t); + +-- +2.26.2 + diff --git a/net-ftp/proftpd/proftpd-1.3.7_rc4-r1.ebuild b/net-ftp/proftpd/proftpd-1.3.7_rc4-r1.ebuild new file mode 100644 index 000..9f1b1ca53ed --- /dev/null +++ b/net-ftp/proftpd/proftpd-1.3.7_rc4-r1.ebuild @@ -0,0 +1,277 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit multilib systemd tmpfiles toolchain-funcs + +MOD_CASE="0.7" +MOD_CLAMAV="0.14rc2" +MOD_DISKUSE="0.9" +MOD_GSS="1.3.9" +MOD_MSG="0.4.1" +MOD_VROOT="0.9.4" + +DESCRIPTION="An advanced and very configurable FTP server" +HOMEPAGE="http://www.proftpd.org/ + http://www.castaglia.org/proftpd/ + https://github.com/jbenden/mod_clamav + http://gssmod.sourceforge.net/; +SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz + case? ( http://www.castaglia.org/${PN}/modules/${PN}-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? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-diskuse-${MOD_DISKUSE}.tar.gz ) + kerberos? ( mirror://sourceforge/gssmod/mod_gss-${MOD_GSS}.tar.gz ) + msg? ( http://www.castaglia.org/${PN}/modules/${PN}-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 )"
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/
commit: fb7a94f47941261c9b69aca5759478060cf704b8 Author: Michael Mair-Keimberger gmail com> AuthorDate: Sat Apr 18 16:56:52 2020 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sat Apr 18 21:31:51 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb7a94f4 net-ftp/proftpd: remove unused patches Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Michael Mair-Keimberger gmail.com> Signed-off-by: Sergei Trofimovich gentoo.org> .../files/proftpd-1.3.6-EINTR-like-EAGAIN.patch| 54 net-ftp/proftpd/files/proftpd-1.3.6-mod_copy.patch | 96 -- net-ftp/proftpd/files/proftpd-1.3.6-mysql-8.patch | 24 -- .../proftpd/files/proftpd-1.3.6-sighup-crash.patch | 81 -- .../files/proftpd-1.3.6b-tls-crl-crash.patch | 40 - 5 files changed, 295 deletions(-) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6-EINTR-like-EAGAIN.patch b/net-ftp/proftpd/files/proftpd-1.3.6-EINTR-like-EAGAIN.patch deleted file mode 100644 index 43608d96492..000 --- a/net-ftp/proftpd/files/proftpd-1.3.6-EINTR-like-EAGAIN.patch +++ /dev/null @@ -1,54 +0,0 @@ -https://bugs.gentoo.org/695972 -https://github.com/proftpd/proftpd/commit/f09f0c661621eb22cb1ce579194478007ba62866 - -From f09f0c661621eb22cb1ce579194478007ba62866 Mon Sep 17 00:00:00 2001 -From: Justin Maggard -Date: Tue, 10 Oct 2017 18:20:06 -0700 -Subject: [PATCH] Bug #4319: Treat EINTR like EAGAIN - -This bug described a situation where an ongoing transfer would be -prematurely aborted when one of our timers fired. The timer could have -fired for an unrelated reason, but if we were in the process of reading -or writing with pr_netio_read() or pr_netio_write(), those calls would -be interrupted with errno set to EINTR, and an error would be returned. -Then pr_data_xfer() would abort the transfer. - -EAGAIN was already being handled properly, and we can just use the same -treatment for EINTR so that we only respond to the timers we should -actually care about. - src/data.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - a/src/data.c -+++ b/src/data.c -@@ -1143,7 +1143,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) { - while (len < 0) { - int xerrno = errno; - -- if (xerrno == EAGAIN) { -+ if (xerrno == EAGAIN || xerrno == EINTR) { - /* Since our socket is in non-blocking mode, read(2) can return - * EAGAIN if there is no data yet for us. Handle this by - * delaying temporarily, then trying again. -@@ -1265,7 +1265,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) { - while (len < 0) { - int xerrno = errno; - --if (xerrno == EAGAIN) { -+if (xerrno == EAGAIN || xerrno == EINTR) { - /* Since our socket is in non-blocking mode, read(2) can return -* EAGAIN if there is no data yet for us. Handle this by -* delaying temporarily, then trying again. -@@ -1362,7 +1362,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) { - while (bwrote < 0) { - int xerrno = errno; - --if (xerrno == EAGAIN) { -+if (xerrno == EAGAIN || xerrno == EINTR) { - /* Since our socket is in non-blocking mode, write(2) can return -* EAGAIN if there is not enough from for our data yet. Handle -* this by delaying temporarily, then trying again. --- -2.23.0 - diff --git a/net-ftp/proftpd/files/proftpd-1.3.6-mod_copy.patch b/net-ftp/proftpd/files/proftpd-1.3.6-mod_copy.patch deleted file mode 100644 index 40d912eb2b5..000 --- a/net-ftp/proftpd/files/proftpd-1.3.6-mod_copy.patch +++ /dev/null @@ -1,96 +0,0 @@ -https://bugs.gentoo.org/690528 -CVE-2019-12815 - -From a73dbfe3b61459e7c2806d5162b12f0957990cb3 Mon Sep 17 00:00:00 2001 -From: TJ Saunders -Date: Wed, 17 Jul 2019 09:48:39 -0700 -Subject: [PATCH] Backport of fix for Bug#4372 to the 1.3.6 branch. - - NEWS | 1 + - contrib/mod_copy.c | 36 +--- - 2 files changed, 34 insertions(+), 3 deletions(-) - a/contrib/mod_copy.c -+++ b/contrib/mod_copy.c -@@ -1,7 +1,7 @@ - /* - * ProFTPD: mod_copy -- a module supporting copying of files on the server - * without transferring the data to the client and back -- * Copyright (c) 2009-2016 TJ Saunders -+ * Copyright (c) 2009-2019 TJ Saunders - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by -@@ -657,7 +657,7 @@ MODRET copy_copy(cmd_rec *cmd) { - MODRET copy_cpfr(cmd_rec *cmd) { - register unsigned int i; - int res; -- char *path = ""; -+ char *cmd_name, *path = ""; - unsigned char *authenticated = NULL; - - if (copy_engine == FALSE) { -@@ -705,6 +705,21 @@ MODRET copy_cpfr(cmd_rec *cmd) { - path = pstrcat(cmd->tmp_pool, path, *path ? " " : "", decoded_path,
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: 3153e9afab90ac5741c621bad7e6c39c72764181 Author: Sergei Trofimovich gentoo org> AuthorDate: Mon Mar 2 23:40:18 2020 + Commit: Sergei Trofimovich gentoo org> CommitDate: Mon Mar 2 23:40:49 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3153e9af net-ftp/proftpd: tweak for gcc-10 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Sergei Trofimovich gentoo.org> net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch | 21 + net-ftp/proftpd/proftpd-1.3.6c.ebuild | 1 + 2 files changed, 22 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch b/net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch new file mode 100644 index 000..c3ee704c085 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.6c-gcc-10.patch @@ -0,0 +1,21 @@ +--- a/contrib/mod_quotatab.c b/contrib/mod_quotatab.c +@@ -50,6 +50,7 @@ typedef struct regtab_obj { + module quotatab_module; + + /* Quota objects for the current session */ ++quota_deltas_t quotatab_deltas; + static quota_table_t *limit_tab = NULL; + static quota_limit_t sess_limit; + +--- a/contrib/mod_quotatab.h b/contrib/mod_quotatab.h +@@ -188,7 +188,7 @@ typedef struct table_obj { + #define QUOTATAB_TALLY_SRC 0x0002 + + /* Quota objects for the current session. */ +-quota_deltas_t quotatab_deltas; ++extern quota_deltas_t quotatab_deltas; + + /* Function prototypes necessary for quotatab sub-modules */ + int quotatab_log(const char *, ...) diff --git a/net-ftp/proftpd/proftpd-1.3.6c.ebuild b/net-ftp/proftpd/proftpd-1.3.6c.ebuild index 5c8f9eb610d..d2441f41e29 100644 --- a/net-ftp/proftpd/proftpd-1.3.6c.ebuild +++ b/net-ftp/proftpd/proftpd-1.3.6c.ebuild @@ -71,6 +71,7 @@ S="${WORKDIR}/${P/_/}" PATCHES=( "${FILESDIR}"/${PN}-1.3.6-use-trace.patch "${FILESDIR}"/${PN}-1.3.6a-fix-libcheck.patch + "${FILESDIR}"/${PN}-1.3.6c-gcc-10.patch ) RESTRICT=test # tests corrupt memory. need to be fixed upstream first
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: e2c36f1aded32d1feee68284b3823a77a027ff04 Author: Sergei Trofimovich gentoo org> AuthorDate: Mon Dec 2 22:52:15 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Mon Dec 2 22:52:42 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2c36f1a net-ftp/proftpd: CVE-2019-19269 fix, bug #701814 Pick upstream commit be8e1687819cb6 ("Issue #859, #861: Fix handling of CRL lookups by properly using issuer for lookups, and guarding against null pointers.") Bug: https://bugs.gentoo.org/701814 Package-Manager: Portage-2.3.80, Repoman-2.3.19 Signed-off-by: Sergei Trofimovich gentoo.org> .../files/proftpd-1.3.6b-tls-crl-crash.patch | 40 +++ net-ftp/proftpd/proftpd-1.3.6b-r1.ebuild | 275 + 2 files changed, 315 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6b-tls-crl-crash.patch b/net-ftp/proftpd/files/proftpd-1.3.6b-tls-crl-crash.patch new file mode 100644 index 000..3cfd8186721 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.6b-tls-crl-crash.patch @@ -0,0 +1,40 @@ +https://bugs.gentoo.org/701814 +https://github.com/proftpd/proftpd/commit/be8e1687819cb665359bd62b4c896ff4b1a09c3f + +From be8e1687819cb665359bd62b4c896ff4b1a09c3f Mon Sep 17 00:00:00 2001 +From: TJ Saunders +Date: Sun, 24 Nov 2019 14:03:54 -0800 +Subject: [PATCH] Issue #859, #861: Fix handling of CRL lookups by properly + using issuer for lookups, and guarding against null pointers. + +--- + contrib/mod_tls.c | 7 +-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/contrib/mod_tls.c b/contrib/mod_tls.c +@@ -9066,10 +9066,10 @@ static int tls_verify_crl(int ok, X509_STORE_CTX *ctx) { + + #if OPENSSL_VERSION_NUMBER >= 0x1010L && \ + !defined(HAVE_LIBRESSL) +- crls = X509_STORE_CTX_get1_crls(store_ctx, subject); ++ crls = X509_STORE_CTX_get1_crls(store_ctx, issuer); + #elif OPENSSL_VERSION_NUMBER >= 0x1000L && \ + !defined(HAVE_LIBRESSL) +- crls = X509_STORE_get1_crls(store_ctx, subject); ++ crls = X509_STORE_get1_crls(store_ctx, issuer); + #else + /* Your OpenSSL is before 1.0.0. You really need to upgrade. */ + crls = NULL; +@@ -9088,6 +9088,9 @@ static int tls_verify_crl(int ok, X509_STORE_CTX *ctx) { + ASN1_INTEGER *sn; + + revoked = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), j); ++if (revoked == NULL) { ++ continue; ++} + #if OPENSSL_VERSION_NUMBER >= 0x1010L && \ + !defined(HAVE_LIBRESSL) + sn = X509_REVOKED_get0_serialNumber(revoked); +-- +2.24.0 diff --git a/net-ftp/proftpd/proftpd-1.3.6b-r1.ebuild b/net-ftp/proftpd/proftpd-1.3.6b-r1.ebuild new file mode 100644 index 000..a7cb7a64d24 --- /dev/null +++ b/net-ftp/proftpd/proftpd-1.3.6b-r1.ebuild @@ -0,0 +1,275 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit multilib systemd tmpfiles + +MOD_CASE="0.7" +MOD_CLAMAV="0.14rc2" +MOD_DISKUSE="0.9" +MOD_GSS="1.3.9" +MOD_MSG="0.4.1" +MOD_VROOT="0.9.4" + +DESCRIPTION="An advanced and very configurable FTP server" +HOMEPAGE="http://www.proftpd.org/ + http://www.castaglia.org/proftpd/ + https://github.com/jbenden/mod_clamav + http://gssmod.sourceforge.net/; +SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz + case? ( http://www.castaglia.org/${PN}/modules/${PN}-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? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-diskuse-${MOD_DISKUSE}.tar.gz ) + kerberos? ( mirror://sourceforge/gssmod/mod_gss-${MOD_GSS}.tar.gz ) + msg? ( http://www.castaglia.org/${PN}/modules/${PN}-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 )" +LICENSE="GPL-2" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="acl authfile ban +caps case clamav copy ctrls deflate diskuse dso dynmasq exec ifsession ifversion ident ipv6 + kerberos ldap libressl 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" +# TODO: geoip +REQUIRED_USE="ban? ( ctrls ) + msg? ( ctrls ) + sftp? ( ssl ) + shaper? ( ctrls ) + + mysql? ( ssl ) + postgres? ( ssl ) + sqlite? ( ssl ) +" + +CDEPEND="acl? ( virtual/acl ) + caps? ( sys-libs/libcap ) + clamav? ( app-antivirus/clamav ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap ) + memcache? ( >=dev-libs/libmemcached-0.41 ) + mysql? ( dev-db/mysql-connector-c:0= ) + nls? ( virtual/libiconv ) + ncurses? ( sys-libs/ncurses:0= ) + ssl? ( +
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: b47b227ea3da7aec35ee5db26ccac8b5be543bda Author: Sergei Trofimovich gentoo org> AuthorDate: Tue Oct 1 22:15:22 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Tue Oct 1 22:16:13 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b47b227e net-ftp/proftpd: backport EINTR/EAGAIN fix, bug #695972 Reported-by: Dennis Lichtenthäler Closes: https://bugs.gentoo.org/695972 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Sergei Trofimovich gentoo.org> .../files/proftpd-1.3.6-EINTR-like-EAGAIN.patch| 54 net-ftp/proftpd/proftpd-1.3.6-r6.ebuild| 277 + 2 files changed, 331 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6-EINTR-like-EAGAIN.patch b/net-ftp/proftpd/files/proftpd-1.3.6-EINTR-like-EAGAIN.patch new file mode 100644 index 000..43608d96492 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.6-EINTR-like-EAGAIN.patch @@ -0,0 +1,54 @@ +https://bugs.gentoo.org/695972 +https://github.com/proftpd/proftpd/commit/f09f0c661621eb22cb1ce579194478007ba62866 + +From f09f0c661621eb22cb1ce579194478007ba62866 Mon Sep 17 00:00:00 2001 +From: Justin Maggard +Date: Tue, 10 Oct 2017 18:20:06 -0700 +Subject: [PATCH] Bug #4319: Treat EINTR like EAGAIN + +This bug described a situation where an ongoing transfer would be +prematurely aborted when one of our timers fired. The timer could have +fired for an unrelated reason, but if we were in the process of reading +or writing with pr_netio_read() or pr_netio_write(), those calls would +be interrupted with errno set to EINTR, and an error would be returned. +Then pr_data_xfer() would abort the transfer. + +EAGAIN was already being handled properly, and we can just use the same +treatment for EINTR so that we only respond to the timers we should +actually care about. +--- + src/data.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/src/data.c b/src/data.c +@@ -1143,7 +1143,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) { + while (len < 0) { + int xerrno = errno; + +- if (xerrno == EAGAIN) { ++ if (xerrno == EAGAIN || xerrno == EINTR) { + /* Since our socket is in non-blocking mode, read(2) can return + * EAGAIN if there is no data yet for us. Handle this by + * delaying temporarily, then trying again. +@@ -1265,7 +1265,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) { + while (len < 0) { + int xerrno = errno; + +-if (xerrno == EAGAIN) { ++if (xerrno == EAGAIN || xerrno == EINTR) { + /* Since our socket is in non-blocking mode, read(2) can return +* EAGAIN if there is no data yet for us. Handle this by +* delaying temporarily, then trying again. +@@ -1362,7 +1362,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) { + while (bwrote < 0) { + int xerrno = errno; + +-if (xerrno == EAGAIN) { ++if (xerrno == EAGAIN || xerrno == EINTR) { + /* Since our socket is in non-blocking mode, write(2) can return +* EAGAIN if there is not enough from for our data yet. Handle +* this by delaying temporarily, then trying again. +-- +2.23.0 + diff --git a/net-ftp/proftpd/proftpd-1.3.6-r6.ebuild b/net-ftp/proftpd/proftpd-1.3.6-r6.ebuild new file mode 100644 index 000..ca63d580cfc --- /dev/null +++ b/net-ftp/proftpd/proftpd-1.3.6-r6.ebuild @@ -0,0 +1,277 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit multilib systemd tmpfiles + +MOD_CASE="0.7" +MOD_CLAMAV="0.11rc" +MOD_DISKUSE="0.9" +MOD_GSS="1.3.6" +MOD_MSG="0.4.1" +MOD_VROOT="0.9.4" + +DESCRIPTION="An advanced and very configurable FTP server" +HOMEPAGE="http://www.proftpd.org/ + http://www.castaglia.org/proftpd/ + http://www.thrallingpenguin.com/resources/mod_clamav.htm + http://gssmod.sourceforge.net/; +SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz + case? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-case-${MOD_CASE}.tar.gz ) + clamav? ( https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-${MOD_CLAMAV}.tar.gz ) + diskuse? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-diskuse-${MOD_DISKUSE}.tar.gz ) + kerberos? ( mirror://sourceforge/gssmod/mod_gss-${MOD_GSS}.tar.gz ) + msg? ( http://www.castaglia.org/${PN}/modules/${PN}-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 )" +LICENSE="GPL-2" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="acl authfile ban +caps case clamav copy ctrls deflate diskuse dso dynmasq exec ifsession ifversion ident ipv6 + kerberos ldap libressl log-forensic memcache msg mysql
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: 43eb094f5dfa9abe3c8860eb7f4e1aae7f18dea5 Author: Sergei Trofimovich gentoo org> AuthorDate: Mon Aug 19 07:43:33 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Mon Aug 19 07:43:49 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43eb094f net-ftp/proftpd: tweak for mysql-8, bug #692434 mysql-8 dropped my_bool in favoud or bool from . Bug: https://bugs.mysql.com/bug.php?id=85131 Bug: https://github.com/proftpd/proftpd/issues/824 Reported-by: Toralf Förster Closes: https://bugs.gentoo.org/692434 Package-Manager: Portage-2.3.71, Repoman-2.3.17 Signed-off-by: Sergei Trofimovich gentoo.org> net-ftp/proftpd/files/proftpd-1.3.6-mysql-8.patch | 24 +++ net-ftp/proftpd/proftpd-1.3.6-r5.ebuild | 1 + 2 files changed, 25 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6-mysql-8.patch b/net-ftp/proftpd/files/proftpd-1.3.6-mysql-8.patch new file mode 100644 index 000..4149a654059 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.6-mysql-8.patch @@ -0,0 +1,24 @@ +https://bugs.gentoo.org/692434 +https://github.com/proftpd/proftpd/issues/824 +--- a/contrib/mod_sql_mysql.c b/contrib/mod_sql_mysql.c +@@ -132,6 +132,7 @@ + #include "../contrib/mod_sql.h" + + #include ++#include + + /* The my_make_scrambled_password{,_323} functions are not part of the public + * MySQL API and are not declared in any of the MySQL header files. But the +@@ -495,7 +495,11 @@ MODRET cmd_open(cmd_rec *cmd) { +* http://dev.mysql.com/doc/refman/5.0/en/auto-reconnect.html +*/ + if (!(pr_sql_opts & SQL_OPT_NO_RECONNECT)) { ++#if MYSQL_VERSION_ID >= 8 ++bool reconnect = true; ++#else + my_bool reconnect = TRUE; ++#endif + mysql_options(conn->mysql, MYSQL_OPT_RECONNECT, ); + } + #endif diff --git a/net-ftp/proftpd/proftpd-1.3.6-r5.ebuild b/net-ftp/proftpd/proftpd-1.3.6-r5.ebuild index c3a8e165e6f..9fef53a6a6c 100644 --- a/net-ftp/proftpd/proftpd-1.3.6-r5.ebuild +++ b/net-ftp/proftpd/proftpd-1.3.6-r5.ebuild @@ -72,6 +72,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.3.6-use-trace.patch "${FILESDIR}"/${PN}-1.3.6-sighup-crash.patch "${FILESDIR}"/${PN}-1.3.6-mod_copy.patch + "${FILESDIR}"/${PN}-1.3.6-mysql-8.patch ) RESTRICT=test # tests corrupt memory. need to be fixed upstream first
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/
commit: 85aa4bd643ce3503aa3d2501337e4acf0ed3ca34 Author: Michael Mair-Keimberger gmail com> AuthorDate: Thu Sep 28 18:34:52 2017 + Commit: Sergei Trofimovich gentoo org> CommitDate: Tue Oct 17 17:52:07 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85aa4bd6 net-ftp/proftpd: remove unused patch Closes: https://github.com/gentoo/gentoo/pull/5817 .../files/proftpd-1.3.6_rc4-open-tests.patch | 24 -- 1 file changed, 24 deletions(-) diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-open-tests.patch b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-open-tests.patch deleted file mode 100644 index f65a2cc3fbb..000 --- a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-open-tests.patch +++ /dev/null @@ -1,24 +0,0 @@ -gcc-6.3 + glibc-2.25 now can detect 2-argument open that is supposed to created new files. -diff --git a/tests/api/fsio.c b/tests/api/fsio.c -index 2041f43..18d173b 100644 a/tests/api/fsio.c -+++ b/tests/api/fsio.c -@@ -1058,3 +1058,3 @@ START_TEST (fsio_sys_access_file_test) { - /* Make the file to check; we want it to have perms 664.*/ -- fd = open(fsio_test_path, O_CREAT|O_EXCL|O_WRONLY); -+ fd = open(fsio_test_path, O_CREAT|O_EXCL|O_WRONLY, S_IRUSR | S_IWUSR); - fail_if(fd < 0, "Unable to create file '%s': %s", fsio_test_path, -diff --git a/tests/api/scoreboard.c b/tests/api/scoreboard.c -index f0ffdbc..f26d833 100644 a/tests/api/scoreboard.c -+++ b/tests/api/scoreboard.c -@@ -267,3 +267,3 @@ START_TEST (scoreboard_lock_test) { - -- fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR); -+ fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR, S_IRUSR | S_IWUSR); - fail_unless(fd >= 0, "Failed to open '%s': %s", test_file2, strerror(errno)); -@@ -911,3 +911,3 @@ START_TEST (scoreboard_entry_lock_test) { - -- fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR); -+ fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR, S_IRUSR | S_IWUSR); - fail_unless(fd >= 0, "Failed to open '%s': %s", test_file2, strerror(errno));
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: fba48bedb74f80376bb3a6761a052244350f4fd8 Author: Sergei Trofimovich gentoo org> AuthorDate: Sun Mar 26 21:29:22 2017 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sun Mar 26 21:29:33 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fba48bed net-ftp/proftpd: bump up to 1.3.6_rc4 In https://bugs.gentoo.org/612664 Yuri Mamaev reports a crash in mod_sftp. There was a few fixes upstream since. Package-Manager: Portage-2.3.5, Repoman-2.3.2 net-ftp/proftpd/Manifest | 1 + .../proftpd-1.3.6_rc4-diskuse-refresh-api.patch| 17 ++ .../files/proftpd-1.3.6_rc4-gss-refresh-api.patch | 60 + .../files/proftpd-1.3.6_rc4-msg-refresh-api.patch | 29 +++ .../files/proftpd-1.3.6_rc4-open-tests.patch | 24 ++ .../proftpd-1.3.6_rc4-vroot-refresh-api.patch | 23 ++ net-ftp/proftpd/proftpd-1.3.6_rc4.ebuild | 256 + 7 files changed, 410 insertions(+) diff --git a/net-ftp/proftpd/Manifest b/net-ftp/proftpd/Manifest index 60dbe847afd..5f1425799a4 100644 --- a/net-ftp/proftpd/Manifest +++ b/net-ftp/proftpd/Manifest @@ -5,6 +5,7 @@ DIST mod_vroot-0.9.3.tar.gz 28352 SHA256 f16c61ed7fe2d7231e1421f8f1a484f29972e0e DIST mod_vroot-0.9.4.tar.gz 29461 SHA256 80c82c18639909a3b5219cbb76363584c0eb311535de38adb5d9040a9b12bde8 SHA512 f5de392c9fe39f0a03b0783a7092bbfe17ea6db991f4b4e4a2d8f092f073d27ef2c64dd6484d5665b5abc808c0caba016d4fc3fab3da3810f5ebe5249bb4cbce WHIRLPOOL a3e086812e270d96dd659bbb1c3afb7e84adfe8db525adb08ecaabe02afb972032b413b8e16e2a26a8d99f2a599a3901010a6d1201c964164559aacf6105dc2a DIST proftpd-1.3.5b.tar.gz 29992107 SHA256 afc1789f2478acf88dfdc7d70da90a4fa2786d628218e9574273295d044b4fc8 SHA512 5bdb9718c85c26b92256d7b3791a6a5456bec3826801b7b68f4d493d202ac77179c8378ad06efc1a805efce639db266561d3beb4bc7af61ca1352fb4bdfd4e6a WHIRLPOOL bb1a9fef464d2070c7dc1204cf2a8682e4f2719d682b0b1e541fff11f5c8a4a9a133011a607831fd30548b201531c3534248ed0eb36d0b4708e7b5b75353fc6f DIST proftpd-1.3.5d.tar.gz 29966560 SHA256 f4e2997be7f22a5b31d7ac72497ed4f4471d24d32385978350410713e76129ac SHA512 3297ddd1f11d46123bbe46488d75fa7a6dcdf2c2d6e7e880a78a427f9f1e9901878dab179e41092e0b9864a615d8ba0b0bf444d4f829870e993e3169c7141c37 WHIRLPOOL d20c43368ad9d3e79e4e7a7590a808974ad4059592f183a325aa05650ee4c4d874b6fe2723c289678df84eb5be4d4888b6a523abd1e0c6a8817333daa12af463 +DIST proftpd-1.3.6rc4.tar.gz 20164575 SHA256 868893e71c4ee8d5855520bda56b6a85ff0c5d786d8b965a28d52d740ba5da52 SHA512 16f7483fcc5b7969e468d48ee65845bf0c14353658fca55752b68137c0d0dc7f2c2dd0e9ef8e360793f232b85af0094e4c83d96a14a16061b68dfc7cee3b691c WHIRLPOOL e44e17001a8f53ad8ea7abd692dfa39913450a79a318db4a22dad8493576eef72601e82e7ce3027f0d58d3b56cd38ce95807bf3b47fb924cd869cb6804500595 DIST proftpd-mod-case-0.7.tar.gz 13184 SHA256 c3f65588250fea7771439933fa754927794f664e99b8d20f99b1e400fea62111 SHA512 c08d13ef82fec36ae75aa3213dd02e0ce4045904849f422e152f039a9da66a45e4423751074b8bcf8ce347a40ce0e7bde798a85cbadc962fd872aeaa898261fc WHIRLPOOL 27f49e9f34099c081add803aa679fd9abe7afa652dffe5d8e42889fef49aeaefd499e1009fc564d6c8f882b3c6dc31d4c6dd08cc06a42b770e7ef76a2ebfcf8a DIST proftpd-mod-diskuse-0.9.tar.gz 18596 SHA256 424f3fd49237245ec176d27ade0965fe21a0db1d645979d5ae3e55497e3da036 SHA512 d41976bf2810e4b783e775e8c767ca2030c3b5df116219fd31cbbac7feaf9922c315bf4ea092881b0d6cf43f2f4c5dbcae61be3c3a833058d12f962a3024b975 WHIRLPOOL aabd1dc23d6c38d308e859ff778beffd0dabfe70d3530c093cf2f95e80b5e9c94b97b6b5ae5109d031f76ff94dffc3822a7aa60fa30df04523d37ebed99730d6 DIST proftpd-mod-msg-0.4.1.tar.gz 8082 SHA256 255b79d31dc509ffad5d0fbcd469f833a8481e880aa962910c2bc8aa608ca6da SHA512 38ea63b1d355e1e10a6a4477596bf3fa28529a871c9fb8dbf093b5317f0743ef9cb59b986d0b8c1c7ed932dad5d5d571883d596fad2d3b793431824db4487012 WHIRLPOOL ff907e26a354f53231fed94515eb60050dec77118be6f49147e0eb8b79e50c9d73354618bca19d98d32a3fb79d7ba87507cc6c8b269f259c5fcf23d44ad3a906 diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-diskuse-refresh-api.patch b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-diskuse-refresh-api.patch new file mode 100644 index 000..34f1d95ebee --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-diskuse-refresh-api.patch @@ -0,0 +1,17 @@ +diff --git a/mod_diskuse.c b/mod_diskuse.c +index 0e0a0d0..7eb5edf 100644 +--- a/mod_diskuse.c b/mod_diskuse.c +@@ -53,6 +53,12 @@ + + #define MOD_DISKUSE_VERSION "mod_diskuse/0.9" + ++#define pr_parse_expression pr_expr_create ++#define pr_class_or_expression pr_expr_eval_class_or ++#define pr_group_and_expression pr_expr_eval_group_and ++#define pr_group_or_expression pr_expr_eval_group_or ++#define pr_user_or_expression pr_expr_eval_user_or ++ + static unsigned char have_max_diskuse = FALSE; + static double min_diskfree = 0.0; + static double current_diskfree = 0.0; diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-gss-refresh-api.patch
[gentoo-commits] repo/gentoo:master commit in: net-ftp/proftpd/files/, net-ftp/proftpd/
commit: 0701a27f2fb7e5d820b9da4317ee99b655cfd468 Author: Sergei Trofimovich gentoo org> AuthorDate: Tue Dec 1 22:22:50 2015 + Commit: Sergei Trofimovich gentoo org> CommitDate: Tue Dec 1 22:23:12 2015 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0701a27f net-ftp/proftpd: fix size limit of SFTP handshake, bug #567252 Reported-by: Agostino Sarubbo Bug: https://bugs.gentoo.org/567252 Bug: http://bugs.proftpd.org/4210 Package-Manager: portage-2.2.25 .../files/proftpd-1.3.5a-unbound-sftp-p1.patch | 70 ++ .../files/proftpd-1.3.5a-unbound-sftp-p2.patch | 61 ++ net-ftp/proftpd/proftpd-1.3.5a-r2.ebuild | 240 + 3 files changed, 371 insertions(+) diff --git a/net-ftp/proftpd/files/proftpd-1.3.5a-unbound-sftp-p1.patch b/net-ftp/proftpd/files/proftpd-1.3.5a-unbound-sftp-p1.patch new file mode 100644 index 000..03dd1d8 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.5a-unbound-sftp-p1.patch @@ -0,0 +1,70 @@ +commit a24db7f9864240a4ebb236a6615ec649138fef0e +Author: TJ Saunders+Date: Sat Nov 28 17:08:03 2015 -0800 + +Bug#4210 - Avoid unbounded SFTP extension key/values. + +diff --git a/contrib/mod_sftp/fxp.c b/contrib/mod_sftp/fxp.c +index 5d9ae17..03c7eb5 100644 +--- a/contrib/mod_sftp/fxp.c b/contrib/mod_sftp/fxp.c +@@ -241,6 +241,9 @@ struct fxp_extpair { + unsigned char *ext_data; + }; + ++/* Maximum length of SFTP extension name, AND of the extension value. */ ++#define SFTP_EXT_MAX_LEN 1024 ++ + static pool *fxp_pool = NULL; + static int fxp_use_gmt = TRUE; + +@@ -1240,6 +1243,14 @@ static struct fxp_extpair *fxp_msg_read_extpair(pool *p, unsigned char **buf, + SFTP_DISCONNECT_CONN(SFTP_SSH2_DISCONNECT_BY_APPLICATION, NULL); + } + ++ if (namelen > SFTP_EXT_MAX_LEN) { ++(void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION, ++ "received too-long SFTP extension name (%lu > max %lu), ignoring", ++ (unsigned long) namelen, (unsigned long) SFTP_EXT_MAX_LEN); ++errno = EINVAL; ++return NULL; ++ } ++ + name = palloc(p, namelen + 1); + memcpy(name, *buf, namelen); + (*buf) += namelen; +@@ -1248,6 +1259,14 @@ static struct fxp_extpair *fxp_msg_read_extpair(pool *p, unsigned char **buf, + + datalen = sftp_msg_read_int(p, buf, buflen); + if (datalen > 0) { ++if (datalen > SFTP_EXT_MAX_LEN) { ++ (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION, ++"received too-long SFTP extension '%s' data (%lu > max %lu), ignoring", ++name, (unsigned long) datalen, (unsigned long) SFTP_EXT_MAX_LEN); ++ errno = EINVAL; ++ return NULL; ++} ++ + data = sftp_msg_read_data(p, buf, buflen, datalen); + + } else { +@@ -2210,11 +2229,13 @@ static struct stat *fxp_attrs_read(struct fxp_packet *fxp, unsigned char **buf, + struct fxp_extpair *ext; + + ext = fxp_msg_read_extpair(fxp->pool, buf, buflen); +-pr_trace_msg(trace_channel, 15, +- "protocol version %lu: read EXTENDED attribute: " +- "extension '%s' (%lu bytes of data)", +- (unsigned long) fxp_session->client_version, ext->ext_name, +- (unsigned long) ext->ext_datalen); ++if (ext != NULL) { ++ pr_trace_msg(trace_channel, 15, ++"protocol version %lu: read EXTENDED attribute: " ++"extension '%s' (%lu bytes of data)", ++(unsigned long) fxp_session->client_version, ext->ext_name, ++(unsigned long) ext->ext_datalen); ++} + } + } + + diff --git a/net-ftp/proftpd/files/proftpd-1.3.5a-unbound-sftp-p2.patch b/net-ftp/proftpd/files/proftpd-1.3.5a-unbound-sftp-p2.patch new file mode 100644 index 000..c7d0a02 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.5a-unbound-sftp-p2.patch @@ -0,0 +1,61 @@ +commit f30ac3cc1a58ec7522de6aeeaa09314a45dbc690 +Author: TJ Saunders +Date: Sat Nov 28 17:13:55 2015 -0800 + +Correct the parameters to talk of "extended attributes", not SFTP extensions. + +diff --git a/contrib/mod_sftp/fxp.c b/contrib/mod_sftp/fxp.c +index 03c7eb5..e7161d5 100644 +--- a/contrib/mod_sftp/fxp.c b/contrib/mod_sftp/fxp.c +@@ -235,15 +235,18 @@ static size_t fxp_packet_data_allocsz = 0; + #define FXP_PACKET_DATA_DEFAULT_SZ(1024 * 16) + #define FXP_RESPONSE_DATA_DEFAULT_SZ 512 + ++#define FXP_MAX_PACKET_LEN(1024 * 512) ++#define FXP_MAX_EXTENDED_ATTRIBUTES 100 ++ ++/* Maximum length of SFTP extended attribute name OR value. */ ++#define FXP_MAX_EXTENDED_ATTR_LEN 1024 ++ + struct fxp_extpair { + char *ext_name; + uint32_t ext_datalen; + unsigned char *ext_data; + }; + +-/* Maximum length of SFTP extension name, AND of the extension value. */ +-#define SFTP_EXT_MAX_LEN 1024 +- + static pool *fxp_pool = NULL; + static int fxp_use_gmt = TRUE; + +@@ -1243,10