* keyserver.c (parse_keyserver_uri): Include the scheme in the uri
authorDavid Shaw <dshaw@jabberwocky.com>
Tue, 21 Feb 2006 05:20:08 +0000 (05:20 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Tue, 21 Feb 2006 05:20:08 +0000 (05:20 +0000)
even when we've assumed "hkp" when there was no scheme.

g10/ChangeLog
g10/keyserver.c

index 50336b6..5b6abd3 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-20  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_uri): Include the scheme in the uri
+       even when we've assumed "hkp" when there was no scheme.
+
 2006-02-14  Werner Koch  <wk@gnupg.org>
 
        * verify.c (verify_signatures): Print warning also for NO_DATA.
index 6c55144..af65ad3 100644 (file)
@@ -215,8 +215,6 @@ parse_keyserver_uri(const char *uri,int require_scheme,
 
   keyserver=xmalloc_clear(sizeof(struct keyserver_spec));
 
-  keyserver->uri=xstrdup(uri);
-
   /* Get the scheme */
 
   for(idx=uri,count=0;*idx && *idx!=':';idx++)
@@ -247,11 +245,18 @@ parse_keyserver_uri(const char *uri,int require_scheme,
       /* Assume HKP if there is no scheme */
       assume_hkp=1;
       keyserver->scheme=xstrdup("hkp");
+
+      keyserver->uri=xmalloc(strlen(keyserver->scheme)+3+strlen(uri)+1);
+      strcpy(keyserver->uri,keyserver->scheme);
+      strcat(keyserver->uri,"://");
+      strcat(keyserver->uri,uri);
     }
   else
     {
       int i;
 
+      keyserver->uri=xstrdup(uri);
+
       keyserver->scheme=xmalloc(count+1);
 
       /* Force to lowercase */