mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-17 15:44:34 +02:00
* gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg. Use
CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but backwards compatible).
This commit is contained in:
parent
ab4b98c77a
commit
f150d44a31
@ -1,3 +1,9 @@
|
|||||||
|
2004-12-22 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
|
||||||
|
Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
|
||||||
|
backwards compatible).
|
||||||
|
|
||||||
2004-12-21 David Shaw <dshaw@jabberwocky.com>
|
2004-12-21 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
* gpgkeys_ftp.c: New.
|
* gpgkeys_ftp.c: New.
|
||||||
|
@ -37,15 +37,16 @@ extern int optind;
|
|||||||
#define GET 0
|
#define GET 0
|
||||||
#define MAX_LINE 80
|
#define MAX_LINE 80
|
||||||
#define MAX_PATH 1023
|
#define MAX_PATH 1023
|
||||||
|
#define MAX_AUTH 127
|
||||||
#define MAX_HOST 79
|
#define MAX_HOST 79
|
||||||
#define MAX_PORT 9
|
#define MAX_PORT 9
|
||||||
#define MAX_URL (3+3+MAX_HOST+1+1+MAX_PORT+1+1+MAX_PATH+1+50)
|
#define MAX_URL (3+3+MAX_AUTH+1+MAX_HOST+1+1+MAX_PORT+1+1+MAX_PATH+1+50)
|
||||||
|
|
||||||
#define STRINGIFY(x) #x
|
#define STRINGIFY(x) #x
|
||||||
#define MKSTRING(x) STRINGIFY(x)
|
#define MKSTRING(x) STRINGIFY(x)
|
||||||
|
|
||||||
static int verbose=0;
|
static int verbose=0;
|
||||||
static char host[MAX_HOST+1]={'\0'},port[MAX_PORT+1]={'\0'},path[MAX_PATH+1]={'\0'};
|
static char auth[MAX_AUTH+1],host[MAX_HOST+1]={'\0'},port[MAX_PORT+1]={'\0'},path[MAX_PATH+1]={'\0'};
|
||||||
static FILE *input=NULL,*output=NULL,*console=NULL;
|
static FILE *input=NULL,*output=NULL,*console=NULL;
|
||||||
static CURL *curl;
|
static CURL *curl;
|
||||||
static char request[MAX_URL]={'\0'};
|
static char request[MAX_URL]={'\0'};
|
||||||
@ -61,12 +62,12 @@ get_key(char *getkey)
|
|||||||
|
|
||||||
fprintf(output,"KEY 0x%s BEGIN\n",getkey);
|
fprintf(output,"KEY 0x%s BEGIN\n",getkey);
|
||||||
|
|
||||||
sprintf(request,"ftp://%s%s%s%s%s",host,port[0]?":":"",
|
sprintf(request,"ftp://%s%s%s%s%s%s%s",auth[0]?auth:"",auth[0]?"@":"",
|
||||||
port[0]?port:"",path[0]?"":"/",path);
|
host,port[0]?":":"",port[0]?port:"",path[0]?"":"/",path);
|
||||||
|
|
||||||
curl_easy_setopt(curl,CURLOPT_URL,request);
|
curl_easy_setopt(curl,CURLOPT_URL,request);
|
||||||
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,fwrite);
|
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,fwrite);
|
||||||
curl_easy_setopt(curl,CURLOPT_WRITEDATA,output);
|
curl_easy_setopt(curl,CURLOPT_FILE,output);
|
||||||
curl_easy_setopt(curl,CURLOPT_ERRORBUFFER,errorbuffer);
|
curl_easy_setopt(curl,CURLOPT_ERRORBUFFER,errorbuffer);
|
||||||
|
|
||||||
if(verbose>2)
|
if(verbose>2)
|
||||||
@ -132,7 +133,7 @@ main(int argc,char *argv[])
|
|||||||
return KEYSERVER_OK;
|
return KEYSERVER_OK;
|
||||||
|
|
||||||
case 'o':
|
case 'o':
|
||||||
output=fopen(optarg,"w");
|
output=fopen(optarg,"wb");
|
||||||
if(output==NULL)
|
if(output==NULL)
|
||||||
{
|
{
|
||||||
fprintf(console,"gpgkeys: Cannot open output file `%s': %s\n",
|
fprintf(console,"gpgkeys: Cannot open output file `%s': %s\n",
|
||||||
@ -185,6 +186,12 @@ main(int argc,char *argv[])
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(sscanf(line,"AUTH %" MKSTRING(MAX_AUTH) "s\n",auth)==1)
|
||||||
|
{
|
||||||
|
host[MAX_AUTH]='\0';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(sscanf(line,"HOST %" MKSTRING(MAX_HOST) "s\n",host)==1)
|
if(sscanf(line,"HOST %" MKSTRING(MAX_HOST) "s\n",host)==1)
|
||||||
{
|
{
|
||||||
host[MAX_HOST]='\0';
|
host[MAX_HOST]='\0';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user