please check r1641381 On Sun, Nov 23, 2014 at 9:59 PM, Eric Covener <[email protected]> wrote: > On Sun, Nov 23, 2014 at 9:57 PM, Eric Covener <[email protected]> wrote: >> On Fri, Jul 11, 2014 at 6:36 AM, <[email protected]> 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 > [email protected]
-- Eric Covener [email protected]
