aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2006-02-21 16:16:09 +0000
committerDavid Shaw <[email protected]>2006-02-21 16:16:09 +0000
commite4206de3f50195955efd7ddb324719eb9d163416 (patch)
tree3b249dc446aa1b6ffe2b4434804490264341f234
parent* gpgv.c: Stub keyserver_import_ldap. (diff)
downloadgnupg-e4206de3f50195955efd7ddb324719eb9d163416.tar.gz
gnupg-e4206de3f50195955efd7ddb324719eb9d163416.zip
* curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for easier debugging.
-rw-r--r--keyserver/ChangeLog6
-rw-r--r--keyserver/curl-shim.c19
-rw-r--r--keyserver/curl-shim.h4
3 files changed, 26 insertions, 3 deletions
diff --git a/keyserver/ChangeLog b/keyserver/ChangeLog
index 815f5e302..65b7f3fad 100644
--- a/keyserver/ChangeLog
+++ b/keyserver/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-21 David Shaw <[email protected]>
+
+ * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
+ curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for
+ easier debugging.
+
2006-01-16 David Shaw <[email protected]>
* gpgkeys_hkp.c (send_key): Do not escape the '=' in the HTTP POST
diff --git a/keyserver/curl-shim.c b/keyserver/curl-shim.c
index cf8309b12..fa38abab3 100644
--- a/keyserver/curl-shim.c
+++ b/keyserver/curl-shim.c
@@ -1,7 +1,7 @@
/* curl-shim.c - Implement a small subset of the curl API in terms of
* the iobuf HTTP API
*
- * Copyright (C) 2005 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2006 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
*
@@ -88,7 +88,13 @@ curl_global_cleanup(void) {}
CURL *
curl_easy_init(void)
{
- return calloc(1,sizeof(CURL));
+ CURL *handle;
+
+ handle=calloc(1,sizeof(CURL));
+ if(handle)
+ handle->stderr=stderr;
+
+ return handle;
}
void
@@ -133,6 +139,12 @@ curl_easy_setopt(CURL *curl,CURLoption option,...)
case CURLOPT_FAILONERROR:
curl->flags.failonerror=va_arg(ap,unsigned int);
break;
+ case CURLOPT_VERBOSE:
+ curl->flags.verbose=va_arg(ap,unsigned int);
+ break;
+ case CURLOPT_STDERR:
+ curl->stderr=va_arg(ap,FILE *);
+ break;
default:
/* We ignore the huge majority of curl options */
break;
@@ -162,6 +174,9 @@ curl_easy_perform(CURL *curl)
else
proxy=getenv(HTTP_PROXY_ENV);
+ if(curl->flags.verbose)
+ fprintf(curl->stderr,"* HTTP proxy is \"%s\"\n",proxy?proxy:"null");
+
if(curl->flags.post)
{
rc=http_open(&curl->hd,HTTP_REQ_POST,curl->url,curl->auth,0,proxy);
diff --git a/keyserver/curl-shim.h b/keyserver/curl-shim.h
index f8a111466..7fee3b70f 100644
--- a/keyserver/curl-shim.h
+++ b/keyserver/curl-shim.h
@@ -1,5 +1,5 @@
/* curl-shim.h
- * Copyright (C) 2005 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2006 Free Software Foundation, Inc.
*
* This file is part of GNUPG.
*
@@ -66,10 +66,12 @@ typedef struct
void *file;
char *postfields;
unsigned int status;
+ FILE *stderr;
struct
{
unsigned int post:1;
unsigned int failonerror:1;
+ unsigned int verbose:1;
} flags;
struct http_context hd;
} CURL;