aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2009-11-23 19:18:04 +0000
committerWerner Koch <[email protected]>2009-11-23 19:18:04 +0000
commitcf2ec5673f02ddf3a4910ec47b476351dd68c243 (patch)
tree4e59734e24208f5d90dcc96f9d98c822860fbbc7 /g10
parentChange fallback keysize to 2048 (diff)
downloadgnupg-cf2ec5673f02ddf3a4910ec47b476351dd68c243.tar.gz
gnupg-cf2ec5673f02ddf3a4910ec47b476351dd68c243.zip
Add gpgconf related dummy options default_pubkey_algo.
Add option --skip-hidden-recipients Comment updates.
Diffstat (limited to 'g10')
-rw-r--r--g10/ChangeLog10
-rw-r--r--g10/gpg.c13
-rw-r--r--g10/keygen.c2
-rw-r--r--g10/options.h1
-rw-r--r--g10/pubkey-enc.c2
5 files changed, 28 insertions, 0 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 55048f200..944326579 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,13 @@
+2009-11-23 Werner Koch <[email protected]>
+
+ * gpg.c (gpgconf_list): Add key "default_pubkey_algo".
+
+2009-11-18 Werner Koch <[email protected]>
+
+ * gpg.c: Add option --skip-hidden-recipients and no- variant.
+ * options.h (struct opt): Add field SKIP_HIDDEN_RECIPIENTS.
+ * pubkey-enc.c (get_session_key): Implement that option.
+
2009-11-04 Werner Koch <[email protected]>
* server.c (register_commands): Add NULL arg to
diff --git a/g10/gpg.c b/g10/gpg.c
index 5b70e4fc3..720c9f4d8 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -233,6 +233,8 @@ enum cmd_and_opt_values
oWithSigList,
oWithSigCheck,
oSkipVerify,
+ oSkipHiddenRecipients,
+ oNoSkipHiddenRecipients,
oCompressKeys,
oCompressSigs,
oAlwaysTrust,
@@ -626,6 +628,8 @@ static ARGPARSE_OPTS opts[] = {
ARGPARSE_s_n (aListSigs, "list-sig", "@"), /* alias */
ARGPARSE_s_n (aCheckKeys, "check-sig", "@"), /* alias */
ARGPARSE_s_n (oSkipVerify, "skip-verify", "@"),
+ ARGPARSE_s_n (oSkipHiddenRecipients, "skip-hidden-recipients", "@"),
+ ARGPARSE_s_n (oNoSkipHiddenRecipients, "no-skip-hidden-recipients", "@"),
ARGPARSE_s_n (oCompressKeys, "compress-keys", "@"),
ARGPARSE_s_n (oCompressSigs, "compress-sigs", "@"),
ARGPARSE_s_i (oDefCertLevel, "default-cert-check-level", "@"), /* old */
@@ -1586,6 +1590,11 @@ gpgconf_list (const char *configfile)
printf ("debug-level:%lu:\"none:\n", GC_OPT_FLAG_DEFAULT);
printf ("group:%lu:\n", GC_OPT_FLAG_NONE);
+ /* The next one is an info only item and should match what
+ keygen:ask_keysize actually implements. */
+ printf ("default_pubkey_algo:%lu:\"%s:\n", GC_OPT_FLAG_DEFAULT,
+ "RSA-2048");
+
xfree (configfile_esc);
}
@@ -2315,6 +2324,10 @@ main (int argc, char **argv)
case oWithSigList: opt.list_sigs = 1; break;
case oSkipVerify: opt.skip_verify=1; break;
+
+ case oSkipHiddenRecipients: opt.skip_hidden_recipients = 1; break;
+ case oNoSkipHiddenRecipients: opt.skip_hidden_recipients = 0; break;
+
case oCompressKeys: opt.compress_keys = 1; break;
case aListSecretKeys: set_cmd( &cmd, aListSecretKeys); break;
/* There are many programs (like mutt) that call gpg with
diff --git a/g10/keygen.c b/g10/keygen.c
index 3abc19bd0..04775615c 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -1765,6 +1765,8 @@ ask_algo (int addmode, int *r_subkey_algo, unsigned int *r_usage)
static unsigned
ask_keysize (int algo, unsigned int primary_keysize)
{
+ /* NOTE: If you change the default key size/algo, remember to change
+ it also in gpgconf.c:gpgconf_list. */
unsigned int nbits, min, def=2048, max=4096;
int for_subkey = !!primary_keysize;
int autocomp = 0;
diff --git a/g10/options.h b/g10/options.h
index b6e7e55b8..40dee3780 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -94,6 +94,7 @@ struct
char *lc_messages;
int skip_verify;
+ int skip_hidden_recipients;
int compress_keys;
int compress_sigs;
/* TM_CLASSIC must be zero to accomodate trustdbs generated before
diff --git a/g10/pubkey-enc.c b/g10/pubkey-enc.c
index c0167b12e..fedf4d9a9 100644
--- a/g10/pubkey-enc.c
+++ b/g10/pubkey-enc.c
@@ -85,6 +85,8 @@ get_session_key( PKT_pubkey_enc *k, DEK *dek )
if( !(rc = get_seckey( sk, k->keyid )) )
rc = get_it( k, dek, sk, k->keyid );
}
+ else if (opt.skip_hidden_recipients)
+ rc = gpg_error (GPG_ERR_NO_SECKEY);
else { /* anonymous receiver: Try all available secret keys */
void *enum_context = NULL;
u32 keyid[2];