New releases are in progress for each of these projects and are expected to be available in the coming days. The upcoming httpd 2.2.19 will bundle new releases of apr and apr-util which correct the regressions described below. An announcement of these releases will be broadcast. Note: httpd 2.2.18 bundles apr 1.4.4 and apr-util 1.3.11. Summary of regressions: httpd 2.2.18: The ap_unescape_url_keep2f() function signature was changed. This breaks binary compatibility of a number of third-party modules. In addition, a regression in apr 1.4.4 (see below) could cause httpd to hang. apr 1.4.4: A fix in apr 1.4.4 apr_fnmatch() to address CVE-2011-0419 introduced a new vulnerability. A patch is attached and should be used if httpd workers enter a hung state (100% cpu utilization) after updating to httpd 2.2.18 or apr-util 1.4.4, or if hangs are seen in other apr applications which use apr_fnmatch(). apr-util 1.3.11: A fix to LDAP support in apr-util 1.3.11 could cause crashes with httpd's mod_authnz_ldap in some situations.
--- srclib\apr\strings\apr_fnmatch.orig Mon May 02 23:51:24 2011 +++ srclib\apr\strings\apr_fnmatch.c Wed May 18 13:09:52 2011 @@ -196,7 +196,10 @@ const char *mismatch = NULL; int matchlen = 0; - while (*pattern) + if (*pattern == '*') + goto firstsegment; + + while (*pattern && *string) { /* Match balanced slashes, starting a new segment pattern */ @@ -207,6 +210,7 @@ ++string; } +firstsegment: /* At the beginning of each segment, validate leading period behavior. */ if ((flags & APR_FNM_PERIOD) && (*string == '.')) @@ -361,9 +365,9 @@ return APR_FNM_NOMATCH; } - /* pattern is at EOS; if string is also, declare success + /* Where both pattern and string are at EOS, declare success */ - if (!*string) + if (!*string && !*pattern) return 0; /* pattern didn't match to the end of string */
--------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx