* gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
authorDavid Shaw <dshaw@jabberwocky.com>
Tue, 22 Mar 2005 23:41:08 +0000 (23:41 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Tue, 22 Mar 2005 23:41:08 +0000 (23:41 +0000)
gpgkeys_ldap.c.  Print a string, but strip out any CRs.

* gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key), gpgkeys_http.c
(get_key): Use it here when outputting key material to canonicalize
line endings.

keyserver/ChangeLog
keyserver/gpgkeys_finger.c
keyserver/gpgkeys_hkp.c
keyserver/gpgkeys_http.c
keyserver/gpgkeys_ldap.c
keyserver/ksutil.c
keyserver/ksutil.h

index a85b618..0953bd3 100644 (file)
@@ -1,3 +1,12 @@
+2005-03-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
+       gpgkeys_ldap.c.  Print a string, but strip out any CRs.
+
+       * gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key),
+       gpgkeys_http.c (get_key): Use it here when outputting key material
+       to canonicalize line endings.
+
 2005-03-19  David Shaw  <dshaw@jabberwocky.com>
 
        * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
 2005-03-19  David Shaw  <dshaw@jabberwocky.com>
 
        * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
index dab88a7..a16bbe1 100644 (file)
@@ -323,13 +323,13 @@ get_key (char *getkey)
       
       if(gotit)
         {
       
       if(gotit)
         {
-          fputs (line, output);
+         print_nocr(output,line);
           if (!strncmp(line,END,strlen(END)))
             break;
         }
       else if(!strncmp(line,BEGIN,strlen(BEGIN)))
         {
           if (!strncmp(line,END,strlen(END)))
             break;
         }
       else if(!strncmp(line,BEGIN,strlen(BEGIN)))
         {
-          fputs (line,output);
+         print_nocr(output,line);
           gotit=1;
         }
     }
           gotit=1;
         }
     }
index 6cdefc6..ec715f5 100644 (file)
@@ -267,14 +267,14 @@ get_key(char *getkey)
 
          if(gotit)
            {
 
          if(gotit)
            {
-             fputs (line, output);
+             print_nocr(output,line);
              if(strncmp(line,END,strlen(END))==0)
                break;
            }
          else
            if(strncmp(line,BEGIN,strlen(BEGIN))==0)
              {
              if(strncmp(line,END,strlen(END))==0)
                break;
            }
          else
            if(strncmp(line,BEGIN,strlen(BEGIN))==0)
              {
-               fputs (line,output);
+               print_nocr(output,line);
                gotit=1;
              }
        }
                gotit=1;
              }
        }
index b695334..ef5d794 100644 (file)
@@ -92,14 +92,14 @@ get_key(char *getkey)
 
          if(gotit)
            {
 
          if(gotit)
            {
-             fputs(line,output);
+             print_nocr(output,line);
              if(strncmp(line,END,strlen(END))==0)
                break;
            }
          else
            if(strncmp(line,BEGIN,strlen(BEGIN))==0)
              {
              if(strncmp(line,END,strlen(END))==0)
                break;
            }
          else
            if(strncmp(line,BEGIN,strlen(BEGIN))==0)
              {
-               fputs(line,output);
+               print_nocr(output,line);
                gotit=1;
              }
        }
                gotit=1;
              }
        }
index f96555e..fd99ae1 100644 (file)
@@ -953,17 +953,6 @@ build_info(const char *certid,LDAPMessage *each)
   fprintf(output,"INFO %s END\n",certid);
 }
 
   fprintf(output,"INFO %s END\n",certid);
 }
 
-static void
-print_nocr(FILE *stream,const char *str)
-{
-  while(*str)
-    {
-      if(*str!='\r')
-       fputc(*str,stream);
-      str++;
-    }
-}
-
 /* Note that key-not-found is not a fatal error */
 static int
 get_key(char *getkey)
 /* Note that key-not-found is not a fatal error */
 static int
 get_key(char *getkey)
index 0a5d779..78154c3 100644 (file)
@@ -294,3 +294,21 @@ ks_action_to_string(enum ks_action action)
 
   return "?";
 }
 
   return "?";
 }
+
+/* Canonicalize CRLF to just LF by stripping CRs.  This actually makes
+   sense, since on Unix-like machines LF is correct, and on win32-like
+   machines, our output buffer is opened in textmode and will
+   re-canonicalize line endings back to CRLF.  Since we only need to
+   handle armored keys, we don't have to worry about odd cases like
+   CRCRCR and the like. */
+
+void
+print_nocr(FILE *stream,const char *str)
+{
+  while(*str)
+    {
+      if(*str!='\r')
+       fputc(*str,stream);
+      str++;
+    }
+}
index 400dc17..120e15d 100644 (file)
@@ -87,5 +87,6 @@ struct ks_options *init_ks_options(void);
 void free_ks_options(struct ks_options *opt);
 int parse_ks_options(char *line,struct ks_options *opt);
 const char *ks_action_to_string(enum ks_action action);
 void free_ks_options(struct ks_options *opt);
 int parse_ks_options(char *line,struct ks_options *opt);
 const char *ks_action_to_string(enum ks_action action);
+void print_nocr(FILE *stream,const char *str);
 
 #endif /* !_KSUTIL_H_ */
 
 #endif /* !_KSUTIL_H_ */