From 6be32ac3532a2bf92804ea88f93967939155a846 Mon Sep 17 00:00:00 2001
From: Jim Jagielski <jim@apache.org>
Date: Fri, 29 Aug 2014 19:17:45 +0000
Subject: [PATCH] PR53218 Allow for longer worker names and make truncation a
 non-fatal error...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621367 13f79535-47bb-0310-9956-ffa450edef68
---
 CHANGES                           | 5 ++++-
 docs/log-message-tags/next-number | 2 +-
 modules/proxy/mod_proxy.h         | 2 +-
 modules/proxy/proxy_util.c        | 3 ++-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/CHANGES b/CHANGES
index 68e605dd18..cbdf8ef556 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
-  
+
+  *) mod_proxy: Now allow for 191 character worker names, with non-fatal
+     errors if name is truncated. PR53218. [Jim Jagielski]
+
   *) mod_ssl: Add optional function "ssl_get_tls_cb" to allow support
      for channel bindings.  [Simo Sorce <simo redhat.com>]
 
diff --git a/docs/log-message-tags/next-number b/docs/log-message-tags/next-number
index 0b17f23656..8834186ecf 100644
--- a/docs/log-message-tags/next-number
+++ b/docs/log-message-tags/next-number
@@ -1 +1 @@
-2808
+2809
diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h
index 2f4e5ef644..9bf61f890c 100644
--- a/modules/proxy/mod_proxy.h
+++ b/modules/proxy/mod_proxy.h
@@ -317,7 +317,7 @@ PROXY_WORKER_DISABLED | PROXY_WORKER_STOPPED | PROXY_WORKER_IN_ERROR )
 #define PROXY_WORKER_MAX_SCHEME_SIZE     16
 #define PROXY_WORKER_MAX_ROUTE_SIZE      96
 #define PROXY_BALANCER_MAX_ROUTE_SIZE    64
-#define PROXY_WORKER_MAX_NAME_SIZE       96
+#define PROXY_WORKER_MAX_NAME_SIZE      192
 #define PROXY_BALANCER_MAX_NAME_SIZE     64
 #define PROXY_WORKER_MAX_HOSTNAME_SIZE   96
 #define PROXY_BALANCER_MAX_HOSTNAME_SIZE 64
diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
index 726e56ad21..3f1746a2c8 100644
--- a/modules/proxy/proxy_util.c
+++ b/modules/proxy/proxy_util.c
@@ -1733,7 +1733,8 @@ PROXY_DECLARE(char *) ap_proxy_define_worker(apr_pool_t *p,
 
     ptr = apr_uri_unparse(p, &uri, APR_URI_UNP_REVEALPASSWORD);
     if (PROXY_STRNCPY(wshared->name, ptr) != APR_SUCCESS) {
-        return apr_psprintf(p, "worker name (%s) too long", ptr);
+        ap_log_error(APLOG_MARK, APLOG_ALERT, 0, ap_server_conf, APLOGNO(2808)
+        "Alert! worker name (%s) too long; truncated to: %s", ptr, wshared->name);
     }
     if (PROXY_STRNCPY(wshared->scheme, uri.scheme) != APR_SUCCESS) {
         return apr_psprintf(p, "worker scheme (%s) too long", uri.scheme);
-- 
2.40.0