Compare commits
No commits in common. "2b649601c324d0dc5e91890f9e338019751459fd" and "f9ca5a8b2a239739779ac61906ffcbd6d6d4c58d" have entirely different histories.
2b649601c3
...
f9ca5a8b2a
@ -1,24 +0,0 @@
|
||||
From 39d7026876e29020dde52655927e73bf6f98f5ff Mon Sep 17 00:00:00 2001
|
||||
From: chengyechun <chengyechun1@huawei.com>
|
||||
Date: Wed, 3 Jan 2024 03:18:36 +0000
|
||||
Subject: [PATCH] huawei-proftpd-service-add-restart
|
||||
|
||||
---
|
||||
contrib/dist/rpm/proftpd.service | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/contrib/dist/rpm/proftpd.service b/contrib/dist/rpm/proftpd.service
|
||||
index 6c81db3..14ae9e5 100644
|
||||
--- a/contrib/dist/rpm/proftpd.service
|
||||
+++ b/contrib/dist/rpm/proftpd.service
|
||||
@@ -11,6 +11,7 @@ ExecStartPre = /usr/sbin/proftpd --configtest
|
||||
ExecStart = /usr/sbin/proftpd --nodaemon $PROFTPD_OPTIONS
|
||||
ExecReload = /bin/kill -HUP $MAINPID
|
||||
PIDFile = /run/proftpd/proftpd.pid
|
||||
+Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy = multi-user.target
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -171,10 +171,6 @@ LoadModule mod_vroot.c
|
||||
LoadModule mod_qos.c
|
||||
</IfDefine>
|
||||
|
||||
# Attempt to generate a unique ID for every FTP session
|
||||
# (http://www.proftpd.org/docs/contrib/mod_unique_id.html)
|
||||
# LoadModule mod_unique_id.c
|
||||
#
|
||||
# Provide a flexible way of specifying that certain configuration directives
|
||||
# only apply to certain sessions, based on credentials such as connection
|
||||
# class, user, or group membership
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
-#!/usr/bin/env perl
|
||||
+#!/usr/bin/perl
|
||||
# ---------------------------------------------------------------------------
|
||||
# Copyright (C) 2000-2021 TJ Saunders <tj@castaglia.org>
|
||||
# Copyright (C) 2000-2020 TJ Saunders <tj@castaglia.org>
|
||||
#
|
||||
--- contrib/ftpmail
|
||||
+++ contrib/ftpmail
|
||||
25
proftpd-1.3.7a-Adjusting-unit-test-timeouts-for-netacl.patch
Normal file
25
proftpd-1.3.7a-Adjusting-unit-test-timeouts-for-netacl.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 27d632208163a73a0501e595fcdef0302cb44d8c Mon Sep 17 00:00:00 2001
|
||||
From: eaglegai <eaglegai@163.com>
|
||||
Date: Tue, 1 Jun 2021 17:21:55 +0800
|
||||
Subject: [PATCH] proftpd 1.3.7a Adjusting unit test timeouts for netacl
|
||||
|
||||
---
|
||||
tests/api/netacl.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/tests/api/netacl.c b/tests/api/netacl.c
|
||||
index c4da486..86b628d 100644
|
||||
--- a/tests/api/netacl.c
|
||||
+++ b/tests/api/netacl.c
|
||||
@@ -894,6 +894,8 @@ Suite *tests_get_netacl_suite(void) {
|
||||
tcase_add_test(testcase, netacl_match_test);
|
||||
tcase_add_test(testcase, netacl_get_negated_test);
|
||||
|
||||
+ tcase_set_timeout(testcase, 60);
|
||||
+
|
||||
suite_add_tcase(suite, testcase);
|
||||
return suite;
|
||||
}
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
84
proftpd-1.3.7a-fix-environment-sensitive-tests-failure.patch
Normal file
84
proftpd-1.3.7a-fix-environment-sensitive-tests-failure.patch
Normal file
@ -0,0 +1,84 @@
|
||||
diff -ruNa proftpd-1.3.7a/tests/api/netacl.c proftpd-1.3.7a-fix/tests/api/netacl.c
|
||||
--- proftpd-1.3.7a/tests/api/netacl.c 2020-07-22 01:25:51.000000000 +0800
|
||||
+++ proftpd-1.3.7a-fix/tests/api/netacl.c 2021-01-13 14:44:00.679322360 +0800
|
||||
@@ -773,8 +773,10 @@
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
- fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
|
||||
- strerror(errno));
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
+ fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
|
||||
+ strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!have_localdomain) {
|
||||
@@ -790,8 +790,10 @@
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
- fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
|
||||
- strerror(errno));
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
+ fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
|
||||
+ strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
acl_str = "!www.google.com";
|
||||
@@ -816,8 +816,10 @@
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
- fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
|
||||
- strerror(errno));
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
+ fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
|
||||
+ strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!have_localdomain) {
|
||||
@@ -833,8 +835,10 @@
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
- fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
|
||||
- strerror(errno));
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
+ fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
|
||||
+ strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
acl_str = "!www.g*g.com";
|
||||
diff -ruNa proftpd-1.3.7a/tests/api/netaddr.c proftpd-1.3.7a-fix/tests/api/netaddr.c
|
||||
--- proftpd-1.3.7a/tests/api/netaddr.c 2021-01-13 14:30:47.467322360 +0800
|
||||
+++ proftpd-1.3.7a-fix/tests/api/netaddr.c 2021-01-13 14:42:45.851322360 +0800
|
||||
@@ -417,7 +417,9 @@
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
/* This test is sensitive the environment. */
|
||||
- fail_unless(res == TRUE, "Expected TRUE, got %d", res);
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
+ fail_unless(res == TRUE, "Expected TRUE, got %d", res);
|
||||
+ }
|
||||
}
|
||||
|
||||
flags = PR_NETADDR_MATCH_IP;
|
||||
@@ -879,9 +881,11 @@
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
/* This test is sensitive the environment. */
|
||||
- fail_unless(strcmp(res, "localhost") == 0 ||
|
||||
- strcmp(res, "localhost.localdomain") == 0,
|
||||
- "Expected '%s', got '%s'", "localhost or localhost.localdomain", res);
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
+ fail_unless(strcmp(res, "localhost") == 0 ||
|
||||
+ strcmp(res, "localhost.localdomain") == 0,
|
||||
+ "Expected '%s', got '%s'", "localhost or localhost.localdomain", res);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
END_TEST
|
||||
Binary file not shown.
@ -1,105 +0,0 @@
|
||||
From cb0e408e8b82fa8c198d9dd95e5818d8431e9fd5 Mon Sep 17 00:00:00 2001
|
||||
From: chen-jan <chen_aka_jan@163.com>
|
||||
Date: Tue, 11 Apr 2023 16:55:34 +0800
|
||||
Subject: [PATCH] proftpd-1.3.8-fix-environment-sensitive-tests-failure
|
||||
|
||||
---
|
||||
tests/api/netacl.c | 8 ++++++++
|
||||
tests/api/netaddr.c | 6 ++++++
|
||||
2 files changed, 14 insertions(+)
|
||||
|
||||
diff --git a/tests/api/netacl.c b/tests/api/netacl.c
|
||||
index e4b0431..b91ecdb 100644
|
||||
--- a/tests/api/netacl.c
|
||||
+++ b/tests/api/netacl.c
|
||||
@@ -775,8 +775,10 @@ START_TEST (netacl_match_test) {
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
ck_assert_msg(res == 1, "Failed to positively match ACL to addr: %s",
|
||||
strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!have_localdomain) {
|
||||
@@ -793,8 +795,10 @@ START_TEST (netacl_match_test) {
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
ck_assert_msg(res == -1, "Failed to negatively match ACL to addr: %s",
|
||||
strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
acl_str = "!www.google.com";
|
||||
@@ -820,8 +824,10 @@ START_TEST (netacl_match_test) {
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
ck_assert_msg(res == 1, "Failed to positively match ACL to addr: %s",
|
||||
strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!have_localdomain) {
|
||||
@@ -838,8 +844,10 @@ START_TEST (netacl_match_test) {
|
||||
res = pr_netacl_match(acl, addr);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
ck_assert_msg(res == -1, "Failed to negatively match ACL to addr: %s",
|
||||
strerror(errno));
|
||||
+ }
|
||||
}
|
||||
|
||||
acl_str = "!www.g*g.com";
|
||||
diff --git a/tests/api/netaddr.c b/tests/api/netaddr.c
|
||||
index e79b06c..b7dbeaf 100644
|
||||
--- a/tests/api/netaddr.c
|
||||
+++ b/tests/api/netaddr.c
|
||||
@@ -424,8 +424,10 @@ START_TEST (netaddr_fnmatch_test) {
|
||||
res = pr_netaddr_fnmatch(addr, "LOCAL*", flags);
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
/* This test is sensitive the environment. */
|
||||
ck_assert_msg(res == TRUE, "Expected TRUE, got %d", res);
|
||||
+ }
|
||||
}
|
||||
|
||||
flags = PR_NETADDR_MATCH_IP;
|
||||
@@ -887,10 +889,12 @@ START_TEST (netaddr_get_dnsstr_test) {
|
||||
*/
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
/* This test is sensitive the environment. */
|
||||
ck_assert_msg(strcmp(res, "localhost") == 0 ||
|
||||
strcmp(res, "localhost.localdomain") == 0,
|
||||
"Expected '%s', got '%s'", "localhost or localhost.localdomain", res);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
END_TEST
|
||||
@@ -1011,6 +1015,7 @@ START_TEST (netaddr_get_dnsstr_ipv6_test) {
|
||||
*/
|
||||
if (getenv("CI") == NULL &&
|
||||
getenv("TRAVIS") == NULL) {
|
||||
+ if(strcmp(getenv("HOSTNAME"), "localhost") == 0 || strcmp(getenv("HOSTNAME"), "localhost.localdomain") == 0) {
|
||||
ck_assert_msg(strcmp(res, "localhost") == 0 ||
|
||||
strcmp(res, "localhost.localdomain") == 0 ||
|
||||
strcmp(res, "localhost6") == 0 ||
|
||||
@@ -1019,6 +1024,7 @@ START_TEST (netaddr_get_dnsstr_ipv6_test) {
|
||||
strcmp(res, "ip6-loopback") == 0 ||
|
||||
strcmp(res, ip) == 0,
|
||||
"Expected '%s', got '%s'", "localhost, localhost.localdomain et al", res);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
END_TEST
|
||||
--
|
||||
2.39.1
|
||||
|
||||
64
proftpd.spec
64
proftpd.spec
@ -13,16 +13,14 @@
|
||||
# Do a hardened build where possible
|
||||
%global _hardened_build 1
|
||||
|
||||
# Dynamic modules contain references to symbols in main daemon, so we need to disable linker checks for undefined symbols
|
||||
# Dynamic modules contain references to symbols in main dæmon, so we need to disable linker checks for undefined symbols
|
||||
%undefine _strict_symbol_defs_build
|
||||
|
||||
%global mod_vroot_version 0.9.11
|
||||
|
||||
%global vendor %{?_vendor:%{_vendor}}%{!?_vendor:openEuler}
|
||||
%global mod_vroot_version 0.9.9
|
||||
|
||||
Name: proftpd
|
||||
Version: 1.3.8b
|
||||
Release: 4
|
||||
Version: 1.3.7c
|
||||
Release: 3
|
||||
Summary: Flexible, stable and highly-configurable FTP server
|
||||
License: GPLv2+
|
||||
URL: http://www.proftpd.org/
|
||||
@ -38,14 +36,14 @@ Source8: proftpd-welcome.msg
|
||||
Source9: proftpd.sysconfig
|
||||
Source10: http://github.com/Castaglia/proftpd-mod_vroot/archive/v%{mod_vroot_version}.tar.gz
|
||||
|
||||
Patch1: proftpd-1.3.8-shellbang.patch
|
||||
Patch1: proftpd-1.3.7-shellbang.patch
|
||||
Patch2: proftpd.conf-no-memcached.patch
|
||||
Patch3: proftpd-1.3.4rc1-mod_vroot-test.patch
|
||||
Patch4: proftpd-1.3.6-no-mod-wrap.patch
|
||||
Patch5: proftpd-1.3.6-no-mod-geoip.patch
|
||||
Patch6: proftpd-1.3.7rc3-logging-not-systemd.patch
|
||||
Patch7: proftpd-1.3.8-fix-environment-sensitive-tests-failure.patch
|
||||
Patch8: huawei-proftpd-service-add-restart.patch
|
||||
Patch7: proftpd-1.3.7a-Adjusting-unit-test-timeouts-for-netacl.patch
|
||||
Patch8: proftpd-1.3.7a-fix-environment-sensitive-tests-failure.patch
|
||||
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: gcc
|
||||
@ -62,7 +60,7 @@ BuildRequires: pcre-devel >= 7.0
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: pkgconfig
|
||||
%if %{?vendor:1}0
|
||||
%if %{?openEuler:1}0
|
||||
BuildRequires: postgresql-devel
|
||||
%endif
|
||||
BuildRequires: sed
|
||||
@ -70,10 +68,6 @@ BuildRequires: sqlite-devel
|
||||
BuildRequires: tar
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: libidn2-devel
|
||||
BuildRequires: libmemcached-devel >= 0.41
|
||||
BuildRequires: pcre2-devel >= 10.30
|
||||
BuildRequires: tcp_wrappers-devel
|
||||
|
||||
# Test suite requirements
|
||||
BuildRequires: check-devel
|
||||
@ -111,8 +105,6 @@ Requires(preun): chkconfig, initscripts
|
||||
Requires(postun): initscripts
|
||||
%endif
|
||||
|
||||
Requires: coreutils
|
||||
|
||||
Provides: ftpserver
|
||||
|
||||
%description
|
||||
@ -144,15 +136,11 @@ Requires: openssl-devel
|
||||
Requires: pam-devel
|
||||
Requires: pcre-devel
|
||||
Requires: pkgconfig
|
||||
%if %{?vendor:1}0
|
||||
%if %{?openEuler:1}0
|
||||
Requires: postgresql-devel
|
||||
%endif
|
||||
Requires: sqlite-devel
|
||||
Requires: zlib-devel
|
||||
Requires: libmemcached-devel >= 0.41
|
||||
Requires: pcre2-devel >= 10.30
|
||||
Requires: tcp_wrappers-devel
|
||||
|
||||
|
||||
%description devel
|
||||
This package is required to build additional modules for ProFTPD.
|
||||
@ -171,7 +159,7 @@ Requires: %{name} = %{version}-%{release}
|
||||
%description mysql
|
||||
Module to add MySQL support to the ProFTPD FTP server.
|
||||
|
||||
%if %{?vendor:1}0
|
||||
%if %{?openEuler:1}0
|
||||
%package postgresql
|
||||
Summary: Module to add PostgreSQL support to the ProFTPD FTP server
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
@ -266,7 +254,7 @@ find doc/ contrib/ -name '*.orig' -delete
|
||||
|
||||
%build
|
||||
# Modules to be built as DSO's (excluding mod_ifsession, always specified last)
|
||||
%if %{?vendor:1}0
|
||||
%if %{?openEuler:1}0
|
||||
SMOD1=mod_sql:mod_sql_passwd:mod_sql_mysql:mod_sql_postgres:mod_sql_sqlite
|
||||
%else
|
||||
SMOD1=mod_sql:mod_sql_passwd:mod_sql_mysql:mod_sql_sqlite
|
||||
@ -282,8 +270,6 @@ SMOD7=mod_unique_id
|
||||
--libexecdir="%{_libexecdir}/proftpd" \
|
||||
--localstatedir="%{rundir}/proftpd" \
|
||||
--disable-strip \
|
||||
--enable-memcache \
|
||||
--enable-pcre2 \
|
||||
--enable-ctrls \
|
||||
--enable-dso \
|
||||
--enable-facl \
|
||||
@ -364,10 +350,6 @@ fi
|
||||
%endif
|
||||
|
||||
%post
|
||||
if [ ! -f /var/run/proftpd/proftpd.delay ]; then
|
||||
touch /var/run/proftpd/proftpd.delay
|
||||
fi
|
||||
chcon -t user_home_t /var/run/proftpd/proftpd.delay
|
||||
%if %{use_systemd}
|
||||
systemctl daemon-reload &>/dev/null || :
|
||||
%endif
|
||||
@ -391,7 +373,6 @@ fi
|
||||
%preun
|
||||
if [ $1 -eq 0 ]; then
|
||||
# Package removal, not upgrade
|
||||
rm -rf /var/run/proftpd/proftpd.delay
|
||||
%if %{use_systemd}
|
||||
systemctl --no-reload disable proftpd.service &>/dev/null || :
|
||||
systemctl stop proftpd.service &>/dev/null || :
|
||||
@ -520,7 +501,7 @@ fi
|
||||
%files mysql
|
||||
%{_libexecdir}/proftpd/mod_sql_mysql.so
|
||||
|
||||
%if %{?vendor:1}0
|
||||
%if %{?openEuler:1}0
|
||||
%files postgresql
|
||||
%{_libexecdir}/proftpd/mod_sql_postgres.so
|
||||
%endif
|
||||
@ -544,27 +525,6 @@ fi
|
||||
%{_mandir}/man1/ftpwho.1*
|
||||
|
||||
%changelog
|
||||
* Fri Jan 12 2024 chengyechun <chengyechun1@huawei.com> - 1.3.8b-4
|
||||
- Type:requirement
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add Restart in proftpd.service
|
||||
|
||||
* Fri Jan 05 2024 Ge Wang <wang__ge@126.com> - 1.3.8b-3
|
||||
- Fix service error message due to selinux policy mismatch
|
||||
|
||||
* Fri Dec 29 2023 wangkai <13474090681@163.com> - 1.3.8b-2
|
||||
- Adjust patch number
|
||||
|
||||
* Tue Dec 26 2023 wangkai <13474090681@163.com> - 1.3.8b-1
|
||||
- Update to 1.3.8b for fix CVE-2023-51713,CVE-2023-48795
|
||||
|
||||
* Tue Apr 11 2023 chenchen <chen_aka_jan@163.com> - 1.3.8-1
|
||||
- Update to 1.3.8
|
||||
|
||||
* Fri Nov 18 2022 caodongxia <caodongxia@h-partners.com> - 1.3.7c-4
|
||||
- Replace openEuler with vendor macro
|
||||
|
||||
* Thu Mar 17 2022 gaihuiying <eaglegai@163.com> - 1.3.7c-3
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
|
||||
BIN
v0.9.11.tar.gz
BIN
v0.9.11.tar.gz
Binary file not shown.
BIN
v0.9.9.tar.gz
Normal file
BIN
v0.9.9.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user