aboutsummaryrefslogtreecommitdiffstats
path: root/keyserver/curl-shim.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2005-07-20 21:48:28 +0000
committerDavid Shaw <[email protected]>2005-07-20 21:48:28 +0000
commit6f0ed8571b1b17cc8d7bba23acb1c4a5c295205a (patch)
tree886fbcf62d6b0eb59da44eb33cd87537adf1cb0d /keyserver/curl-shim.c
parent* keyserver.c (curl_can_handle): New. Do a runtime check against libcurl (diff)
downloadgnupg-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.c26
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);
}