* gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key,
authorDavid Shaw <dshaw@jabberwocky.com>
Mon, 17 Jul 2006 04:11:30 +0000 (04:11 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Mon, 17 Jul 2006 04:11:30 +0000 (04:11 +0000)
send_key_keyserver): Improved version of previous fix.  Force match on
spaces in string.

keyserver/ChangeLog
keyserver/gpgkeys_hkp.c
keyserver/gpgkeys_ldap.c

index 1389924..4d68137 100644 (file)
@@ -1,3 +1,9 @@
+2006-07-16  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key,
+       send_key_keyserver): Improved version of previous fix.  Force
+       match on spaces in string.
+
 2006-07-14  David Shaw  <dshaw@jabberwocky.com>
 
        * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key,
index 52a01c0..e6de363 100644 (file)
@@ -94,7 +94,7 @@ send_key(int *eof)
   /* Read and throw away input until we see the BEGIN */
 
   while(fgets(line,MAX_LINE,input)!=NULL)
-    if(sscanf(line,"KEY %16s %5s\n",keyid,state)==2
+    if(sscanf(line,"KEY%*[ ]%16s%*[ ]%5s\n",keyid,state)==2
        && strcmp(state,"BEGIN")==0)
       {
        begin=1;
@@ -113,7 +113,7 @@ send_key(int *eof)
   /* Now slurp up everything until we see the END */
 
   while(fgets(line,MAX_LINE,input))
-    if(sscanf(line,"KEY %16s %3s\n",keyid,state)==2
+    if(sscanf(line,"KEY%*[ ]%16s%*[ ]%3s\n",keyid,state)==2
        && strcmp(state,"END")==0)
       {
        end=1;
index 6e5345e..357c874 100644 (file)
@@ -608,7 +608,7 @@ send_key(int *eof)
   /* Assemble the INFO stuff into LDAP attributes */
 
   while(fgets(line,MAX_LINE,input)!=NULL)
-    if(sscanf(line,"INFO %16s %5s\n",keyid,state)==2
+    if(sscanf(line,"INFO%*[ ]%16s%*[ ]%5s\n",keyid,state)==2
        && strcmp(state,"BEGIN")==0)
       {
        begin=1;
@@ -654,7 +654,7 @@ send_key(int *eof)
   /* Now parse each line until we see the END */
 
   while(fgets(line,MAX_LINE,input)!=NULL)
-    if(sscanf(line,"INFO %16s %3s\n",keyid,state)==2
+    if(sscanf(line,"INFO%*[ ]%16s%*[ ]%3s\n",keyid,state)==2
        && strcmp(state,"END")==0)
       {
        end=1;
@@ -676,7 +676,7 @@ send_key(int *eof)
   /* Read and throw away stdin until we see the BEGIN */
 
   while(fgets(line,MAX_LINE,input)!=NULL)
-    if(sscanf(line,"KEY %16s %5s\n",keyid,state)==2
+    if(sscanf(line,"KEY%*[ ]%16s%*[ ]%5s\n",keyid,state)==2
        && strcmp(state,"BEGIN")==0)
       {
        begin=1;
@@ -695,7 +695,7 @@ send_key(int *eof)
   /* Now slurp up everything until we see the END */
 
   while(fgets(line,MAX_LINE,input)!=NULL)
-    if(sscanf(line,"KEY %16s %3s\n",keyid,state)==2
+    if(sscanf(line,"KEY%*[ ]%16s%*[ ]%3s\n",keyid,state)==2
        && strcmp(state,"END")==0)
       {
        end=1;
@@ -816,7 +816,7 @@ send_key_keyserver(int *eof)
   /* Read and throw away stdin until we see the BEGIN */
 
   while(fgets(line,MAX_LINE,input)!=NULL)
-    if(sscanf(line,"KEY %16s %5s\n",keyid,state)==2
+    if(sscanf(line,"KEY%*[ ]%16s%*[ ]%5s\n",keyid,state)==2
        && strcmp(state,"BEGIN")==0)
       {
        begin=1;
@@ -835,7 +835,7 @@ send_key_keyserver(int *eof)
   /* Now slurp up everything until we see the END */
 
   while(fgets(line,MAX_LINE,input)!=NULL)
-    if(sscanf(line,"KEY %16s %3s\n",keyid,state)==2
+    if(sscanf(line,"KEY%*[ ]%16s%*[ ]%3s\n",keyid,state)==2
        && strcmp(state,"END")==0)
       {
        end=1;