aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
Diffstat (limited to 'g10')
-rw-r--r--g10/ChangeLog13
-rw-r--r--g10/armor.c6
-rw-r--r--g10/g10.c29
-rw-r--r--g10/tdbdump.c4
4 files changed, 45 insertions, 7 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 4788a4437..3ba8449b8 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,16 @@
+Fri Nov 19 17:15:20 CET 1999 Werner Koch <[email protected]>
+
+ * g10.c (register_extension): New...
+ (main): Use it here instead of register_cipher_extesnion.
+ (strusage): s/strusage/my_strusage/ . Made static.
+ (main): Use set_strusage().
+
+ * tdbdump.c (HEXTOBIN): Changed the name of the argument, so that
+ traditional cpp don't mess up the macros. Suggested by Jos Backus.
+
+ * armor.c (parse_header_line): Stop parsing on a only WS line too.
+ Suggested by Aric Cyr.
+
Mon Nov 15 21:36:02 CET 1999 Werner Koch <[email protected]>
* misc.c (pull_in_libs): Removed.
diff --git a/g10/armor.c b/g10/armor.c
index 38c48fbbe..053cae7ff 100644
--- a/g10/armor.c
+++ b/g10/armor.c
@@ -311,9 +311,15 @@ parse_header_line( armor_filter_context_t *afx, byte *line, unsigned len )
byte *p;
int hashes=0;
+ /* fixme: why this double check? I think the original code w/o the
+ * second check for an empty line was done from an early draft of
+ * of OpenPGP - or simply very stupid code */
if( *line == '\n' || ( len && (*line == '\r' && line[1]=='\n') ) )
return 0; /* empty line */
len = trim_trailing_ws( line, len );
+ if( !len )
+ return 0; /* WS only same as empty line */
+
p = strchr( line, ':');
if( !p || !p[1] ) {
log_error(_("invalid armor header: "));
diff --git a/g10/g10.c b/g10/g10.c
index 8ab8493c3..1cf7c09d9 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -367,8 +367,8 @@ our_pk_test_algo( int algo )
}
-const char *
-strusage( int level )
+static const char *
+my_strusage( int level )
{
static char *digests, *pubkeys, *ciphers;
const char *p;
@@ -410,7 +410,7 @@ strusage( int level )
p = digests;
break;
- default: p = default_strusage(level);
+ default: p = NULL;
}
return p;
}
@@ -487,6 +487,25 @@ make_username( const char *string )
static void
+register_extension( const char *mainpgm, const char *fname )
+{
+ if( *fname != '/' ) { /* do tilde expansion etc */
+ char *tmp;
+
+ if( strchr(fname, '/') )
+ tmp = make_filename(fname, NULL);
+ else
+ tmp = make_filename(GNUPG_LIBDIR, fname, NULL);
+ register_cipher_extension( mainpgm, tmp );
+ m_free(tmp);
+ }
+ else
+ register_cipher_extension( mainpgm, fname );
+}
+
+
+
+static void
set_debug(void)
{
if( opt.debug & DBG_MEMORY_VALUE )
@@ -564,6 +583,7 @@ main( int argc, char **argv )
#endif
trap_unaligned();
+ set_strusage( my_strusage );
secmem_set_flags( secmem_get_flags() | 2 ); /* suspend warnings */
/* Please note that we may running SUID(ROOT), so be very CAREFUL
* when adding any stuff between here and the call to
@@ -782,8 +802,7 @@ main( int argc, char **argv )
case aListSecretKeys: set_cmd( &cmd, aListSecretKeys); break;
case oAlwaysTrust: opt.always_trust = 1; break;
case oLoadExtension:
- register_cipher_extension(orig_argc? *orig_argv:NULL,
- pargs.r.ret_str);
+ register_extension(orig_argc? *orig_argv:NULL, pargs.r.ret_str);
break;
case oRFC1991:
opt.rfc1991 = 1;
diff --git a/g10/tdbdump.c b/g10/tdbdump.c
index 799309e05..1d608bd19 100644
--- a/g10/tdbdump.c
+++ b/g10/tdbdump.c
@@ -43,8 +43,8 @@
#include "tdbio.h"
-#define HEXTOBIN(a) ( (a) >= '0' && (a) <= '9' ? ((a)-'0') : \
- (a) >= 'A' && (a) <= 'F' ? ((a)-'A'+10) : ((a)-'a'+10))
+#define HEXTOBIN(x) ( (x) >= '0' && (x) <= '9' ? ((x)-'0') : \
+ (x) >= 'A' && (x) <= 'F' ? ((x)-'A'+10) : ((x)-'a'+10))
/****************
* Read a record but die if it does not exist