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: [email protected]
For additional commands, e-mail: [email protected]