[mod_cluster-commits] mod_cluster SVN: r783 - in trunk/native: mod_proxy_cluster and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Apr 4 10:00:15 EDT 2012
Author: jfrederic.clere at jboss.com
Date: 2012-04-04 10:00:15 -0400 (Wed, 04 Apr 2012)
New Revision: 783
Modified:
trunk/native/advertise/mod_advertise.c
trunk/native/mod_proxy_cluster/mod_proxy_cluster.c
Log:
Native part for MODCLUSTER-298.
Modified: trunk/native/advertise/mod_advertise.c
===================================================================
--- trunk/native/advertise/mod_advertise.c 2012-04-04 12:09:51 UTC (rev 782)
+++ trunk/native/advertise/mod_advertise.c 2012-04-04 14:00:15 UTC (rev 783)
@@ -284,6 +284,7 @@
{
char buf[MA_BSIZE];
char dat[APR_RFC822_DATE_LEN];
+ char add[40];
unsigned char msig[APR_MD5_DIGESTSIZE];
unsigned char ssig[APR_MD5_DIGESTSIZE * 2 + 1];
const char *asl;
@@ -319,13 +320,18 @@
n = apr_snprintf(p, l, MA_ADVERTISE_SERVER_FMT,
asl, dat, ma_sequence, ssig, magd->srvid + 1);
if (type == MA_ADVERTISE_SERVER) {
+ char *ma_advertise_srvs = mconf->ma_advertise_srvs;
+ if (strchr(ma_advertise_srvs, ':') != NULL) {
+ apr_snprintf(add, 40, "[%s]", mconf->ma_advertise_srvs);
+ ma_advertise_srvs = add;
+ }
l -= n;
n += apr_snprintf(p + n, l,
"X-Manager-Address: %s:%u" CRLF
"X-Manager-Url: %s" CRLF
"X-Manager-Protocol: %s" CRLF
"X-Manager-Host: %s" CRLF,
- mconf->ma_advertise_srvs,
+ ma_advertise_srvs,
mconf->ma_advertise_srvp,
mconf->ma_advertise_srvh,
mconf->ma_advertise_srvm,
Modified: trunk/native/mod_proxy_cluster/mod_proxy_cluster.c
===================================================================
--- trunk/native/mod_proxy_cluster/mod_proxy_cluster.c 2012-04-04 12:09:51 UTC (rev 782)
+++ trunk/native/mod_proxy_cluster/mod_proxy_cluster.c 2012-04-04 14:00:15 UTC (rev 783)
@@ -934,7 +934,10 @@
if (worker == NULL)
continue; /* skip it */
apr_snprintf(sport, sizeof(sport), ":%d", worker->port);
- url = apr_pstrcat(pool, worker->scheme, "://", worker->hostname, sport, "/", NULL);
+ if (strchr(worker->hostname, ':') != NULL)
+ url = apr_pstrcat(pool, worker->scheme, "://[", worker->hostname, "]", sport, "/", NULL);
+ else
+ url = apr_pstrcat(pool, worker->scheme, "://", worker->hostname, sport, "/", NULL);
apr_pool_create(&rrp, pool);
apr_pool_tag(rrp, "subrequest");
@@ -1616,13 +1619,16 @@
char sport[7];
char *url;
apr_snprintf(sport, sizeof(sport), ":%d", worker->port);
- url = apr_pstrcat(r->pool, worker->scheme, "://", worker->hostname, sport, "/", NULL);
+ if (strchr(worker->hostname, ':') != NULL)
+ url = apr_pstrcat(r->pool, worker->scheme, "://[", worker->hostname, "]", sport, "/", NULL);
+ else
+ url = apr_pstrcat(r->pool, worker->scheme, "://", worker->hostname, sport, "/", NULL);
worker->s->error_time = 0; /* Force retry now */
rv = proxy_cluster_try_pingpong(r, worker, url, conf, node->mess.ping, node->mess.timeout);
if (rv != APR_SUCCESS) {
worker->s->status |= PROXY_WORKER_IN_ERROR;
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
- "proxy_cluster_isup: pingpong failed");
+ "proxy_cluster_isup: pingpong %s failed", url);
return 500;
}
}
More information about the mod_cluster-commits
mailing list