mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-08 12:44:23 +01:00
* gpgkeys_curl.c (get_key, writer): New function to wrap around fwrite to
avoid DLL access problem on win32. * gpgkeys_http.c (main, get_key): Properly pass authentication info through to the http library.
This commit is contained in:
parent
b96038387b
commit
0361c6f01b
@ -1,5 +1,11 @@
|
||||
2004-12-22 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* gpgkeys_curl.c (get_key, writer): New function to wrap around
|
||||
fwrite to avoid DLL access problem on win32.
|
||||
|
||||
* gpgkeys_http.c (main, get_key): Properly pass authentication
|
||||
info through to the http library.
|
||||
|
||||
* Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
|
||||
|
||||
* gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
|
||||
|
@ -62,6 +62,14 @@ curl_err_to_gpg_err(CURLcode error)
|
||||
}
|
||||
}
|
||||
|
||||
/* We wrap fwrite so to avoid DLL problems on Win32 (see curl faq for
|
||||
more). */
|
||||
static size_t
|
||||
writer(const void *ptr,size_t size,size_t nmemb,void *stream)
|
||||
{
|
||||
return fwrite(ptr,size,nmemb,stream);
|
||||
}
|
||||
|
||||
static int
|
||||
get_key(char *getkey)
|
||||
{
|
||||
@ -77,7 +85,7 @@ get_key(char *getkey)
|
||||
host,port[0]?":":"",port[0]?port:"",path[0]?"":"/",path);
|
||||
|
||||
curl_easy_setopt(curl,CURLOPT_URL,request);
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,fwrite);
|
||||
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,writer);
|
||||
curl_easy_setopt(curl,CURLOPT_FILE,output);
|
||||
curl_easy_setopt(curl,CURLOPT_ERRORBUFFER,errorbuffer);
|
||||
|
||||
|
@ -41,7 +41,7 @@ extern int optind;
|
||||
|
||||
static int verbose=0;
|
||||
static unsigned int http_flags=0;
|
||||
static char host[80]={'\0'},proxy[80]={'\0'},port[10]={'\0'},path[1024]={'\0'};
|
||||
static char auth[128]={'\0'},host[80]={'\0'},proxy[80]={'\0'},port[10]={'\0'},path[1024]={'\0'};
|
||||
static FILE *input=NULL,*output=NULL,*console=NULL;
|
||||
|
||||
#define BEGIN "-----BEGIN PGP PUBLIC KEY BLOCK-----"
|
||||
@ -72,8 +72,8 @@ get_key(char *getkey)
|
||||
return KEYSERVER_NO_MEMORY;
|
||||
}
|
||||
|
||||
sprintf(request,"http://%s%s%s%s%s",host,port[0]?":":"",
|
||||
port[0]?port:"",path[0]?"":"/",path);
|
||||
sprintf(request,"http://%s%s%s%s%s%s%s",auth[0]?auth:"",auth[0]?"@":"",
|
||||
host,port[0]?":":"",port[0]?port:"",path[0]?"":"/",path);
|
||||
|
||||
rc=http_open_document(&hd,request,http_flags,proxy[0]?proxy:NULL);
|
||||
if(rc!=0)
|
||||
@ -219,6 +219,12 @@ main(int argc,char *argv[])
|
||||
continue;
|
||||
}
|
||||
|
||||
if(sscanf(line,"AUTH %127s\n",auth)==1)
|
||||
{
|
||||
auth[127]='\0';
|
||||
continue;
|
||||
}
|
||||
|
||||
if(sscanf(line,"HOST %79s\n",host)==1)
|
||||
{
|
||||
host[79]='\0';
|
||||
|
Loading…
x
Reference in New Issue
Block a user