* keydb.h: Err on the side of making an unknown signature a SIG rather

than a CERT.

* import.c (delete_inv_parts): Discard any key signatures that aren't key
types (i.e. 0x00, 0x01, etc.)

* g10.c (main): Add deprecated option warning for --list-ownertrust.  Add
--compression-algo alias for --compress-algo.  Change --version output
strings to match "showpref" strings, and make translatable.

* status.c (do_get_from_fd): Accept 'y' as well as 'Y' for --command-fd
boolean input.

* trustdb.c: Fix typo (DISABLE_REGEXP -> DISABLE_REGEX)

* keyedit.c (show_key_with_all_names_colon): Show no-ks-modify flag.
This commit is contained in:
David Shaw 2003-03-24 20:05:53 +00:00
parent 62df762d9e
commit d2548b3f60
7 changed files with 48 additions and 14 deletions

View File

@ -1,3 +1,24 @@
2003-03-24 David Shaw <dshaw@jabberwocky.com>
* keydb.h: Err on the side of making an unknown signature a SIG
rather than a CERT.
* import.c (delete_inv_parts): Discard any key signatures that
aren't key types (i.e. 0x00, 0x01, etc.)
* g10.c (main): Add deprecated option warning for
--list-ownertrust. Add --compression-algo alias for
--compress-algo. Change --version output strings to match
"showpref" strings, and make translatable.
* status.c (do_get_from_fd): Accept 'y' as well as 'Y' for
--command-fd boolean input.
* trustdb.c: Fix typo (DISABLE_REGEXP -> DISABLE_REGEX)
* keyedit.c (show_key_with_all_names_colon): Show no-ks-modify
flag.
2003-03-11 David Shaw <dshaw@jabberwocky.com>
* options.h, g10.c (main), keyserver.c (kopts): Add "try-dns-srv"

View File

@ -120,6 +120,7 @@ enum cmd_and_opt_values { aNull = 0,
aListTrustDB,
aListTrustPath,
aExportOwnerTrust,
aListOwnerTrust,
aImportOwnerTrust,
aDeArmor,
aEnArmor,
@ -363,7 +364,7 @@ static ARGPARSE_OPTS opts[] = {
{ aExportOwnerTrust,
"export-ownertrust", 256, N_("export the ownertrust values")},
{ aImportOwnerTrust,
"import-ownertrust", 256 , N_("import ownertrust values")},
"import-ownertrust", 256, N_("import ownertrust values")},
{ aUpdateTrustDB,
"update-trustdb",0 , N_("update the trust database")},
{ aCheckTrustDB,
@ -495,7 +496,8 @@ static ARGPARSE_OPTS opts[] = {
" --fingerprint [names] show fingerprints\n" ) },
/* hidden options */
{ aExportOwnerTrust, "list-ownertrust",0 , "@"}, /* alias */
{ aListOwnerTrust, "list-ownertrust", 256, "@"}, /* deprecated */
{ oCompressAlgo, "compression-algo", 1, "@"}, /* alias */
{ aPrintMDs, "print-mds" , 256, "@"}, /* old */
{ aListTrustDB, "list-trustdb",0 , "@"},
/* Not yet used */
@ -666,25 +668,25 @@ strusage( int level )
case 33: p = _("\nSupported algorithms:\n"); break;
case 34:
if( !pubkeys )
pubkeys = build_list("Pubkey: ", 0, pubkey_algo_to_string,
pubkeys = build_list(_("Pubkey: "), 0, pubkey_algo_to_string,
check_pubkey_algo );
p = pubkeys;
break;
case 35:
if( !ciphers )
ciphers = build_list("Cipher: ", 'S', cipher_algo_to_string,
ciphers = build_list(_("Cipher: "), 'S', cipher_algo_to_string,
check_cipher_algo );
p = ciphers;
break;
case 36:
if( !digests )
digests = build_list("Hash: ", 'H', digest_algo_to_string,
digests = build_list(_("Hash: "), 'H', digest_algo_to_string,
check_digest_algo );
p = digests;
break;
case 37:
if( !zips )
zips = build_list("Compress: ",'Z',compress_algo_to_string,
zips = build_list(_("Compression: "),'Z',compress_algo_to_string,
check_compress_algo);
p = zips;
break;
@ -1362,6 +1364,9 @@ main( int argc, char **argv )
case aListTrustPath: set_cmd( &cmd, aListTrustPath); break;
case aDeArmor: set_cmd( &cmd, aDeArmor); break;
case aEnArmor: set_cmd( &cmd, aEnArmor); break;
case aListOwnerTrust:
deprecated_warning(configname,configlineno,
"--list-ownertrust","--export-ownertrust","");
case aExportOwnerTrust: set_cmd( &cmd, aExportOwnerTrust); break;
case aImportOwnerTrust: set_cmd( &cmd, aImportOwnerTrust); break;
case aPipeMode: set_cmd( &cmd, aPipeMode); break;

View File

@ -1378,6 +1378,14 @@ delete_inv_parts( const char *fname, KBNODE keyblock,
(ulong)keyid[1]);
delete_kbnode( node );
}
else if( node->pkt->pkttype == PKT_SIGNATURE
&& !IS_CERT(node->pkt->pkt.signature))
{
log_error(_("key %08lX: unexpected signature class (0x%02X) -"
" skipped\n"),(ulong)keyid[1],
node->pkt->pkt.signature->sig_class);
delete_kbnode(node);
}
else if( (node->flag & 4) ) /* marked for deletion */
delete_kbnode( node );
}

View File

@ -27,10 +27,9 @@
#include "cipher.h"
/* What qualifies as a certification (rather than a signature?) */
#define IS_SIG(s) (((s)->sig_class==0x00) || ((s)->sig_class==0x01) || \
((s)->sig_class==0x02) || ((s)->sig_class==0x40))
#define IS_CERT(s) (!IS_SIG(s))
#define IS_CERT(s) (IS_KEY_SIG(s) || IS_UID_SIG(s) || IS_SUBKEY_SIG(s) \
|| IS_KEY_REV(s) || IS_UID_REV(s) || IS_SUBKEY_REV(s))
#define IS_SIG(s) (!IS_CERT(s))
#define IS_KEY_SIG(s) ((s)->sig_class == 0x1f)
#define IS_UID_SIG(s) (((s)->sig_class & ~3) == 0x10)
#define IS_SUBKEY_SIG(s) ((s)->sig_class == 0x18)
@ -38,7 +37,6 @@
#define IS_UID_REV(s) ((s)->sig_class == 0x30)
#define IS_SUBKEY_REV(s) ((s)->sig_class == 0x28)
struct getkey_ctx_s;
typedef struct getkey_ctx_s *GETKEY_CTX;

View File

@ -1871,6 +1871,8 @@ show_key_with_all_names_colon (KBNODE keyblock)
}
if (uid->mdc_feature)
printf (",mdc");
if (!uid->ks_modify)
printf (",no-ks-modify");
}
putchar (':');
/* flags */

View File

@ -529,7 +529,7 @@ do_get_from_fd( const char *keyword, int hidden, int bool )
write_status( STATUS_GOT_IT );
if( bool ) /* Fixme: is this correct??? */
return string[0] == 'Y' ? "" : NULL;
return (string[0] == 'Y' || string[0] == 'y') ? "" : NULL;
return string;
}

View File

@ -1463,8 +1463,8 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
static int
check_regexp(const char *exp,const char *string)
{
#ifdef DISABLE_REGEXP
/* When DISABLE_REGEXP is defined, assume all regexps do not
#ifdef DISABLE_REGEX
/* When DISABLE_REGEX is defined, assume all regexps do not
match. */
return 0;
#elif defined(__riscos__)