Hello community,
here is the log from the commit of package pound for openSUSE:Factory
checked in at Fri Aug 7 23:59:28 CEST 2009.
--------
--- pound/pound.changes 2008-08-19 18:03:23.000000000 +0200
+++ pound/pound.changes 2009-08-06 11:49:08.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Aug 6 09:39:36 UTC 2009 - joe@novell.com
+
+- update to version 2.4.5 (various bug fixes, enhancements in
+ xHTTP 3 and 4 support)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
Pound-2.4.3.tar.bz2
New:
----
Pound-2.4.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pound.spec ++++++
--- /var/tmp/diff_new_pack.waY9hp/_old 2009-08-07 23:56:22.000000000 +0200
+++ /var/tmp/diff_new_pack.waY9hp/_new 2009-08-07 23:56:22.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package pound (Version 2.4.3)
+# spec file for package pound (Version 2.4.5)
#
-# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,11 +20,11 @@
Name: pound
BuildRequires: openssl-devel
-License: GPL v3 or later; Other uncritical OpenSource License; X11/MIT
+License: GPL v3 or later ; Other uncritical OpenSource License ; MIT License (or similar)
Group: Productivity/Networking/Web/Proxy
Summary: Reverse-Proxy and Load-Balancer
Url: http://www.apsis.ch/pound/
-Version: 2.4.3
+Version: 2.4.5
Release: 1
Source0: Pound-%version.tar.bz2
Source1: pound.cfg
@@ -46,7 +46,7 @@
Robert Segall
%package doc
-License: GPL v2 or later; Other uncritical OpenSource License; X11/MIT
+License: GPL v2 or later ; Other uncritical OpenSource License ; MIT License (or similar)
Summary: Doumentation for pound
Group: Documentation/Other
++++++ Pound-2.4.3.tar.bz2 -> Pound-2.4.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/CHANGELOG new/Pound-2.4.5/CHANGELOG
--- old/Pound-2.4.3/CHANGELOG 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/CHANGELOG 2009-06-29 17:53:58.000000000 +0200
@@ -1,4 +1,41 @@
------------------------------------------------------------------------
+r61 | roseg | 2009-06-29 17:53:55 +0200 (Mon, 29 Jun 2009) | 13 lines
+
+Release 2.4.5
+
+Stable release 2.4.5
+
+Enhancements:
+ - log back-end killed/disabled/enabled (thanks to Joe Gooch and Jon Garvin)
+ - kill a BE on connection failure only if it has no HAport defined (thanks to Albert); the request may still fail!
+
+Bug fixes:
+ - fixed parantheses problems in need_rewrite (thanks to SBR)
+ - added call to free_headers in http.c (thanks to SBR)
+ - fixed maximal path length in UNIX domain sockets (thanks to Ricardo Gameiro)
+
+------------------------------------------------------------------------
+r60 | roseg | 2009-01-14 17:39:52 +0100 (Wed, 14 Jan 2009) | 18 lines
+
+Release 2.4.4
+
+Stable release 2.4.4
+
+Enhancements:
+ - added support for UNSUBSCRIBE and NOTIFY in xHTTP 3 and 4
+ - added support for BPROPFIND in xHTTP 4
+ - on SSL connections always pass the cipher used to the back-end (thanks to Magnus Sandin)
+
+Bug fixes:
+ - save and restore errno value in cur_time() (thanks to Albert)
+ - fixed problem in timer thread (thanks to Albert)
+ - added shutdown for failed socket connection (thanks to Albert)
+ - fixed problem with CC containing spaces in Makefile.in (thanks to Elan Ruusamäe)
+ - increased MAXBUF to default 4096
+ - increased T_RSA default to 30 minutes
+ - fixed a problem with Unix sockets back-ends (thanks to Ricardo Gameiro)
+
+------------------------------------------------------------------------
r59 | roseg | 2008-05-31 12:25:41 +0200 (Sat, 31 May 2008) | 11 lines
Release 2.4.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/Makefile.in new/Pound-2.4.5/Makefile.in
--- old/Pound-2.4.3/Makefile.in 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/Makefile.in 2009-06-29 17:53:58.000000000 +0200
@@ -24,7 +24,7 @@
# Tel: +41-44-920 4904
# EMail: roseg@apsis.ch
-CC="@PTHREAD_CC@"
+CC=@PTHREAD_CC@
VERSION="@PACKAGE_VERSION@"
C_SSL="@C_SSL@"
C_T_RSA="@C_T_RSA@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/README new/Pound-2.4.5/README
--- old/Pound-2.4.3/README 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/README 2009-06-29 17:53:58.000000000 +0200
@@ -128,7 +128,7 @@
--disable-super -- disable supervisor process (default: enabled)
--with-t_rsa=nnn -- timeout of the RSA ephemeral keys regeneration
- (default: 300 seconds).
+ (default: 1800 seconds).
--with-owner=owner -- name of installed binaries owner (default is
system-dependent).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/config.c new/Pound-2.4.5/config.c
--- old/Pound-2.4.3/config.c 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/config.c 2009-06-29 17:53:58.000000000 +0200
@@ -86,8 +86,8 @@
"^(GET|POST|HEAD) ([^ ]+) HTTP/1.[01]$",
"^(GET|POST|HEAD|PUT|DELETE) ([^ ]+) HTTP/1.[01]$",
"^(GET|POST|HEAD|PUT|DELETE|LOCK|UNLOCK|PROPFIND|PROPPATCH|SEARCH|MKCOL|MOVE|COPY|OPTIONS|TRACE|MKACTIVITY|CHECKOUT|MERGE|REPORT) ([^ ]+) HTTP/1.[01]$",
- "^(GET|POST|HEAD|PUT|DELETE|LOCK|UNLOCK|PROPFIND|PROPPATCH|SEARCH|MKCOL|MOVE|COPY|OPTIONS|TRACE|MKACTIVITY|CHECKOUT|MERGE|REPORT|SUBSCRIBE|BPROPPATCH|POLL|BMOVE|BCOPY|BDELETE|CONNECT) ([^ ]+) HTTP/1.[01]$",
- "^(GET|POST|HEAD|PUT|DELETE|LOCK|UNLOCK|PROPFIND|PROPPATCH|SEARCH|MKCOL|MOVE|COPY|OPTIONS|TRACE|MKACTIVITY|CHECKOUT|MERGE|REPORT|SUBSCRIBE|BPROPPATCH|POLL|BMOVE|BCOPY|BDELETE|CONNECT|RPC_IN_DATA|RPC_OUT_DATA) ([^ ]+) HTTP/1.[01]$",
+ "^(GET|POST|HEAD|PUT|DELETE|LOCK|UNLOCK|PROPFIND|PROPPATCH|SEARCH|MKCOL|MOVE|COPY|OPTIONS|TRACE|MKACTIVITY|CHECKOUT|MERGE|REPORT|SUBSCRIBE|UNSUBSCRIBE|BPROPPATCH|POLL|BMOVE|BCOPY|BDELETE|BPROPFIND|NOTIFY|CONNECT) ([^ ]+) HTTP/1.[01]$",
+ "^(GET|POST|HEAD|PUT|DELETE|LOCK|UNLOCK|PROPFIND|PROPPATCH|SEARCH|MKCOL|MOVE|COPY|OPTIONS|TRACE|MKACTIVITY|CHECKOUT|MERGE|REPORT|SUBSCRIBE|UNSUBSCRIBE|BPROPPATCH|POLL|BMOVE|BCOPY|BDELETE|BPROPFIND|NOTIFY|CONNECT|RPC_IN_DATA|RPC_OUT_DATA) ([^ ]+) HTTP/1.[01]$",
};
static int log_level = 1;
@@ -140,11 +140,18 @@
res->addr.ai_socktype = SOCK_STREAM;
res->addr.ai_family = AF_UNIX;
res->addr.ai_protocol = 0;
- if((res->addr.ai_addr = (struct sockaddr *)strdup(lin + matches[1].rm_so)) == NULL) {
+ if((res->addr.ai_addr = (struct sockaddr *)malloc(sizeof(struct sockaddr_un))) == NULL) {
logmsg(LOG_ERR, "line %d: out of memory", n_lin);
exit(1);
}
+ if((strlen(lin + matches[1].rm_so) + 1) > UNIX_PATH_MAX) {
+ logmsg(LOG_ERR, "line %d: UNIX path name too long (greater than %d)", n_lin, UNIX_PATH_MAX - 1);
+ exit(1);
+ }
res->addr.ai_addrlen = strlen(lin + matches[1].rm_so) + 1;
+ res->addr.ai_addr->sa_family = AF_UNIX;
+ strcpy(res->addr.ai_addr->sa_data, lin + matches[1].rm_so);
+ res->addr.ai_addrlen = sizeof( struct sockaddr_un );
}
has_addr = 1;
} else if(!regexec(&Port, lin, 4, matches, 0)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/configure new/Pound-2.4.5/configure
--- old/Pound-2.4.3/configure 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/configure 2009-06-29 17:53:58.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for pound 2.4.3.
+# Generated by GNU Autoconf 2.61 for pound 2.4.5.
#
# Report bugs to .
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='pound'
PACKAGE_TARNAME='pound'
-PACKAGE_VERSION='2.4.3'
-PACKAGE_STRING='pound 2.4.3'
+PACKAGE_VERSION='2.4.5'
+PACKAGE_STRING='pound 2.4.5'
PACKAGE_BUGREPORT='roseg@apsis.ch'
ac_unique_file="pound.c"
@@ -1204,7 +1204,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures pound 2.4.3 to adapt to many kinds of systems.
+\`configure' configures pound 2.4.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1270,7 +1270,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of pound 2.4.3:";;
+ short | recursive ) echo "Configuration of pound 2.4.5:";;
esac
cat <<\_ACEOF
@@ -1287,7 +1287,7 @@
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-ssl=directory location of OpenSSL package
--with-t_rsa=nnn Time-out for RSA ephemeral keys generation
- --with-maxbuf=nnn Value of the MAXBUF parameter (default: 1024)
+ --with-maxbuf=nnn Value of the MAXBUF parameter (default: 4096)
--with-owner=name The account that will own the files installed by
Pound
--with-group=name The group that will own the files installed by Pound
@@ -1366,7 +1366,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-pound configure 2.4.3
+pound configure 2.4.5
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1380,7 +1380,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by pound $as_me 2.4.3, which was
+It was created by pound $as_me 2.4.5, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -7539,7 +7539,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by pound $as_me 2.4.3, which was
+This file was extended by pound $as_me 2.4.5, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7588,7 +7588,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-pound config.status 2.4.3
+pound config.status 2.4.5
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/http.c new/Pound-2.4.5/http.c
--- old/Pound-2.4.3/http.c 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/http.c 2009-06-29 17:53:58.000000000 +0200
@@ -443,8 +443,11 @@
#ifdef HAVE_GETTIMEOFDAY
struct timeval tv;
struct timezone tz;
+ int sv_errno;
+ sv_errno = errno;
gettimeofday(&tv, &tz);
+ errno = sv_errno;
return tv.tv_sec * 1000000.0 + tv.tv_usec;
#else
return time(NULL) * 1000000.0;
@@ -484,8 +487,8 @@
int cl_11, be_11, res, chunked, n, sock, no_cont, skip, conn_closed, force_10, sock_proto;
LISTENER *lstn;
SERVICE *svc;
- BACKEND *backend, *cur_backend;
- struct addrinfo from_host;
+ BACKEND *backend, *cur_backend, *old_backend;
+ struct addrinfo from_host, z_addr;
struct sockaddr_storage from_host_addr;
BIO *cl, *be, *bb, *b64;
X509 *x509;
@@ -782,9 +785,20 @@
if(connect_nb(sock, &backend->addr, backend->to) < 0) {
str_be(buf, MAXBUF - 1, backend);
logmsg(LOG_WARNING, "(%lx) backend %s connect: %s", pthread_self(), buf, strerror(errno));
+ shutdown(sock, 2);
close(sock);
- kill_be(svc, backend, BE_KILL);
- if((backend = get_backend(svc, &from_host, url, &headers[1])) == NULL) {
+ /*
+ * kill the back-end only if no HAport is defined for it
+ * otherwise allow the HAport mechanism to do its job
+ */
+ memset(&z_addr, 0, sizeof(z_addr));
+ if(memcmp(&(backend->ha_addr), &(z_addr), sizeof(z_addr)) == 0)
+ kill_be(svc, backend, BE_KILL);
+ /*
+ * ...but make sure we don't get into a loop with the same back-end
+ */
+ old_backend = backend;
+ if((backend = get_backend(svc, &from_host, url, &headers[1])) == NULL || backend == old_backend) {
addr2str(caddr, MAXBUF - 1, &from_host, 1);
logmsg(LOG_NOTICE, "(%lx) e503 no back-end \"%s\" from %s", pthread_self(), request, caddr);
err_reply(cl, h503, lstn->err503);
@@ -884,6 +898,7 @@
logmsg(LOG_WARNING, "(%lx) e500 error write HTTPSHeader to %s: %s (%.3f sec)",
pthread_self(), buf, strerror(errno), (end_req - start_req) / 1000000.0);
err_reply(cl, h500, lstn->err500);
+ free_headers(headers);
clean_all();
pthread_exit(NULL);
}
@@ -894,6 +909,20 @@
if(cur_backend->be_type == 0 && ssl != NULL) {
SSL_CIPHER *cipher;
+ if((cipher = SSL_get_current_cipher(ssl)) != NULL) {
+ SSL_CIPHER_description(cipher, buf, MAXBUF - 1);
+ strip_eol(buf);
+ if(BIO_printf(be, "X-SSL-cipher: %s\r\n", buf) <= 0) {
+ str_be(buf, MAXBUF - 1, cur_backend);
+ end_req = cur_time();
+ logmsg(LOG_WARNING, "(%lx) e500 error write X-SSL-cipher to %s: %s (%.3f sec)",
+ pthread_self(), buf, strerror(errno), (end_req - start_req) / 1000000.0);
+ err_reply(cl, h500, lstn->err500);
+ clean_all();
+ pthread_exit(NULL);
+ }
+ }
+
if(lstn->clnt_check > 0 && x509 != NULL && (bb = BIO_new(BIO_s_mem())) != NULL) {
X509_NAME_print_ex(bb, X509_get_subject_name(x509), 8, XN_FLAG_ONELINE & ~ASN1_STRFLGS_ESC_MSB);
get_line(bb, buf, MAXBUF);
@@ -1017,19 +1046,6 @@
}
}
#endif
- if((cipher = SSL_get_current_cipher(ssl)) != NULL) {
- SSL_CIPHER_description(cipher, buf, MAXBUF - 1);
- strip_eol(buf);
- if(BIO_printf(be, "X-SSL-cipher: %s\r\n", buf) <= 0) {
- str_be(buf, MAXBUF - 1, cur_backend);
- end_req = cur_time();
- logmsg(LOG_WARNING, "(%lx) e500 error write X-SSL-cipher to %s: %s (%.3f sec)",
- pthread_self(), buf, strerror(errno), (end_req - start_req) / 1000000.0);
- err_reply(cl, h500, lstn->err500);
- clean_all();
- pthread_exit(NULL);
- }
- }
BIO_free_all(bb);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/pound.8 new/Pound-2.4.5/pound.8
--- old/Pound-2.4.3/pound.8 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/pound.8 2009-06-29 17:53:58.000000000 +0200
@@ -340,8 +340,8 @@
CHECKOUT, MERGE, REPORT).
.IP
.I 3
-additionally allow MS extensions WebDAV verbs (SUBSCRIBE, BPROPPATCH,
-POLL, BMOVE, BCOPY, BDELETE, CONNECT).
+additionally allow MS extensions WebDAV verbs (SUBSCRIBE, UNSUBSCRIBE,
+NOTIFY, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE, CONNECT).
.IP
.I 4
additionally allow MS RPC extensions verbs (RPC_IN_DATA, RPC_OUT_DATA).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/pound.h new/Pound-2.4.5/pound.h
--- old/Pound-2.4.3/pound.h 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/pound.h 2009-06-29 17:53:58.000000000 +0200
@@ -97,6 +97,11 @@
#error "Pound needs sys/un.h"
#endif
+#ifndef UNIX_PATH_MAX
+/* on Linux this is defined in linux/un.h rather than sys/un.h - go figure */
+#define UNIX_PATH_MAX 108
+#endif
+
#if HAVE_NETINET_IN_H
#include
#else
@@ -260,7 +265,7 @@
#endif /* NO_EXTERNALS */
#ifndef MAXBUF
-#define MAXBUF 1024
+#define MAXBUF 4096
#endif
#define MAXHEADERS 128
@@ -516,7 +521,7 @@
*/
#define N_RSA_KEYS 11
#ifndef T_RSA_KEYS
-#define T_RSA_KEYS 300
+#define T_RSA_KEYS 1800
#endif
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/poundctl.c new/Pound-2.4.5/poundctl.c
--- old/Pound-2.4.3/poundctl.c 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/poundctl.c 2009-06-29 17:53:58.000000000 +0200
@@ -55,36 +55,36 @@
static char *
prt_addr(const struct addrinfo *addr)
{
- static char res[64];
- char buf[64];
+ static char res[UNIX_PATH_MAX];
+ char buf[UNIX_PATH_MAX];
int port;
void *src;
- memset(buf, 0, 64);
+ memset(buf, 0, UNIX_PATH_MAX);
#ifdef HAVE_INET_NTOP
switch(addr->ai_family) {
case AF_INET:
src = (void *)&((struct sockaddr_in *)addr->ai_addr)->sin_addr.s_addr;
port = ntohs(((struct sockaddr_in *)addr->ai_addr)->sin_port);
- if(inet_ntop(AF_INET, src, buf, 63) == NULL)
- strncpy(buf, "(UNKNOWN)", 63);
+ if(inet_ntop(AF_INET, src, buf, UNIX_PATH_MAX - 1) == NULL)
+ strncpy(buf, "(UNKNOWN)", UNIX_PATH_MAX - 1);
break;
case AF_INET6:
src = (void *)&((struct sockaddr_in6 *)addr->ai_addr)->sin6_addr.s6_addr;
port = ntohs(((struct sockaddr_in6 *)addr->ai_addr)->sin6_port);
- if(inet_ntop(AF_INET6, src, buf, 63) == NULL)
- strncpy(buf, "(UNKNOWN)", 63);
+ if(inet_ntop(AF_INET6, src, buf, UNIX_PATH_MAX - 1) == NULL)
+ strncpy(buf, "(UNKNOWN)", UNIX_PATH_MAX - 1);
break;
case AF_UNIX:
- strncpy(buf, (char *)addr->ai_addr, 63);
+ strncpy(buf, (char *)addr->ai_addr, UNIX_PATH_MAX - 1);
port = 0;
break;
default:
- strncpy(buf, "(UNKNOWN)", 63);
+ strncpy(buf, "(UNKNOWN)", UNIX_PATH_MAX - 1);
port = 0;
break;
}
- snprintf(res, 63, "%s:%d", buf, port);
+ snprintf(res, UNIX_PATH_MAX - 1, "%s:%d", buf, port);
#else
#error "Pound needs inet_ntop()"
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pound-2.4.3/svc.c new/Pound-2.4.5/svc.c
--- old/Pound-2.4.3/svc.c 2008-05-31 12:25:43.000000000 +0200
+++ new/Pound-2.4.5/svc.c 2009-06-29 17:53:58.000000000 +0200
@@ -558,6 +558,7 @@
{
BACKEND *b;
int ret_val;
+ char buf[MAXBUF];
if(ret_val = pthread_mutex_lock(&svc->mut))
logmsg(LOG_WARNING, "kill_be() lock: %s", strerror(ret_val));
@@ -567,12 +568,18 @@
switch(disable_mode) {
case BE_DISABLE:
b->disabled = 1;
+ str_be(buf, MAXBUF - 1, b);
+ logmsg(LOG_NOTICE, "(%lx) BackEnd %s disabled", pthread_self(), buf);
break;
case BE_KILL:
b->alive = 0;
+ str_be(buf, MAXBUF - 1, b);
+ logmsg(LOG_NOTICE, "(%lx) BackEnd %s dead (killed)", pthread_self(), buf);
t_clean(svc->sessions, &be, sizeof(be));
break;
case BE_ENABLE:
+ str_be(buf, MAXBUF - 1, b);
+ logmsg(LOG_NOTICE, "(%lx) BackEnd %s enabled", pthread_self(), buf);
b->disabled = 0;
break;
default:
@@ -749,8 +756,8 @@
* check if the Location points to the Listener but with the wrong port or protocol
*/
if(memcmp(&be_addr.sin_addr.s_addr, &in_addr.sin_addr.s_addr, sizeof(in_addr.sin_addr.s_addr)) == 0
- && (memcmp(&be_addr.sin_port, &in_addr.sin_port, sizeof(in_addr.sin_port) != 0
- || strcasecmp(proto, (lstn->ctx == NULL)? "http": "https")))) {
+ && (memcmp(&be_addr.sin_port, &in_addr.sin_port, sizeof(in_addr.sin_port)) != 0
+ || strcasecmp(proto, (lstn->ctx == NULL)? "http": "https"))) {
free(addr.ai_addr);
return 1;
}
@@ -761,8 +768,8 @@
* check if the Location points to the Listener but with the wrong port or protocol
*/
if(memcmp(&be6_addr.sin6_addr.s6_addr, &in6_addr.sin6_addr.s6_addr, sizeof(in6_addr.sin6_addr.s6_addr)) == 0
- && (memcmp(&be6_addr.sin6_port, &in6_addr.sin6_port, sizeof(in6_addr.sin6_port) != 0
- || strcasecmp(proto, (lstn->ctx == NULL)? "http": "https")))) {
+ && (memcmp(&be6_addr.sin6_port, &in6_addr.sin6_port, sizeof(in6_addr.sin6_port)) != 0
+ || strcasecmp(proto, (lstn->ctx == NULL)? "http": "https"))) {
free(addr.ai_addr);
return 1;
}
@@ -1353,19 +1360,19 @@
if((n_remain = n_wait - (cur_time - last_time)) > 0)
sleep(n_remain);
last_time = time(NULL);
- if((last_time - last_RSA) > T_RSA_KEYS) {
+ if((last_time - last_RSA) >= T_RSA_KEYS) {
last_RSA = time(NULL);
do_RSAgen();
}
- if((last_time - last_rescale) > RESCALE_TO) {
+ if((last_time - last_rescale) >= RESCALE_TO) {
last_rescale = time(NULL);
do_rescale();
}
- if((last_time - last_alive) > alive_to) {
+ if((last_time - last_alive) >= alive_to) {
last_alive = time(NULL);
do_resurect();
}
- if((last_time - last_expire) > EXPIRE_TO) {
+ if((last_time - last_expire) >= EXPIRE_TO) {
last_expire = time(NULL);
do_expire();
}
@@ -1399,6 +1406,7 @@
write(a->control_sock, t->key, sz);
return;
}
+
IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, void *)
/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org