View | Details | Raw Unified | Return to bug 41798
Collapse All | Expand All

(-)mod_proxy.c (-2 / +14 lines)
Lines 507-514 Link Here
507
                    mismatch = 1;
507
                    mismatch = 1;
508
                    use_uri = r->uri;
508
                    use_uri = r->uri;
509
                }
509
                }
510
                found = apr_pstrcat(r->pool, "proxy:", ent[i].real,
510
511
                                    use_uri + len, NULL);
511
                struct iovec args[3];
512
                args[0].iov_base = "proxy:";      args[0].iov_len = 6;
513
                args[1].iov_base = (char *)ent[i].real;   args[1].iov_len = strlen(ent[i].real);
514
                args[2].iov_base = (char *)use_uri + len; args[2].iov_len = strlen(use_uri + len);
515
516
                if (use_uri == r->unparsed_uri) {
517
                    /* unparsed_uri has queries, so we need to remove it */
518
                    char *qmark = strchr(r->unparsed_uri, '?');
519
                    if (qmark != NULL) {
520
                        args[2].iov_len -= strlen(qmark);
521
                    }
522
                }
523
                found = apr_pstrcatv(r->pool, (const struct iovec *)&args, 3, NULL);
512
            }
524
            }
513
        }
525
        }
514
        if (mismatch) {
526
        if (mismatch) {

Return to bug 41798