summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--changes-entries/fix_uds_filename.txt2
-rw-r--r--modules/proxy/proxy_util.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/changes-entries/fix_uds_filename.txt b/changes-entries/fix_uds_filename.txt
new file mode 100644
index 0000000000..d6c3471c7f
--- /dev/null
+++ b/changes-entries/fix_uds_filename.txt
@@ -0,0 +1,2 @@
+ *) mod_proxy: Faster unix socket path parsing in the "proxy:" URL.
+ [Yann Ylavic]
diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
index 86acaba211..c78e1e2b03 100644
--- a/modules/proxy/proxy_util.c
+++ b/modules/proxy/proxy_util.c
@@ -2274,8 +2274,8 @@ static void fix_uds_filename(request_rec *r, char **url)
if (!r || !r->filename) return;
if (!strncmp(r->filename, "proxy:", 6) &&
- (ptr2 = ap_strcasestr(r->filename, "unix:")) &&
- (ptr = ap_strchr(ptr2, '|'))) {
+ !ap_cstr_casecmpn(r->filename + 6, "unix:", 5) &&
+ (ptr2 = r->filename + 6 + 5, ptr = ap_strchr(ptr2, '|'))) {
apr_uri_t urisock;
apr_status_t rv;
*ptr = '\0';