components/apache2/patches/bug52774.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Tue, 24 Apr 2012 12:04:18 -0700
changeset 795 6344ba200d21
child 1008 85cbcf3980ca
permissions -rw-r--r--
7157313 Apache ignores RewriteRule directives for proxied requests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
795
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     1
https://issues.apache.org/bugzilla/show_bug.cgi?id=52774
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     2
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     3
--- modules/mappers/mod_rewrite.c	Tue Jan 24 11:39:31 2012
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     4
+++ modules/mappers/mod_rewrite.c	Thu Apr  5 07:37:37 2012
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     5
@@ -4266,9 +4266,13 @@
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     6
         return DECLINED;
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     7
     }
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     8
 
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     9
-    if ((r->unparsed_uri[0] == '*' && r->unparsed_uri[1] == '\0')
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    10
-        || !r->uri || r->uri[0] != '/') {
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    11
+    if ((r->unparsed_uri[0] == '*' && r->unparsed_uri[1] == '\0') || !r->uri) {
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    12
         return DECLINED;
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    13
+    } else if (r->uri[0] != '/') {
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    14
+        if (strncmp(r->uri, "http://" , 7) != 0 && 
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    15
+            strncmp(r->uri, "https://", 8 )!= 0) {
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    16
+             return DECLINED;
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    17
+        }
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    18
     }
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    19
 
6344ba200d21 7157313 Apache ignores RewriteRule directives for proxied requests
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    20
     /*