diff options
author | David Shaw <[email protected]> | 2005-07-20 21:48:28 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2005-07-20 21:48:28 +0000 |
commit | 6f0ed8571b1b17cc8d7bba23acb1c4a5c295205a (patch) | |
tree | 886fbcf62d6b0eb59da44eb33cd87537adf1cb0d /keyserver/curl-shim.c | |
parent | * keyserver.c (curl_can_handle): New. Do a runtime check against libcurl (diff) | |
download | gnupg-6f0ed8571b1b17cc8d7bba23acb1c4a5c295205a.tar.gz gnupg-6f0ed8571b1b17cc8d7bba23acb1c4a5c295205a.zip |
* gpgkeys_curl.c (get_key, main): Don't try and be smart about what
protocols we handle. Directly pass them to curl or fake-curl and see if
an error comes back.
* curl-shim.h, curl-shim.c (handle_error), ksutil.c (curl_err_to_gpg_err):
Add support for CURLE_UNSUPPORTED_PROTOCOL in fake curl.
* Makefile.am: Don't need -DFAKE_CURL any longer since it's in config.h.
Diffstat (limited to '')
-rw-r--r-- | keyserver/curl-shim.c | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/keyserver/curl-shim.c b/keyserver/curl-shim.c index 8575be220..3ba52a483 100644 --- a/keyserver/curl-shim.c +++ b/keyserver/curl-shim.c @@ -45,6 +45,10 @@ handle_error(CURL *curl,CURLcode err,const char *str) strcpy(curl->errorbuffer,"okay"); break; + case CURLE_UNSUPPORTED_PROTOCOL: + strcpy(curl->errorbuffer,"unsupported protocol"); + break; + case CURLE_COULDNT_CONNECT: strcpy(curl->errorbuffer,"couldn't connect"); break; @@ -217,16 +221,26 @@ curl_easy_perform(CURL *curl) } } - if(rc!=0) + switch(rc) { - if(rc==G10ERR_NETWORK) - errstr=strerror(errno); - else - errstr=g10_errstr(rc); + case 0: + break; + + case G10ERR_INVALID_URI: + err=CURLE_UNSUPPORTED_PROTOCOL; + break; + case G10ERR_NETWORK: + errstr=strerror(errno); err=CURLE_COULDNT_CONNECT; - } + break; + default: + errstr=g10_errstr(rc); + err=CURLE_COULDNT_CONNECT; + break; + } + return handle_error(curl,err,errstr); } |