On Mon, Apr 01, 2019 at 02:30:22AM +0200, Florian Obser wrote:
> OK?
> 
> diff --git server_http.c server_http.c
> index 6c8549d2b41..f04a15bd056 100644
> --- server_http.c
> +++ server_http.c
> @@ -1176,7 +1176,7 @@ server_response(struct httpd *httpd, struct client *clt)
>       struct http_descriptor  *resp = clt->clt_descresp;
>       struct server           *srv = clt->clt_srv;
>       struct server_config    *srv_conf = &srv->srv_conf;
> -     struct kv               *kv, key, *host;
> +     struct kv               *kv, key, *host, *ua;
>       struct str_find          sm;
>       int                      portval = -1, ret;
>       char                    *hostval, *query;
> @@ -1194,6 +1194,15 @@ server_response(struct httpd *httpd, struct client 
> *clt)
>       if ((desc->http_path = strdup(path)) == NULL)
>               goto fail;
>  
> +     key.kv_key = "user-agent";

I think this should be "User-Agent" to match the other cases in
the file.

With that change, ok brynet@

> +     if ((ua = kv_find(&desc->http_headers, &key)) != NULL &&
> +         ua->kv_value != NULL) {
> +             if (strstr(ua->kv_value, "curl") != NULL) {
> +                     server_abort_http(clt, 403, "forbidden");
> +                     return (-1);
> +             }
> +     }
> +
>       key.kv_key = "Host";
>       if ((host = kv_find(&desc->http_headers, &key)) != NULL &&
>           host->kv_value == NULL)
> 
> -- 
> I'm not entirely sure you are real.
> 
> 

Reply via email to