Re: svn commit: r1609680 - in /httpd/httpd/trunk/modules/proxy: mod_proxy.c mod_proxy.h proxy_util.c

2014-11-27 Thread Yann Ylavic
On Thu, Nov 27, 2014 at 12:36 PM, Jan Kaluža  wrote:
> On 11/24/2014 01:37 PM, Eric Covener wrote:
>>
>> please check r1641381
>
>
> Anyone against proposing r1609680 (commit from the subject) + r1641381 for
> 2.4.x?

+1

Thanks,
Yann.


Re: svn commit: r1609680 - in /httpd/httpd/trunk/modules/proxy: mod_proxy.c mod_proxy.h proxy_util.c

2014-11-27 Thread Jan Kaluža

On 11/24/2014 01:37 PM, Eric Covener wrote:

please check r1641381


Anyone against proposing r1609680 (commit from the subject) + r1641381 
for 2.4.x?


Regards,
Jan Kaluza


On Sun, Nov 23, 2014 at 9:59 PM, Eric Covener  wrote:

On Sun, Nov 23, 2014 at 9:57 PM, Eric Covener  wrote:

On Fri, Jul 11, 2014 at 6:36 AM,   wrote:

static int ap_proxy_strcmp_ematch(const char *str, const char *expected)
+{
+apr_size_t x, y;
+
+for (x = 0, y = 0; expected[y]; ++y, ++x) {
+if ((!str[x]) && (expected[y] != '
|| !apr_isdigit(expected[y + 1])))
+return -1;
+if (expected[y] == ' && apr_isdigit(expected[y + 1])) {
+while (expected[y] == ' && apr_isdigit(expected[y + 1]))
+y += 2;
+if (!expected[y])
+return 0;
+while (str[x]) {
+int ret;
+if ((ret = ap_proxy_strcmp_ematch(&str[x++], &expected[y])) != 
1)
+return ret;
+}
+return -1;
+}
+else if (expected[y] == '\\') {
+/* NUL is an invalid char! */
+if (!expected[++y])
+return -2;
+}
+if (str[x] != expected[y])
+return 1;
+}
+return (str[x] != '\0');
+}




Sorry, stray keystroke (tab?) made gmail send early.

This is breaking the common PHP-FPM recipes using unix domain sockets
in trunk e.g.

 ProxyPassMatch ^/info.php$
"unix:/var/run/php5-fpm.sock|fcgi://localhost/home/covener/SRC/httpd-trunk/built/htdocs/"

The old test accepted the worker URL being a prefix of the worker:

 strncmp(url_copy, worker->s->name, worker_name_length) == 0)

but now that doesn't happen for ProxyPassMatch.  This seems to be
due to the last return expecting str[x] to have been totally consumed
by the expected (worker) string.


--
Eric Covener
cove...@gmail.com