[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/4] curl: Add sslverify option
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 3/4] curl: Add sslverify option |
Date: |
Thu, 15 May 2014 13:33:20 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 15.05.2014 um 01:28 hat Matthew Booth geschrieben:
> This allows qemu to use images over https with a self-signed certificate. It
> defaults to verifying the certificate.
>
> Signed-off-by: Matthew Booth <address@hidden>
> ---
> block/curl.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/block/curl.c b/block/curl.c
> index 1b9f2f2..43d6646 100644
> --- a/block/curl.c
> +++ b/block/curl.c
> @@ -23,6 +23,7 @@
> */
> #include "qemu-common.h"
> #include "block/block_int.h"
> +#include "qapi/qmp/qbool.h"
> #include <curl/curl.h>
>
> // #define DEBUG
> @@ -69,6 +70,7 @@ static CURLMcode __curl_multi_socket_action(CURLM
> *multi_handle,
>
> #define CURL_BLOCK_OPT_URL "url"
> #define CURL_BLOCK_OPT_READAHEAD "readahead"
> +#define CURL_BLOCK_OPT_SSLVERIFY "sslverify"
>
> struct BDRVCURLState;
>
> @@ -106,6 +108,7 @@ typedef struct BDRVCURLState {
> CURLState states[CURL_NUM_STATES];
> char *url;
> size_t readahead_size;
> + bool sslverify;
> bool accept_range;
> } BDRVCURLState;
>
> @@ -372,6 +375,7 @@ static CURLState *curl_init_state(BDRVCURLState *s)
> return NULL;
> }
> curl_easy_setopt(state->curl, CURLOPT_URL, s->url);
> + curl_easy_setopt(state->curl, CURLOPT_SSL_VERIFYPEER, s->sslverify);
block/curl.c: In function 'curl_init_state':
block/curl.c:378:1043: error: call to '_curl_easy_setopt_err_long' declared
with attribute warning: curl_easy_setopt expects a long argument for this
option [-Werror]
curl_easy_setopt(state->curl, CURLOPT_SSL_VERIFYPEER, s->sslverify);
Squashing in this hunk:
--- a/block/curl.c
+++ b/block/curl.c
@@ -375,7 +375,8 @@ static CURLState *curl_init_state(BDRVCURLState *s)
return NULL;
}
curl_easy_setopt(state->curl, CURLOPT_URL, s->url);
- curl_easy_setopt(state->curl, CURLOPT_SSL_VERIFYPEER, s->sslverify);
+ curl_easy_setopt(state->curl, CURLOPT_SSL_VERIFYPEER,
+ (long) s->sslverify);
curl_easy_setopt(state->curl, CURLOPT_TIMEOUT, 5);
curl_easy_setopt(state->curl, CURLOPT_WRITEFUNCTION,
(void *)curl_read_cb);
Kevin