mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-22 19:58:29 +01:00
* 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.
This commit is contained in:
parent
a918d63fd5
commit
6f0ed8571b
@ -1,3 +1,16 @@
|
|||||||
|
2005-07-20 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2005-06-23 David Shaw <dshaw@jabberwocky.com>
|
2005-06-23 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
* gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
|
* gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
|
||||||
|
@ -44,10 +44,8 @@ if WITH_CURL
|
|||||||
gpgkeys_hkp_SOURCES += gpgkeys_hkp.c
|
gpgkeys_hkp_SOURCES += gpgkeys_hkp.c
|
||||||
if FAKE_CURL
|
if FAKE_CURL
|
||||||
gpgkeys_curl_SOURCES += curl-shim.c curl-shim.h
|
gpgkeys_curl_SOURCES += curl-shim.c curl-shim.h
|
||||||
gpgkeys_curl_CPPFLAGS = -DFAKE_CURL
|
|
||||||
gpgkeys_curl_LDADD = ../util/libutil.a @NETLIBS@ @SRVLIBS@ $(other_libs) @GETOPT@ @W32LIBS@
|
gpgkeys_curl_LDADD = ../util/libutil.a @NETLIBS@ @SRVLIBS@ $(other_libs) @GETOPT@ @W32LIBS@
|
||||||
gpgkeys_hkp_SOURCES += curl-shim.c curl-shim.h
|
gpgkeys_hkp_SOURCES += curl-shim.c curl-shim.h
|
||||||
gpgkeys_hkp_CPPFLAGS = -DFAKE_CURL
|
|
||||||
gpgkeys_hkp_LDADD = ../util/libutil.a @NETLIBS@ @SRVLIBS@ $(other_libs) @GETOPT@ @W32LIBS@
|
gpgkeys_hkp_LDADD = ../util/libutil.a @NETLIBS@ @SRVLIBS@ $(other_libs) @GETOPT@ @W32LIBS@
|
||||||
else
|
else
|
||||||
gpgkeys_curl_CPPFLAGS = @LIBCURL_CPPFLAGS@
|
gpgkeys_curl_CPPFLAGS = @LIBCURL_CPPFLAGS@
|
||||||
|
@ -45,6 +45,10 @@ handle_error(CURL *curl,CURLcode err,const char *str)
|
|||||||
strcpy(curl->errorbuffer,"okay");
|
strcpy(curl->errorbuffer,"okay");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CURLE_UNSUPPORTED_PROTOCOL:
|
||||||
|
strcpy(curl->errorbuffer,"unsupported protocol");
|
||||||
|
break;
|
||||||
|
|
||||||
case CURLE_COULDNT_CONNECT:
|
case CURLE_COULDNT_CONNECT:
|
||||||
strcpy(curl->errorbuffer,"couldn't connect");
|
strcpy(curl->errorbuffer,"couldn't connect");
|
||||||
break;
|
break;
|
||||||
@ -217,16 +221,26 @@ curl_easy_perform(CURL *curl)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(rc!=0)
|
switch(rc)
|
||||||
{
|
{
|
||||||
if(rc==G10ERR_NETWORK)
|
case 0:
|
||||||
errstr=strerror(errno);
|
break;
|
||||||
else
|
|
||||||
errstr=g10_errstr(rc);
|
|
||||||
|
|
||||||
|
case G10ERR_INVALID_URI:
|
||||||
|
err=CURLE_UNSUPPORTED_PROTOCOL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case G10ERR_NETWORK:
|
||||||
|
errstr=strerror(errno);
|
||||||
err=CURLE_COULDNT_CONNECT;
|
err=CURLE_COULDNT_CONNECT;
|
||||||
}
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
errstr=g10_errstr(rc);
|
||||||
|
err=CURLE_COULDNT_CONNECT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return handle_error(curl,err,errstr);
|
return handle_error(curl,err,errstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
CURLE_OK=0,
|
CURLE_OK=0,
|
||||||
|
CURLE_UNSUPPORTED_PROTOCOL=1,
|
||||||
CURLE_COULDNT_CONNECT=7,
|
CURLE_COULDNT_CONNECT=7,
|
||||||
CURLE_FTP_COULDNT_RETR_FILE=19,
|
CURLE_FTP_COULDNT_RETR_FILE=19,
|
||||||
CURLE_HTTP_RETURNED_ERROR=22,
|
CURLE_HTTP_RETURNED_ERROR=22,
|
||||||
|
@ -68,7 +68,7 @@ get_key(char *getkey)
|
|||||||
curl_easy_setopt(curl,CURLOPT_ERRORBUFFER,errorbuffer);
|
curl_easy_setopt(curl,CURLOPT_ERRORBUFFER,errorbuffer);
|
||||||
|
|
||||||
res=curl_easy_perform(curl);
|
res=curl_easy_perform(curl);
|
||||||
if(res!=0)
|
if(res!=CURLE_OK)
|
||||||
{
|
{
|
||||||
fprintf(console,"gpgkeys: %s fetch error %d: %s\n",opt->scheme,
|
fprintf(console,"gpgkeys: %s fetch error %d: %s\n",opt->scheme,
|
||||||
res,errorbuffer);
|
res,errorbuffer);
|
||||||
@ -77,7 +77,7 @@ get_key(char *getkey)
|
|||||||
else
|
else
|
||||||
fprintf(output,"\nKEY 0x%s END\n",getkey);
|
fprintf(output,"\nKEY 0x%s END\n",getkey);
|
||||||
|
|
||||||
return KEYSERVER_OK;
|
return curl_err_to_gpg_err(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -226,27 +226,6 @@ main(int argc,char *argv[])
|
|||||||
ret=KEYSERVER_SCHEME_NOT_FOUND;
|
ret=KEYSERVER_SCHEME_NOT_FOUND;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
#ifdef HTTP_VIA_LIBCURL
|
|
||||||
else if(strcasecmp(opt->scheme,"http")==0)
|
|
||||||
;
|
|
||||||
#endif /* HTTP_VIA_LIBCURL */
|
|
||||||
#ifdef HTTPS_VIA_LIBCURL
|
|
||||||
else if(strcasecmp(opt->scheme,"https")==0)
|
|
||||||
;
|
|
||||||
#endif /* HTTP_VIA_LIBCURL */
|
|
||||||
#ifdef FTP_VIA_LIBCURL
|
|
||||||
else if(strcasecmp(opt->scheme,"ftp")==0)
|
|
||||||
;
|
|
||||||
#endif /* FTP_VIA_LIBCURL */
|
|
||||||
#ifdef FTPS_VIA_LIBCURL
|
|
||||||
else if(strcasecmp(opt->scheme,"ftps")==0)
|
|
||||||
;
|
|
||||||
#endif /* FTPS_VIA_LIBCURL */
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fprintf(console,"gpgkeys: scheme `%s' not supported\n",opt->scheme);
|
|
||||||
return KEYSERVER_SCHEME_NOT_FOUND;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!opt->host)
|
if(!opt->host)
|
||||||
{
|
{
|
||||||
|
@ -342,6 +342,7 @@ curl_err_to_gpg_err(CURLcode error)
|
|||||||
switch(error)
|
switch(error)
|
||||||
{
|
{
|
||||||
case CURLE_FTP_COULDNT_RETR_FILE: return KEYSERVER_KEY_NOT_FOUND;
|
case CURLE_FTP_COULDNT_RETR_FILE: return KEYSERVER_KEY_NOT_FOUND;
|
||||||
|
case CURLE_UNSUPPORTED_PROTOCOL: return KEYSERVER_SCHEME_NOT_FOUND;
|
||||||
default: return KEYSERVER_INTERNAL_ERROR;
|
default: return KEYSERVER_INTERNAL_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user