Author: rjung Date: Sun Oct 23 16:19:59 2011 New Revision: 1187916 URL: http://svn.apache.org/viewvc?rev=1187916&view=rev Log: BZ 51769: IIS: Allow URIs which contain "META-INF" or "WEB-INF" as long as they are not path components of the URI.
I kept the old stristr function, because it could be useful for something else. Modified: tomcat/jk/trunk/native/iis/jk_isapi_plugin.c tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml Modified: tomcat/jk/trunk/native/iis/jk_isapi_plugin.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/jk_isapi_plugin.c?rev=1187916&r1=1187915&r2=1187916&view=diff ============================================================================== --- tomcat/jk/trunk/native/iis/jk_isapi_plugin.c (original) +++ tomcat/jk/trunk/native/iis/jk_isapi_plugin.c Sun Oct 23 16:19:59 2011 @@ -842,12 +842,30 @@ static char *stristr(const char *s, cons return ((char *)s); } +/* + * Find the first occurrence of path in uri tokenized by "/". + * The comparison is done case insensitive. + */ +static const char *find_path_in_uri(const char *uri, const char *path) +{ + size_t len = strlen(path); + while (uri = strchr(uri, '/')) { + uri++; + if (!strncmp(uri, path, len) && + (*(uri + len) == '/' || + strlen(uri) == len)) { + return uri; + } + } + return NULL; +} + static int uri_is_web_inf(const char *uri) { - if (stristr(uri, "/web-inf")) { + if (find_path_in_uri(uri, "web-inf")) { return JK_TRUE; } - if (stristr(uri, "/meta-inf")) { + if (find_path_in_uri(uri, "meta-inf")) { return JK_TRUE; } Modified: tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml?rev=1187916&r1=1187915&r2=1187916&view=diff ============================================================================== --- tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml (original) +++ tomcat/jk/trunk/xdocs/miscellaneous/changelog.xml Sun Oct 23 16:19:59 2011 @@ -45,6 +45,10 @@ <subsection name="Native"> <changelog> <fix> + <bug>51769</bug>: IIS: Allow URIs which contain "META-INF" or + "WEB-INF" as long as they are not path components of the URI. (rjung) + </fix> + <fix> <bug>52056</bug>: HTTPD: JK request log does not always log correct response status. Fixed by refactoring JK request log to use the standard request log hook. (rjung) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org