1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-14 00:19:50 +02:00

* 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.
This commit is contained in:
David Shaw 2005-03-22 23:41:08 +00:00
parent 57b9ba5e16
commit 1517f0e945
7 changed files with 34 additions and 17 deletions

View 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> 2005-03-19 David Shaw <dshaw@jabberwocky.com>
* gpgkeys_ldap.c (main): Fix three wrong calls to fail_all(). * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().

View 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))) if (!strncmp(line,END,strlen(END)))
break; break;
} }
else if(!strncmp(line,BEGIN,strlen(BEGIN))) else if(!strncmp(line,BEGIN,strlen(BEGIN)))
{ {
fputs (line,output); print_nocr(output,line);
gotit=1; gotit=1;
} }
} }

View 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) if(strncmp(line,END,strlen(END))==0)
break; break;
} }
else else
if(strncmp(line,BEGIN,strlen(BEGIN))==0) if(strncmp(line,BEGIN,strlen(BEGIN))==0)
{ {
fputs (line,output); print_nocr(output,line);
gotit=1; gotit=1;
} }
} }

View 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) if(strncmp(line,END,strlen(END))==0)
break; break;
} }
else else
if(strncmp(line,BEGIN,strlen(BEGIN))==0) if(strncmp(line,BEGIN,strlen(BEGIN))==0)
{ {
fputs(line,output); print_nocr(output,line);
gotit=1; gotit=1;
} }
} }

View 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 */ /* Note that key-not-found is not a fatal error */
static int static int
get_key(char *getkey) get_key(char *getkey)

View 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++;
}
}

View File

@ -87,5 +87,6 @@ struct ks_options *init_ks_options(void);
void free_ks_options(struct ks_options *opt); void free_ks_options(struct ks_options *opt);
int parse_ks_options(char *line,struct ks_options *opt); int parse_ks_options(char *line,struct ks_options *opt);
const char *ks_action_to_string(enum ks_action action); const char *ks_action_to_string(enum ks_action action);
void print_nocr(FILE *stream,const char *str);
#endif /* !_KSUTIL_H_ */ #endif /* !_KSUTIL_H_ */