[packages/pound] - updated to 3.0.1, WARNING: new config syntax and location

baggins baggins at pld-linux.org
Mon Oct 25 23:32:34 CEST 2021


commit 6477195c3d8138d6c13ab8887f852c31da66f8ed
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Mon Oct 25 23:31:48 2021 +0200

    - updated to 3.0.1, WARNING: new config syntax and location

 openssl.patch          | 324 -------------------------------------------------
 pound-daemonize.patch  |  10 --
 pound-hash-UL.patch    |  24 ----
 pound-log-notice.patch |  77 ------------
 pound-logfile.patch    | 279 ------------------------------------------
 pound-man.patch        |  38 ++----
 pound.cfg              |  66 ----------
 pound.init             |   4 +-
 pound.logrotate        |  10 --
 pound.spec             |  64 +++-------
 pound.yaml             |  36 ++++++
 tcmalloc.patch         |  15 +++
 12 files changed, 81 insertions(+), 866 deletions(-)
---
diff --git a/pound.spec b/pound.spec
index c836e1f..ce1e08a 100644
--- a/pound.spec
+++ b/pound.spec
@@ -6,28 +6,24 @@
 Summary:	Pound - reverse-proxy and load-balancer
 Summary(pl.UTF-8):	Pound - reverse-proxy i load-balancer
 Name:		pound
-Version:	2.8
+Version:	3.0.1
 Release:	1
 License:	GPL v3
 Group:		Networking/Daemons
 Source0:	http://www.apsis.ch/pound/Pound-%{version}.tgz
-# Source0-md5:	e0eff16de1aa82b5505fa9939b86634a
-Source1:	%{name}.cfg
+# Source0-md5:	4f14dee286f2325c53ea646b5323e3de
+Source1:	%{name}.yaml
 Source2:	%{name}.init
 Source3:	%{name}.sysconfig
-Source4:	%{name}.logrotate
 Source5:	%{name}.tmpfiles
-Patch0:		%{name}-hash-UL.patch
-Patch1:		%{name}-logfile.patch
-Patch2:		%{name}-daemonize.patch
-Patch3:		%{name}-log-notice.patch
-Patch4:		%{name}-man.patch
-Patch5:		openssl.patch
+Patch0:		tcmalloc.patch
+Patch1:		pound-man.patch
 URL:		http://www.apsis.ch/pound/
-BuildRequires:	automake
+BuildRequires:	cmake
+BuildRequires:	yaml-devel
+BuildRequires:	nanomsg-devel
+BuildRequires:	mbedtls-devel
 %{?with_tcmalloc:BuildRequires:	libtcmalloc-devel}
-BuildRequires:	openssl-devel >= 0.9.7d
-BuildRequires:	openssl-tools
 BuildRequires:	pcre-devel
 BuildRequires:	rpmbuild(macros) >= 1.644
 Requires(post,preun):	/sbin/chkconfig
@@ -41,7 +37,6 @@ Requires:	pcre >= 7.8
 Requires:	rc-scripts
 Provides:	group(pound)
 Provides:	user(pound)
-Conflicts:	logrotate < 3.7-4
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define		_sysconfdir	/etc/pound
@@ -66,35 +61,25 @@ swobodnego używania, kopiowania i rozdawania.
 %setup -q -n Pound-%{version}
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
 
 %build
-cp -f /usr/share/automake/config.sub .
-%configure \
-	--enable-super \
-	--enable-pcreposix \
-	%{__enable_disable tcmalloc} \
-	--disable-hoard \
-	--with-maxbuf=6144
+install -d build
+cd build
+%cmake ../ \
+	%{?with_tcmalloc:-DWANT_TCMALLOC:BOOL=ON}
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8,%{_sysconfdir},/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
-	$RPM_BUILD_ROOT{/var/log/{%{name},archive/%{name}},/var/run/%{name}} \
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8,%{_sysconfdir},/etc/{sysconfig,rc.d/init.d}} \
+	$RPM_BUILD_ROOT/var/run/%{name} \
 	$RPM_BUILD_ROOT%{systemdtmpfilesdir}
 
-install -p pound $RPM_BUILD_ROOT%{_sbindir}
-install -p poundctl $RPM_BUILD_ROOT%{_sbindir}
-cp -p pound.8  $RPM_BUILD_ROOT%{_mandir}/man8
-cp -p poundctl.8 $RPM_BUILD_ROOT%{_mandir}/man8
+install -p build/pound $RPM_BUILD_ROOT%{_sbindir}
+cp -p man/pound.8  $RPM_BUILD_ROOT%{_mandir}/man8
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
-cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
 
 %clean
@@ -105,13 +90,6 @@ rm -rf $RPM_BUILD_ROOT
 %useradd -u 200 -d /var/lib/%{name} -g %{name} -c "Pound Daemon" %{name}
 
 %post
-for a in access.log pound.log; do
-	if [ ! -f /var/log/%{name}/$a ]; then
-		touch /var/log/%{name}/$a
-		chown pound:pound /var/log/%{name}/$a
-		chmod 644 /var/log/%{name}/$a
-	fi
-done
 /sbin/chkconfig --add %{name}
 %service %{name} restart "Pound Daemon"
 
@@ -129,16 +107,12 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc README FAQ CHANGELOG z*.py
+%doc README.md
 %attr(755,root,root) %{_sbindir}/pound
-%attr(755,root,root) %{_sbindir}/poundctl
 %dir %{_sysconfdir}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pound.cfg
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pound.yaml
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
 %attr(754,root,root) /etc/rc.d/init.d/%{name}
 %{_mandir}/man8/*
 %{systemdtmpfilesdir}/%{name}.conf
 %dir /var/run/%{name}
-%dir %attr(751,root,root) /var/log/%{name}
-%attr(750,root,root) %dir /var/log/archive/%{name}
diff --git a/openssl.patch b/openssl.patch
deleted file mode 100644
index b413c4f..0000000
--- a/openssl.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From a2c9dde4d055ea8942afb150b7fc3a807d4e5d60 Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray at gnu.org>
-Date: Wed, 28 Feb 2018 13:44:01 +0000
-Subject: [PATCH] Support for Openssl 1.1
-
----
- .gitignore |  15 ++++++++
- config.c   |  17 +++++++--
- http.c     |  12 ++++++-
- pound.h    |   4 ++-
- svc.c      | 101 +++++++++++++++++++++++++++++++++++++++++++----------
- 5 files changed, 125 insertions(+), 24 deletions(-)
- create mode 100644 .gitignore
-
-diff --git a/config.c b/config.c
-index d41a3ee..e8fec0f 100644
---- a/config.c
-+++ b/config.c
-@@ -174,6 +174,16 @@ conf_fgets(char *buf, const int max)
-     }
- }
- 
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+# define general_name_string(n) \
-+	strndup(ASN1_STRING_get0_data(n->d.dNSName),	\
-+	        ASN1_STRING_length(n->d.dNSName) + 1)
-+#else
-+# define general_name_string(n) \
-+	strndup(ASN1_STRING_data(n->d.dNSName),	\
-+	       ASN1_STRING_length(n->d.dNSName) + 1)
-+#endif
-+
- unsigned char **
- get_subjectaltnames(X509 *x509, unsigned int *count)
- {
-@@ -194,8 +204,7 @@ get_subjectaltnames(X509 *x509, unsigned int *count)
-         name = sk_GENERAL_NAME_pop(san_stack);
-         switch(name->type) {
-             case GEN_DNS:
--                temp[local_count] = strndup(ASN1_STRING_data(name->d.dNSName), ASN1_STRING_length(name->d.dNSName)
--                                    + 1);
-+ 	        temp[local_count] = general_name_string(name);
-                 if(temp[local_count] == NULL)
-                     conf_err("out of memory");
-                 local_count++;
-@@ -565,7 +574,9 @@ parse_service(const char *svc_name)
-     pthread_mutex_init(&res->mut, NULL);
-     if(svc_name)
-         strncpy(res->name, svc_name, KEY_SIZE);
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL)    
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-     if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL)
- #else
-     if((res->sessions = lh_new(LHASH_HASH_FN(t_hash), LHASH_COMP_FN(t_cmp))) == NULL)
-diff --git a/http.c b/http.c
-index dd211e4..c8e756a 100644
---- a/http.c
-+++ b/http.c
-@@ -527,12 +527,22 @@ log_bytes(char *res, const LONG cnt)
- 
- /* Cleanup code. This should really be in the pthread_cleanup_push, except for bugs in some implementations */
- 
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+# define clear_error()
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-+# define clear_error() \
-+	if(ssl != NULL) { ERR_clear_error(); ERR_remove_thread_state(NULL); }
-+#else
-+# define clear_error() \
-+	if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); }
-+#endif
-+
- #define clean_all() {   \
-     if(ssl != NULL) { BIO_ssl_shutdown(cl); } \
-     if(be != NULL) { BIO_flush(be); BIO_reset(be); BIO_free_all(be); be = NULL; } \
-     if(cl != NULL) { BIO_flush(cl); BIO_reset(cl); BIO_free_all(cl); cl = NULL; } \
-     if(x509 != NULL) { X509_free(x509); x509 = NULL; } \
--    if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); } \
-+    clear_error(); \
- }
- 
- /*
-diff --git a/pound.h b/pound.h
-index fa22c36..9603b91 100644
---- a/pound.h
-+++ b/pound.h
-@@ -344,7 +344,9 @@ typedef struct _tn {
- /* maximal session key size */
- #define KEY_SIZE    127
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+  DEFINE_LHASH_OF(TABNODE);
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
- DECLARE_LHASH_OF(TABNODE);
- #endif
- 
-diff --git a/svc.c b/svc.c
-index 60ba488..063b92c 100644
---- a/svc.c
-+++ b/svc.c
-@@ -27,10 +27,17 @@
- 
- #include    "pound.h"
- 
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+# define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t)
-+# define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n)
-+#else
- #ifndef LHASH_OF
- #define LHASH_OF(x) LHASH
- #define CHECKED_LHASH_OF(type, h) h
- #endif
-+# define TABNODE_GET_DOWN_LOAD(t) (CHECKED_LHASH_OF(TABNODE, t)->down_load)
-+# define TABNODE_SET_DOWN_LOAD(t,n) (CHECKED_LHASH_OF(TABNODE, t)->down_load = n)
-+#endif
- 
- /*
-  * Add a new key/content pair to a hash table
-@@ -58,7 +65,9 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const
-     }
-     memcpy(t->content, content, cont_len);
-     t->last_acc = time(NULL);
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    if((old = lh_TABNODE_insert(tab, t)) != NULL) {
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-     if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) {
- #else
-     if((old = (TABNODE *)lh_insert(tab, t)) != NULL) {
-@@ -82,7 +91,9 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key)
-     TABNODE t, *res;
- 
-     t.key = key;
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) {
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-     if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) {
- #else
-     if((res = (TABNODE *)lh_retrieve(tab, &t)) != NULL) {
-@@ -102,7 +113,9 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key)
-     TABNODE t, *res;
- 
-     t.key = key;
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    if((res = lh_TABNODE_delete(tab, &t)) != NULL) {    
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-     if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) {
- #else
-     if((res = (TABNODE *)lh_delete(tab, &t)) != NULL) {
-@@ -127,7 +140,9 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a)
-     TABNODE *res;
- 
-     if(t->last_acc < a->lim)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+        if((res = lh_TABNODE_delete(a->tab, t)) != NULL) {	    
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-         if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) {
- #else
-         if((res = lh_delete(a->tab, t)) != NULL) {
-@@ -145,6 +160,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG)
- IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *)
- #endif
- 
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG);
-+#endif
-+
- /*
-  * Expire all old nodes
-  */
-@@ -156,14 +175,16 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim)
- 
-     a.tab = tab;
-     a.lim = lim;
--    down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load;
--    CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0;
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+    down_load = TABNODE_GET_DOWN_LOAD(tab);
-+    TABNODE_SET_DOWN_LOAD(tab, 0);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a);
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-     LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a);
- #else
-     lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_old), &a);
- #endif
--    CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load;
-+    TABNODE_SET_DOWN_LOAD(tab, down_load);
-     return;
- }
- 
-@@ -173,7 +194,9 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg)
-     TABNODE *res;
- 
-     if(memcmp(t->content, arg->content, arg->cont_len) == 0)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+        if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) {
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-         if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) {
- #else
-         if((res = lh_delete(arg->tab, t)) != NULL) {
-@@ -203,15 +226,16 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len
-     a.tab = tab;
-     a.content = content;
-     a.cont_len = cont_len;
--    down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load;
--    CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0;
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+    down_load = TABNODE_GET_DOWN_LOAD(tab);
-+    TABNODE_SET_DOWN_LOAD(tab, 0);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a);
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-     LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a);
- #else
-     lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_cont), &a);
- #endif
--    CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load;
--    return;
-+    TABNODE_SET_DOWN_LOAD(tab, down_load);
- }
- 
- /*
-@@ -1262,6 +1286,31 @@ RSA_tmp_callback(/* not used */SSL *ssl, /* not used */int is_export, int keylen
-     return res;
- }
- 
-+static int
-+generate_key(RSA **ret_rsa, unsigned long bits)
-+{
-+#if OPENSSL_VERSION_NUMBER > 0x00908000L
-+    int rc = 0;
-+    RSA *rsa;
-+
-+    rsa = RSA_new();
-+    if (rsa) {
-+	BIGNUM *bne = BN_new();
-+	if (BN_set_word(bne, RSA_F4))
-+	    rc = RSA_generate_key_ex(rsa, bits, bne, NULL);
-+	BN_free(bne);
-+	if (rc)
-+	    *ret_rsa = rsa;
-+	else
-+	    RSA_free(rsa);
-+    }
-+    return rc;
-+#else
-+    *ret_rsa = RSA_generate_key(bits, RSA_F4, NULL, NULL);
-+    return *ret_rsa != NULL;
-+#endif
-+}
-+
- /*
-  * Periodically regenerate ephemeral RSA keys
-  * runs every T_RSA_KEYS seconds
-@@ -1274,8 +1323,9 @@ do_RSAgen(void)
-     RSA *t_RSA1024_keys[N_RSA_KEYS];
- 
-     for(n = 0; n < N_RSA_KEYS; n++) {
--        t_RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL);
--        t_RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL);
-+        /* FIXME: Error handling */
-+        generate_key(&t_RSA512_keys[n], 512);
-+	generate_key(&t_RSA1024_keys[n], 1024);
-     }
-     if(ret_val = pthread_mutex_lock(&RSA_mut))
-         logmsg(LOG_WARNING, "thr_RSAgen() lock: %s", strerror(ret_val));
-@@ -1329,11 +1379,11 @@ init_timer(void)
-      * Pre-generate ephemeral RSA keys
-      */
-     for(n = 0; n < N_RSA_KEYS; n++) {
--        if((RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL)) == NULL) {
-+        if(!generate_key(&RSA512_keys[n], 512)) {
-             logmsg(LOG_WARNING,"RSA_generate(%d, 512) failed", n);
-             return;
-         }
--        if((RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL)) == NULL) {
-+        if(!generate_key(&RSA1024_keys[n], 1024)) {
-             logmsg(LOG_WARNING,"RSA_generate(%d, 1024) failed", n);
-             return;
-         }
-@@ -1420,6 +1470,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE, DUMP_ARG)
- IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, DUMP_ARG *)
- #endif
- 
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+IMPLEMENT_LHASH_DOALL_ARG(TABNODE,DUMP_ARG);
-+#endif
-+	
- /*
-  * write sessions to the control socket
-  */
-@@ -1430,7 +1484,9 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const
- 
-     a.control_sock = control_sock;
-     a.backends = backends;
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a);
-+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
-     LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a);
- #else
-     lh_doall_arg(sess, LHASH_DOALL_ARG_FN(t_dump), &a);
-@@ -1664,6 +1720,13 @@ thr_control(void *arg)
-     }
- }
- 
-+#ifndef SSL3_ST_SR_CLNT_HELLO_A
-+# define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT)
-+#endif
-+#ifndef SSL23_ST_SR_CLNT_HELLO_A
-+# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT)
-+#endif
-+		
- void
- SSLINFO_callback(const SSL *ssl, int where, int rc)
- {
diff --git a/pound-daemonize.patch b/pound-daemonize.patch
deleted file mode 100644
index 929554a..0000000
--- a/pound-daemonize.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- Pound-2.4.3/pound.c~	2009-01-08 15:52:17.000000000 +0200
-+++ Pound-2.4.3/pound.c	2009-01-08 16:09:23.060768420 +0200
-@@ -171,7 +171,6 @@
-     (void)umask(077);
-     control_sock = -1;
-     log_facility = -1;
--    logmsg(LOG_NOTICE, "starting...");
- 
-     signal(SIGHUP, h_shut);
-     signal(SIGINT, h_shut);
diff --git a/pound-hash-UL.patch b/pound-hash-UL.patch
deleted file mode 100644
index 0222cf5..0000000
--- a/pound-hash-UL.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urNp -x '*.orig' Pound-2.8.org/config.c Pound-2.8/config.c
---- Pound-2.8.org/config.c	2018-05-11 12:16:05.000000000 +0200
-+++ Pound-2.8/config.c	2021-10-04 21:55:51.816168060 +0200
-@@ -521,7 +521,7 @@ t_hash(const TABNODE *e)
-     char            *k;
- 
-     k = e->key;
--    res = 2166136261;
-+    res = 2166136261UL;
-     while(*k)
-         res = ((res ^ *k++) * 16777619) & 0xFFFFFFFF;
-     return res;
-diff -urNp -x '*.orig' Pound-2.8.org/svc.c Pound-2.8/svc.c
---- Pound-2.8.org/svc.c	2018-05-11 12:16:05.000000000 +0200
-+++ Pound-2.8/svc.c	2021-10-04 21:55:51.812834729 +0200
-@@ -553,7 +553,7 @@ hash_backend(BACKEND *be, int abs_pri, c
-     BACKEND         *res, *tb;
-     int             pri;
- 
--    hv = 2166136261;
-+    hv = 2166136261UL;
-     while(*key)
-         hv = ((hv ^ *key++) * 16777619) & 0xFFFFFFFF;
-     pri = hv % abs_pri;
diff --git a/pound-log-notice.patch b/pound-log-notice.patch
deleted file mode 100644
index f1192f3..0000000
--- a/pound-log-notice.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- Pound-2.7/svc.c~	2015-04-29 19:47:57.000000000 +0300
-+++ Pound-2.7/svc.c	2015-04-29 19:48:28.151076743 +0300
-@@ -1563,55 +1563,55 @@
-             break;
-         case CTRL_EN_LSTN:
-             if((lstn = sel_lstn(&cmd)) == NULL)
--                logmsg(LOG_INFO, "thr_control() bad listener %d", cmd.listener);
-+                logmsg(LOG_NOTICE, "thr_control() bad listener %d", cmd.listener);
-             else
-                 lstn->disabled = 0;
-             break;
-         case CTRL_DE_LSTN:
-             if((lstn = sel_lstn(&cmd)) == NULL)
--                logmsg(LOG_INFO, "thr_control() bad listener %d", cmd.listener);
-+                logmsg(LOG_NOTICE, "thr_control() bad listener %d", cmd.listener);
-             else
-                 lstn->disabled = 1;
-             break;
-         case CTRL_EN_SVC:
-             if((svc = sel_svc(&cmd)) == NULL)
--                logmsg(LOG_INFO, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-+                logmsg(LOG_NOTICE, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-             else
-                 svc->disabled = 0;
-             break;
-         case CTRL_DE_SVC:
-             if((svc = sel_svc(&cmd)) == NULL)
--                logmsg(LOG_INFO, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-+                logmsg(LOG_NOTICE, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-             else
-                 svc->disabled = 1;
-             break;
-         case CTRL_EN_BE:
-             if((svc = sel_svc(&cmd)) == NULL) {
--                logmsg(LOG_INFO, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-+                logmsg(LOG_NOTICE, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-                 break;
-             }
-             if((be = sel_be(&cmd)) == NULL)
--                logmsg(LOG_INFO, "thr_control() bad backend %d/%d/%d", cmd.listener, cmd.service, cmd.backend);
-+                logmsg(LOG_NOTICE, "thr_control() bad backend %d/%d/%d", cmd.listener, cmd.service, cmd.backend);
-             else
-                 kill_be(svc, be, BE_ENABLE);
-             break;
-         case CTRL_DE_BE:
-             if((svc = sel_svc(&cmd)) == NULL) {
--                logmsg(LOG_INFO, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-+                logmsg(LOG_NOTICE, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-                 break;
-             }
-             if((be = sel_be(&cmd)) == NULL)
--                logmsg(LOG_INFO, "thr_control() bad backend %d/%d/%d", cmd.listener, cmd.service, cmd.backend);
-+                logmsg(LOG_NOTICE, "thr_control() bad backend %d/%d/%d", cmd.listener, cmd.service, cmd.backend);
-             else
-                 kill_be(svc, be, BE_DISABLE);
-             break;
-         case CTRL_ADD_SESS:
-             if((svc = sel_svc(&cmd)) == NULL) {
--                logmsg(LOG_INFO, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-+                logmsg(LOG_NOTICE, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-                 break;
-             }
-             if((be = sel_be(&cmd)) == NULL) {
--                logmsg(LOG_INFO, "thr_control() bad back-end %d/%d", cmd.listener, cmd.service);
-+                logmsg(LOG_NOTICE, "thr_control() bad back-end %d/%d", cmd.listener, cmd.service);
-                 break;
-             }
-             if(ret_val = pthread_mutex_lock(&svc->mut))
-@@ -1622,7 +1622,7 @@
-             break;
-         case CTRL_DEL_SESS:
-             if((svc = sel_svc(&cmd)) == NULL) {
--                logmsg(LOG_INFO, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-+                logmsg(LOG_NOTICE, "thr_control() bad service %d/%d", cmd.listener, cmd.service);
-                 break;
-             }
-             if(ret_val = pthread_mutex_lock(&svc->mut))
diff --git a/pound-logfile.patch b/pound-logfile.patch
deleted file mode 100644
index 9603e7d..0000000
--- a/pound-logfile.patch
+++ /dev/null
@@ -1,279 +0,0 @@
-diff -urNp -x '*.orig' Pound-2.8.org/config.c Pound-2.8/config.c
---- Pound-2.8.org/config.c	2021-10-04 21:55:51.849501382 +0200
-+++ Pound-2.8/config.c	2021-10-04 21:55:51.876168039 +0200
-@@ -73,7 +73,7 @@ static CODE facilitynames[] = {
- };
- #endif
- 
--static regex_t  Empty, Comment, User, Group, RootJail, Daemon, LogFacility, LogLevel, Alive, SSLEngine, Control;
-+static regex_t  Empty, Comment, User, Group, RootJail, Daemon, LogFacility, LogFile, LogLevel, ErrorLog, Alive, SSLEngine, Control;
- static regex_t  ListenHTTP, ListenHTTPS, End, Address, Port, Cert, xHTTP, Client, CheckURL;
- static regex_t  Err414, Err500, Err501, Err503, MaxRequest, HeadRemove, RewriteLocation, RewriteDestination;
- static regex_t  Service, ServiceName, URL, HeadRequire, HeadDeny, BackEnd, Emergency, Priority, HAport, HAportAddr;
-@@ -1330,6 +1330,18 @@ parse_file(void)
-                         def_facility = facilitynames[i].c_val;
-                         break;
-                     }
-+        } else if(!regexec(&LogFile, lin, 4, matches, 0)) {
-+            lin[matches[1].rm_eo] = '\0';
-+            if((log_file = strdup(lin + matches[1].rm_so)) == NULL) {
-+                logmsg(LOG_ERR, "line %d: LogFile config: out of memory - aborted", n_lin);
-+                exit(1);
-+            }
-+        } else if(!regexec(&ErrorLog, lin, 4, matches, 0)) {
-+            lin[matches[1].rm_eo] = '\0';
-+            if((error_log = strdup(lin + matches[1].rm_so)) == NULL) {
-+                logmsg(LOG_ERR, "line %d: ErrorLog config: out of memory - aborted", n_lin);
-+                exit(1);
-+            }
-         } else if(!regexec(&Grace, lin, 4, matches, 0)) {
-             grace = atoi(lin + matches[1].rm_so);
-         } else if(!regexec(&LogLevel, lin, 4, matches, 0)) {
-@@ -1436,7 +1448,9 @@ config_parse(const int argc, char **cons
-     || regcomp(&Daemon, "^[ \t]*Daemon[ \t]+([01])[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-     || regcomp(&Threads, "^[ \t]*Threads[ \t]+([1-9][0-9]*)[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-     || regcomp(&LogFacility, "^[ \t]*LogFacility[ \t]+([a-z0-9-]+)[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-+    || regcomp(&LogFile, "^[ \t]*LogFile[ \t]+(.+)[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-     || regcomp(&LogLevel, "^[ \t]*LogLevel[ \t]+([0-5])[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-+    || regcomp(&ErrorLog, "^[ \t]*ErrorLog[ \t]+(.+)[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-     || regcomp(&Grace, "^[ \t]*Grace[ \t]+([0-9]+)[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-     || regcomp(&Alive, "^[ \t]*Alive[ \t]+([1-9][0-9]*)[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-     || regcomp(&SSLEngine, "^[ \t]*SSLEngine[ \t]+\"(.+)\"[ \t]*$", REG_ICASE | REG_NEWLINE | REG_EXTENDED)
-@@ -1572,6 +1586,8 @@ config_parse(const int argc, char **cons
-     group = NULL;
-     root_jail = NULL;
-     ctrl_name = NULL;
-+    log_file = NULL;
-+    error_log = NULL;
- 
-     numthreads = 128;
-     alive_to = 30;
-@@ -1601,7 +1617,9 @@ config_parse(const int argc, char **cons
-     regfree(&Daemon);
-     regfree(&Threads);
-     regfree(&LogFacility);
-+    regfree(&LogFile);
-     regfree(&LogLevel);
-+    regfree(&ErrorLog);
-     regfree(&Grace);
-     regfree(&Alive);
-     regfree(&SSLEngine);
-diff -urNp -x '*.orig' Pound-2.8.org/pound.c Pound-2.8/pound.c
---- Pound-2.8.org/pound.c	2018-05-11 12:16:05.000000000 +0200
-+++ Pound-2.8/pound.c	2021-10-04 21:55:51.876168039 +0200
-@@ -32,6 +32,8 @@ char        *user,              /* user
-             *group,             /* group to run as */
-             *root_jail,         /* directory to chroot to */
-             *pid_name,          /* file to record pid in */
-+            *log_file,          /* print log messages to this file, instead of syslog */
-+            *error_log,         /* print error messages to this file, instead of syslog */
-             *ctrl_name;         /* control socket name */
- 
- int         alive_to,           /* check interval for resurrection */
-@@ -54,6 +56,7 @@ regex_t HEADER,             /* Allowed h
-         AUTHORIZATION;      /* the Authorisation header */
- 
- static int  shut_down = 0;
-+static int  flush_logs = 0;
- 
- #ifndef  SOL_TCP
- /* for systems without the definition */
-@@ -183,6 +186,33 @@ get_thr_qlen(void)
-     return res;
- }
- 
-+static void
-+reopen_logs()
-+{
-+
-+    logmsg(LOG_NOTICE, "reopening logs...");
-+    // reopen logs, but check access first, as it might fail in chroot
-+    if (log_file) {
-+        if (access(log_file, F_OK) == 0 && access(log_file, W_OK) == -1) {
-+            logmsg(LOG_ERR, "%s: %s", log_file, strerror(errno));
-+        } else {
-+            stdout = freopen(log_file, "a", stdout);
-+            logmsg(LOG_ERR, "reopen stdout: %p", stdout);
-+            setlinebuf(stdout);
-+        }
-+    }
-+    if (error_log) {
-+        if (access(error_log, F_OK) == 0 && access(error_log, W_OK) == -1) {
-+            logmsg(LOG_ERR, "%s: %s", error_log, strerror(errno));
-+        } else {
-+            stderr = freopen(error_log, "a", stderr);
-+            logmsg(LOG_ERR, "reopen stderr: %p", stderr);
-+            setlinebuf(stderr);
-+        }
-+    }
-+    flush_logs = 0;
-+}
-+
- /*
-  * handle SIGTERM/SIGQUIT - exit
-  */
-@@ -220,6 +250,21 @@ h_shut(const int sig)
- }
- 
- /*
-+ * handle SIGUSR1 - reopen logs
-+ */
-+static RETSIGTYPE
-+h_reopen(const int sig)
-+{
-+    logmsg(LOG_NOTICE, "%d received signal %d - reopening logs...", getpid(), sig);
-+    if (son > 0) {
-+        reopen_logs();
-+        kill(son, sig);
-+    } else {
-+        flush_logs = 1;
-+    }
-+}
-+
-+/*
-  * Pound: the reverse-proxy/load-balancer
-  *
-  * Arguments:
-@@ -254,6 +299,7 @@ main(const int argc, char **argv)
-     signal(SIGINT, h_shut);
-     signal(SIGTERM, h_term);
-     signal(SIGQUIT, h_term);
-+    signal(SIGUSR1, h_reopen);
-     signal(SIGPIPE, SIG_IGN);
- 
-     srandom(getpid());
-@@ -386,11 +432,23 @@ main(const int argc, char **argv)
-         /* daemonize - make ourselves a subprocess. */
-         switch (fork()) {
-             case 0:
--                if(log_facility != -1) {
--                    close(0);
--                    close(1);
--                    close(2);
-+                if (error_log) {
-+                    stderr = freopen(error_log, "a", stderr);
-+                    setlinebuf(stderr);
-+                } else {
-+                    if (log_facility != -1) {
-+                        close(2);
-+                    }
-                 }
-+                if (log_file) {
-+                    stdout = freopen(log_file, "a", stdout);
-+                    setlinebuf(stdout);
-+                } else {
-+                    if (log_facility != -1) {
-+                        close(1);
-+                    }
-+                }
-+                close(0);
-                 break;
-             case -1:
-                 logmsg(LOG_ERR, "fork: %s - aborted", strerror(errno));
-@@ -448,7 +506,6 @@ main(const int argc, char **argv)
-                 logmsg(LOG_ERR, "MONITOR: worker exited (stopped?) %d, restarting...", status);
-         } else if (son == 0) {
- #endif
--
-             /* thread stuff */
-             pthread_attr_init(&attr);
-             pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
-@@ -499,6 +556,11 @@ main(const int argc, char **argv)
-                         (void)unlink(ctrl_name);
-                     exit(0);
-                 }
-+
-+				if (flush_logs) {
-+                    reopen_logs();
-+				}
-+
-                 for(lstn = listeners, i = 0; i < n_listeners; lstn = lstn->next, i++) {
-                     polls[i].events = POLLIN | POLLPRI;
-                     polls[i].revents = 0;
-diff -urNp -x '*.orig' Pound-2.8.org/pound.h Pound-2.8/pound.h
---- Pound-2.8.org/pound.h	2018-05-11 12:16:05.000000000 +0200
-+++ Pound-2.8/pound.h	2021-10-04 21:55:51.876168039 +0200
-@@ -264,6 +264,8 @@ extern char *user,              /* user
-             *group,             /* group to run as */
-             *root_jail,         /* directory to chroot to */
-             *pid_name,          /* file to record pid in */
-+            *log_file,          /* print log messages to this file, instead of syslog */
-+            *error_log,         /* print error messages to this file, instead of syslog */
-             *ctrl_name;         /* control socket name */
- 
- extern int  numthreads,         /* number of worker threads */
-diff -urNp -x '*.orig' Pound-2.8.org/svc.c Pound-2.8/svc.c
---- Pound-2.8.org/svc.c	2021-10-04 21:55:51.849501382 +0200
-+++ Pound-2.8/svc.c	2021-10-04 21:55:51.876168039 +0200
-@@ -220,49 +220,47 @@ t_clean(LHASH_OF(TABNODE) *const tab, vo
- #ifdef  HAVE_STDARG_H
- void
- logmsg(const int priority, const char *fmt, ...)
--{
--    char    buf[MAXBUF + 1];
--    va_list ap;
--    struct tm   *t_now, t_res;
--
--    buf[MAXBUF] = '\0';
--    va_start(ap, fmt);
--    vsnprintf(buf, MAXBUF, fmt, ap);
--    va_end(ap);
--    if(log_facility == -1) {
--        fprintf((priority == LOG_INFO || priority == LOG_DEBUG)? stdout: stderr, "%s\n", buf);
--    } else {
--        if(print_log)
--            printf("%s\n", buf);
--        else
--            syslog(log_facility | priority, "%s", buf);
--    }
--    return;
--}
- #else
- void
- logmsg(const int priority, const char *fmt, va_alist)
- va_dcl
-+#endif
- {
-     char    buf[MAXBUF + 1];
-     va_list ap;
-     struct tm   *t_now, t_res;
-+    int log = (priority == LOG_INFO || priority == LOG_DEBUG);
- 
-     buf[MAXBUF] = '\0';
-+#ifdef  HAVE_STDARG_H
-+    va_start(ap, fmt);
-+#else
-     va_start(ap);
-+#endif
-     vsnprintf(buf, MAXBUF, fmt, ap);
-     va_end(ap);
--    if(log_facility == -1) {
--        fprintf((priority == LOG_INFO || priority == LOG_DEBUG)? stdout: stderr, "%s\n", buf);
-+
-+    // if access log or error log are set, use them.
-+    if (log && log_file) {
-+        fprintf(stdout, "%s\n", buf);
-+        return;
-+    }
-+    if (!log && error_log) {
-+        fprintf(stderr, "%s\n", buf);
-+        return;
-+    }
-+
-+    if (log_facility == -1) {
-+        fprintf(log ? stdout : stderr, "%s\n", buf);
-     } else {
--        if(print_log)
-+        if (print_log) {
-             printf("%s\n", buf);
--        else
-+		} else {
-             syslog(log_facility | priority, "%s", buf);
-+		}
-     }
-     return;
- }
--#endif
- 
- /*
-  * Translate inet/inet6 address/port into a string
diff --git a/pound-man.patch b/pound-man.patch
index 6afc063..f8c4279 100644
--- a/pound-man.patch
+++ b/pound-man.patch
@@ -1,40 +1,20 @@
---- Pound-2.4.3/pound.8	2009-01-14 21:18:06.868543633 +0200
-+++ Pound-2.4.3/pound.8	2009-01-14 21:20:28.297957593 +0200
-@@ -155,7 +155,7 @@
- \fB\-f\fR config_file
- Location of the configuration file (see below for a full description of the format).
- Default:
--.I /usr/local/etc/pound.cfg
-+.I /etc/pound/pound.cfg
- .TP
- \fB\-p\fR pid_file
- Location of the pid file.
-@@ -163,7 +163,7 @@
+--- Pound-3.0.1/man/pound.8~	2021-08-23 17:31:52.000000000 +0200
++++ Pound-3.0.1/man/pound.8	2021-10-25 23:01:19.549793482 +0200
+@@ -131,7 +131,7 @@
  will write its own pid into this file. Normally this is used for shell
  scripts that control starting and stopping of the daemon.
  Default:
 -.I /var/run/pound.pid
 +.I /var/run/pound/pound.pid
  .PP
- In general, any number of back-end servers may be specified. Use the priority to
- affect the load distribution among unequal-performance servers.
-@@ -1107,16 +1107,16 @@
- .br
+ One (or more) copies of
+ .B Pound
+@@ -481,7 +481,7 @@
+ .RE
  .SH FILES
  .TP
--\fI/var/run/pound.nnn\fR
-+\fI/var/run/pound/pound.nnn\fR
+-\fI/var/run/pound.pid\fR
++\fI/var/run/pound/pound.pid\fR
  this is where
  .B Pound
  will attempt to record its process id.
- .TP
--\fI/usr/local/etc/pound.cfg\fR
-+\fI/etc/pound/pound.cfg\fR
- the default configuration file (the location may be changed when compiling - see the
- F_CONF flag in the Makefile).
- .TP
--\fI/usr/local/etc/pound/cert.pem\fR
-+\fI/etc/pound/cert.pem\fR
- the certificate file(s) for HTTPS. The location must be defined in the configuration
- file - this is only a suggestion. The file must contain a PEM-encoded certificate,
- optionally a certificate chain from a known Certificate Authority to your server certificate
diff --git a/pound.cfg b/pound.cfg
deleted file mode 100644
index dba5ed5..0000000
--- a/pound.cfg
+++ /dev/null
@@ -1,66 +0,0 @@
-# Default pound.cfg
-# vim:ft=sh
-#
-# Pound listens on port 80 for HTTP and port 443 for HTTPS
-# and distributes requests to 2 backends running on localhost.
-# see pound(8) for configuration directives.
-# You can enable/disable backends with poundctl(8).
-#
-
-User "pound"
-Group "pound"
-Control "/var/run/pound/pctl.sock"
-
-# Log errors to this fil
-ErrorLog /var/log/pound/pound.log
-
-# Log accesses to a file
-LogFile /var/log/pound/access.log
-
-# Specify the logging level. This value can be overridden for specific listeners.
-# 0 for no logging,
-# 1 (default) for regular logging,
-# 2 for extended logging (show chosen backend server as  well),
-# 3 for Apache-like format (Combined Log Format with Virtual Host),
-# 4 (same as 3 but without the virtual host information) and
-# 5 (same as 4 but with information about the Service and BackEnd used).
-LogLevel 4
-
-# Check for backend health every 5 secs
-Alive 5
-
-# Global Client timeout value
-Client 5
-
-# Rise from default 128
-Threads 2048
-
-ListenHTTP
-	Address 0.0.0.0
-	Port 80
-End
-
-ListenHTTPS
-	Address 0.0.0.0
-	Port 443
-	Cert "/etc/pki/pound.pem"
-
-	Disable SSLv3
-	SSLAllowClientRenegotiation 0
-	SSLHonorCipherOrder 1
-	Ciphers "ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:AES256-SHA256:!RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM"
-	AddHeader  "HTTPS: on"
-	RewriteLocation 0
-End
-
-Service
-	BackEnd
-		Address 127.0.0.1
-		Port    8000
-	End
-
-	BackEnd
-		Address 127.0.0.1
-		Port    8001
-	End
-End
diff --git a/pound.init b/pound.init
index 09ed5f2..38c8fc1 100755
--- a/pound.init
+++ b/pound.init
@@ -30,7 +30,7 @@ fi
 
 configtest() {
 	local instance="$1"
-	pound -c -f /etc/pound/$instance.cfg > /dev/null
+	pound -c -f /etc/pound/$instance.yaml > /dev/null
 }
 
 # check if the $1 instance is up
@@ -93,7 +93,7 @@ start() {
 		PIDFILE=/var/run/pound/$instance.pid
 		start-stop-daemon --start \
 			--exec /usr/sbin/pound \
-			--pidfile $PIDFILE -- -v -f /etc/pound/$instance.cfg -p $PIDFILE
+			--pidfile $PIDFILE -- -v -f /etc/pound/$instance.yaml -p $PIDFILE
 		ret=$?
 
 		if [ $ret -eq 0 ]; then
diff --git a/pound.logrotate b/pound.logrotate
deleted file mode 100644
index b3489ab..0000000
--- a/pound.logrotate
+++ /dev/null
@@ -1,10 +0,0 @@
-/var/log/pound/*.log {
-	olddir /var/log/archive/pound
-
-	create 644 pound pound
-
-	sharedscripts
-	postrotate
-		/sbin/service pound flush-logs > /dev/null
-	endscript
-}
diff --git a/pound.yaml b/pound.yaml
new file mode 100644
index 0000000..3c19907
--- /dev/null
+++ b/pound.yaml
@@ -0,0 +1,36 @@
+# Default pound.yaml
+# vim:ft=yaml
+
+Global:
+  - User: "pound"
+    Group: "pound"
+
+Backends:
+  - &be
+    Address: 127.0.0.1
+    Port: 8000
+
+HTTPListeners:
+  - Address: 0.0.0.0
+    Port: 80
+    Services:
+      - Backends:
+        - *be
+
+HTTPSListeners:
+  - Address: 0.0.0.0
+    Port: 443
+    Services:
+      - Backends:
+        - *be
+    Certificates: "/etc/pki/pound.pem"
+    Client: 60
+    Ciphers:
+      - TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
+      - TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA
+      - TLS-DHE-RSA-WITH-AES-128-CBC-SHA
+      - TLS-RSA-WITH-CAMELLIA-128-CBC-SHA
+      - TLS-RSA-WITH-AES-128-CCM
+      - TLS-RSA-WITH-AES-256-GCM-SHA384
+      - TLS-RSA-WITH-RC4-128-MD5
+      - TLS-RSA-WITH-3DES-EDE-CBC-SHA
diff --git a/tcmalloc.patch b/tcmalloc.patch
new file mode 100644
index 0000000..83bfaa1
--- /dev/null
+++ b/tcmalloc.patch
@@ -0,0 +1,15 @@
+--- Pound-3.0.1/CMakeLists.txt~	2021-08-23 17:31:52.000000000 +0200
++++ Pound-3.0.1/CMakeLists.txt	2021-10-25 22:47:18.511993405 +0200
+@@ -46,10 +46,12 @@
+ target_link_libraries(pound -lpthread)
+ target_link_libraries(pound Threads::Threads)
+ 
++if(WANT_TCMALLOC)
+ FIND_LIBRARY(TCMALLOC tcmalloc )
+ if(TCMALLOC)
+ target_link_libraries(pound -ltcmalloc)
+ endif()
++endif()
+ 
+ FIND_LIBRARY(MBEDCRYPTO mbedcrypto)
+ if(MBEDCRYPTO)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/pound.git/commitdiff/6477195c3d8138d6c13ab8887f852c31da66f8ed




More information about the pld-cvs-commit mailing list