* gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in the
authorDavid Shaw <dshaw@jabberwocky.com>
Tue, 11 Mar 2003 17:42:07 +0000 (17:42 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Tue, 11 Mar 2003 17:42:07 +0000 (17:42 +0000)
armored key. (main): Accept "try-dns-srv" option.

* Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
capabilities.  Use @SRVLIBS@ to link in the resolver if we are using DNS
SRV.

keyserver/ChangeLog
keyserver/Makefile.am
keyserver/gpgkeys_hkp.c

index 8d48f75..86011ba 100644 (file)
@@ -1,3 +1,13 @@
+2003-03-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
+       the armored key.
+       (main): Accept "try-dns-srv" option.
+
+       * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
+       capabilities.  Use @SRVLIBS@ to link in the resolver if we are
+       using DNS SRV.
+
 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
 
        * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
index 93b55b0..7e90fca 100644 (file)
@@ -31,4 +31,4 @@ libexec_SCRIPTS = @GPGKEYS_MAILTO@
 noinst_SCRIPTS = gpgkeys_test
 
 gpgkeys_ldap_LDADD = @LDAPLIBS@ @NETLIBS@
-gpgkeys_hkp_LDADD = ../util/libutil.a @NETLIBS@ @INTLLIBS@
+gpgkeys_hkp_LDADD = ../util/libutil.a @NETLIBS@ @SRVLIBS@ @INTLLIBS@ @CAPLIBS@
index 207064c..7cda690 100644 (file)
@@ -40,6 +40,9 @@ unsigned int http_flags=0;
 char host[80]={'\0'},port[10]={'\0'};
 FILE *input=NULL,*output=NULL,*console=NULL;
 
+#define BEGIN "-----BEGIN PGP PUBLIC KEY BLOCK-----"
+#define END   "-----END PGP PUBLIC KEY BLOCK-----"
+
 struct keylist
 {
   char str[MAX_LINE];
@@ -271,11 +274,11 @@ get_key(char *getkey)
          if(gotit)
            {
              fprintf(output,line);
-             if(strcmp(line,"-----END PGP PUBLIC KEY BLOCK-----\n")==0)
+             if(strncmp(line,END,strlen(END))==0)
                break;
            }
          else
-           if(strcmp(line,"-----BEGIN PGP PUBLIC KEY BLOCK-----\n")==0)
+           if(strncmp(line,BEGIN,strlen(BEGIN))==0)
              {
                fprintf(output,line);
                gotit=1;
@@ -887,11 +890,23 @@ main(int argc,char *argv[])
              else
                http_flags|=HTTP_FLAG_NO_SHUTDOWN;
            }
+         else if(strcasecmp(start,"try-dns-srv")==0)
+           {
+             if(no)
+               http_flags&=~HTTP_FLAG_TRY_SRV;
+             else
+               http_flags|=HTTP_FLAG_TRY_SRV;
+           }
 
          continue;
        }
     }
 
+  /* By suggested convention, if the user gives a :port, then disable
+     SRV. */
+  if(port[0])
+    http_flags&=~HTTP_FLAG_TRY_SRV;
+
   /* If it's a GET or a SEARCH, the next thing to come in is the
      keyids.  If it's a SEND, then there are no keyids. */