On Tue, Jun 23, 2015 at 06:03:48PM +0200, Sebastien Marie wrote:
> On Tue, Jun 23, 2015 at 04:54:22PM +0200, Sebastien Marie wrote:
> > 
> > the matched substrings should be escaped with url_encoded() before
> > expansion.
> > 
> 
> Here the patch to address the escaping problem.
> 
> OK?
> 

Yes, OK

Reyk

> -- 
> Sebastien Marie
> 
> Index: server_http.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/httpd/server_http.c,v
> retrieving revision 1.83
> diff -u -p -r1.83 server_http.c
> --- server_http.c     23 Jun 2015 15:23:14 -0000      1.83
> +++ server_http.c     23 Jun 2015 16:00:40 -0000
> @@ -911,8 +911,11 @@ server_expand_http(struct client *clt, c
>                       return (NULL);
>  
>               /* Expand variable with matched value */
> -             if (expand_string(buf, len, ibuf,
> -                 clt->clt_srv_match.sm_match[n]) != 0)
> +             if ((str = url_encode(clt->clt_srv_match.sm_match[n])) == NULL)
> +                     return (NULL);
> +             ret = expand_string(buf, len, ibuf, str);
> +             free(str);
> +             if (ret != 0)
>                       return (NULL);
>       }
>       if (strstr(val, "$DOCUMENT_URI") != NULL) {

-- 

Reply via email to