httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Covener <cove...@gmail.com>
Subject Re: svn commit: r1609680 - in /httpd/httpd/trunk/modules/proxy: mod_proxy.c mod_proxy.h proxy_util.c
Date Mon, 24 Nov 2014 12:37:03 GMT
please check r1641381

On Sun, Nov 23, 2014 at 9:59 PM, Eric Covener <covener@gmail.com> wrote:
> On Sun, Nov 23, 2014 at 9:57 PM, Eric Covener <covener@gmail.com> wrote:
>> On Fri, Jul 11, 2014 at 6:36 AM,  <jkaluza@apache.org> 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
> covener@gmail.com



-- 
Eric Covener
covener@gmail.com

Mime
View raw message