aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--keyserver/ChangeLog3
-rw-r--r--keyserver/curl-shim.c7
-rw-r--r--keyserver/curl-shim.h2
3 files changed, 10 insertions, 2 deletions
diff --git a/keyserver/ChangeLog b/keyserver/ChangeLog
index 0539dd33a..ab689e4df 100644
--- a/keyserver/ChangeLog
+++ b/keyserver/ChangeLog
@@ -1,5 +1,8 @@
2005-06-23 David Shaw <[email protected]>
+ * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
+ Add CURLOPT_USERPWD option for HTTP auth.
+
* gpgkeys_http.c (get_key), gpgkeys_oldhkp (send_key, get_key,
search_key): No longer need to pass a proxyauth.
diff --git a/keyserver/curl-shim.c b/keyserver/curl-shim.c
index 33619df51..4828f5253 100644
--- a/keyserver/curl-shim.c
+++ b/keyserver/curl-shim.c
@@ -104,6 +104,9 @@ curl_easy_setopt(CURL *curl,CURLoption option,...)
case CURLOPT_URL:
curl->url=va_arg(ap,char *);
break;
+ case CURLOPT_USERPWD:
+ curl->auth=va_arg(ap,char *);
+ break;
case CURLOPT_WRITEFUNCTION:
curl->writer=va_arg(ap,write_func);
break;
@@ -142,7 +145,7 @@ curl_easy_perform(CURL *curl)
if(curl->flags.post)
{
- rc=http_open(&curl->hd,HTTP_REQ_POST,curl->url,0,curl->proxy);
+ rc=http_open(&curl->hd,HTTP_REQ_POST,curl->url,curl->auth,0,curl->proxy);
if(rc==0)
{
char content_len[50];
@@ -163,7 +166,7 @@ curl_easy_perform(CURL *curl)
}
else
{
- rc=http_open(&curl->hd,HTTP_REQ_GET,curl->url,0,curl->proxy);
+ rc=http_open(&curl->hd,HTTP_REQ_GET,curl->url,curl->auth,0,curl->proxy);
if(rc==0)
{
rc=http_wait_response(&curl->hd,&curl->status);
diff --git a/keyserver/curl-shim.h b/keyserver/curl-shim.h
index 36aa880a9..6c5bc4368 100644
--- a/keyserver/curl-shim.h
+++ b/keyserver/curl-shim.h
@@ -36,6 +36,7 @@ typedef enum
typedef enum
{
CURLOPT_URL,
+ CURLOPT_USERPWD,
CURLOPT_WRITEFUNCTION,
CURLOPT_FILE,
CURLOPT_ERRORBUFFER,
@@ -57,6 +58,7 @@ typedef size_t (*write_func)(char *buffer,size_t size,
typedef struct
{
char *url;
+ char *auth;
char *errorbuffer;
char *proxy;
write_func writer;