aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2005-06-05 14:34:47 +0000
committerDavid Shaw <[email protected]>2005-06-05 14:34:47 +0000
commit34ff103d2acc30bb534554edf321efc137e6cad8 (patch)
treeb7a05b1d41920cda2c54e9e2e61912192c1c802c
parent* gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers that (diff)
downloadgnupg-34ff103d2acc30bb534554edf321efc137e6cad8.tar.gz
gnupg-34ff103d2acc30bb534554edf321efc137e6cad8.zip
* ksutil.c (init_ks_options, parse_ks_options): Provide a default "/"
path unless overridden by the config. Allow config to specify items multiple times and take the last specified item.
Diffstat (limited to '')
-rw-r--r--keyserver/ChangeLog6
-rw-r--r--keyserver/ksutil.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/keyserver/ChangeLog b/keyserver/ChangeLog
index b8b6658dd..d73b9e33f 100644
--- a/keyserver/ChangeLog
+++ b/keyserver/ChangeLog
@@ -1,3 +1,9 @@
+2005-06-05 David Shaw <[email protected]>
+
+ * ksutil.c (init_ks_options, parse_ks_options): Provide a default
+ "/" path unless overridden by the config. Allow config to specify
+ items multiple times and take the last specified item.
+
2005-06-04 David Shaw <[email protected]>
* gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers
diff --git a/keyserver/ksutil.c b/keyserver/ksutil.c
index 0e14e2eaf..813d1eb72 100644
--- a/keyserver/ksutil.c
+++ b/keyserver/ksutil.c
@@ -87,6 +87,12 @@ init_ks_options(void)
opt->action=KS_UNKNOWN;
opt->flags.check_cert=1;
opt->timeout=DEFAULT_KEYSERVER_TIMEOUT;
+ opt->path=strdup("/");
+ if(!opt->path)
+ {
+ free(opt);
+ opt=NULL;
+ }
}
return opt;
@@ -144,6 +150,7 @@ parse_ks_options(char *line,struct ks_options *opt)
if(sscanf(line,"HOST %" MKSTRING(MAX_HOST) "s\n",host)==1)
{
host[MAX_HOST]='\0';
+ free(opt->host);
opt->host=strdup(host);
if(!opt->host)
return KEYSERVER_NO_MEMORY;
@@ -153,6 +160,7 @@ parse_ks_options(char *line,struct ks_options *opt)
if(sscanf(line,"PORT %" MKSTRING(MAX_PORT) "s\n",port)==1)
{
port[MAX_PORT]='\0';
+ free(opt->port);
opt->port=strdup(port);
if(!opt->port)
return KEYSERVER_NO_MEMORY;
@@ -162,6 +170,7 @@ parse_ks_options(char *line,struct ks_options *opt)
if(sscanf(line,"SCHEME %" MKSTRING(MAX_SCHEME) "s\n",scheme)==1)
{
scheme[MAX_SCHEME]='\0';
+ free(opt->scheme);
opt->scheme=strdup(scheme);
if(!opt->scheme)
return KEYSERVER_NO_MEMORY;
@@ -171,6 +180,7 @@ parse_ks_options(char *line,struct ks_options *opt)
if(sscanf(line,"AUTH %" MKSTRING(MAX_AUTH) "s\n",auth)==1)
{
auth[MAX_AUTH]='\0';
+ free(opt->auth);
opt->auth=strdup(auth);
if(!opt->auth)
return KEYSERVER_NO_MEMORY;
@@ -180,6 +190,7 @@ parse_ks_options(char *line,struct ks_options *opt)
if(sscanf(line,"PATH %" MKSTRING(URLMAX_PATH) "s\n",path)==1)
{
path[URLMAX_PATH]='\0';
+ free(opt->path);
opt->path=strdup(path);
if(!opt->path)
return KEYSERVER_NO_MEMORY;
@@ -189,6 +200,7 @@ parse_ks_options(char *line,struct ks_options *opt)
if(sscanf(line,"OPAQUE %" MKSTRING(MAX_OPAQUE) "s\n",opaque)==1)
{
opaque[MAX_OPAQUE]='\0';
+ free(opt->opaque);
opt->opaque=strdup(opaque);
if(!opt->opaque)
return KEYSERVER_NO_MEMORY;