diff options
Diffstat (limited to 'src/gns/gnunet-gns-proxy.c')
-rw-r--r-- | src/gns/gnunet-gns-proxy.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gns/gnunet-gns-proxy.c b/src/gns/gnunet-gns-proxy.c index bae222499..870a34b3c 100644 --- a/src/gns/gnunet-gns-proxy.c +++ b/src/gns/gnunet-gns-proxy.c | |||
@@ -561,6 +561,11 @@ struct Socks5Request | |||
561 | char *url; | 561 | char *url; |
562 | 562 | ||
563 | /** | 563 | /** |
564 | * The urlencoded URL | ||
565 | */ | ||
566 | char *curl_url; | ||
567 | |||
568 | /** | ||
564 | * Handle to cURL | 569 | * Handle to cURL |
565 | */ | 570 | */ |
566 | CURL *curl; | 571 | CURL *curl; |
@@ -1909,6 +1914,7 @@ create_response (void *cls, | |||
1909 | return MHD_queue_response (con, | 1914 | return MHD_queue_response (con, |
1910 | MHD_HTTP_INTERNAL_SERVER_ERROR, | 1915 | MHD_HTTP_INTERNAL_SERVER_ERROR, |
1911 | curl_failure_response); | 1916 | curl_failure_response); |
1917 | s5r->url = curl_easy_escape (s5r->curl, s5r->url, strlen (s5r->url)); | ||
1912 | curl_easy_setopt (s5r->curl, | 1918 | curl_easy_setopt (s5r->curl, |
1913 | CURLOPT_HEADERFUNCTION, | 1919 | CURLOPT_HEADERFUNCTION, |
1914 | &curl_check_hdr); | 1920 | &curl_check_hdr); |
@@ -2315,8 +2321,10 @@ mhd_completed_cb (void *cls, | |||
2315 | "Finished request for %s\n", | 2321 | "Finished request for %s\n", |
2316 | s5r->url); | 2322 | s5r->url); |
2317 | GNUNET_free (s5r->url); | 2323 | GNUNET_free (s5r->url); |
2324 | curl_free (s5r->curl_url); | ||
2318 | s5r->state = SOCKS5_SOCKET_WITH_MHD; | 2325 | s5r->state = SOCKS5_SOCKET_WITH_MHD; |
2319 | s5r->url = NULL; | 2326 | s5r->url = NULL; |
2327 | s5r->curl_url = NULL; | ||
2320 | s5r->response = NULL; | 2328 | s5r->response = NULL; |
2321 | *con_cls = NULL; | 2329 | *con_cls = NULL; |
2322 | } | 2330 | } |