diff options
author | Daniel Kahn Gillmor <[email protected]> | 2014-09-25 18:45:37 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2014-09-25 20:28:36 +0000 |
commit | c76117f8b0165fe5cec5e7f234f55f5a4cd7f0ab (patch) | |
tree | 82d1bfe207daaf6e80d5cbd9d91473dde7620839 | |
parent | gpg: Need to init the trustdb for import. (diff) | |
download | gnupg-c76117f8b0165fe5cec5e7f234f55f5a4cd7f0ab.tar.gz gnupg-c76117f8b0165fe5cec5e7f234f55f5a4cd7f0ab.zip |
gpg: Warn about (but don't fail) on scdaemon options in gpg.conf.
* g10/gpg.c: Add config options that should belong in scdaemon.conf
* g10/main.h, g10/misc.c (obsolete_scdaemon_option): New.
--
In gpg2, the following options are only relevant for scdaemon:
reader-port
ctapi-driver
pcsc-driver
disable-ccid
but in gpg1, they are options for gpg itself.
Some users of gpg1 might have these options in their
~/.gnupg/gpg.conf, which causes gpg2 to fail hard if it reads that
config file.
gpg2 should not fail hard, though giving a warning (and suggesting a
move to scdaemon.conf) seems OK.
This patch does *not* reintroduce any documentation for these options
in gpg.texi, even to indicate that they are "dummy" options, since
scdaemon.texi contains the appropriate documentation.
Debian-bug-id: 762844
Program names factored out from obsolete_scdaemon_option to make
reuse without new translations easier. -wk
This is a backport of commit 371c2b14b0347209efd23b4e54e1981a12d7aeab
with parts of 20c6da50d4f6264d26d113d7de606971f719a0ca but without those
which would change existing translated strings. -wk
-rw-r--r-- | g10/gpg.c | 36 | ||||
-rw-r--r-- | g10/main.h | 2 | ||||
-rw-r--r-- | g10/misc.c | 14 |
3 files changed, 48 insertions, 4 deletions
@@ -358,6 +358,10 @@ enum cmd_and_opt_values oKeyidFormat, oExitOnStatusWriteError, oLimitCardInsertTries, + oReaderPort, + octapiDriver, + opcscDriver, + oDisableCCID, oRequireCrossCert, oNoRequireCrossCert, oAutoKeyLocate, @@ -506,10 +510,6 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_n (oDryRun, "dry-run", N_("do not make any changes")), ARGPARSE_s_n (oInteractive, "interactive", N_("prompt before overwriting")), - ARGPARSE_s_n (oUseAgent, "use-agent", "@"), - ARGPARSE_s_n (oNoUseAgent, "no-use-agent", "@"), - ARGPARSE_s_s (oGpgAgentInfo, "gpg-agent-info", "@"), - ARGPARSE_s_n (oBatch, "batch", "@"), ARGPARSE_s_n (oAnswerYes, "yes", "@"), ARGPARSE_s_n (oAnswerNo, "no", "@"), @@ -761,6 +761,21 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_s (oAutoKeyLocate, "auto-key-locate", "@"), ARGPARSE_s_n (oNoAutoKeyLocate, "no-auto-key-locate", "@"), + /* Dummy options with warnings. */ + ARGPARSE_s_n (oUseAgent, "use-agent", "@"), + ARGPARSE_s_n (oNoUseAgent, "no-use-agent", "@"), + ARGPARSE_s_s (oGpgAgentInfo, "gpg-agent-info", "@"), + ARGPARSE_s_s (oReaderPort, "reader-port", "@"), + ARGPARSE_s_s (octapiDriver, "ctapi-driver", "@"), + ARGPARSE_s_s (opcscDriver, "pcsc-driver", "@"), + ARGPARSE_s_n (oDisableCCID, "disable-ccid", "@"), + + /* Dummy options. */ + ARGPARSE_s_n (oNoop, "sk-comments", "@"), + ARGPARSE_s_n (oNoop, "no-sk-comments", "@"), + ARGPARSE_s_n (oNoop, "compress-keys", "@"), + ARGPARSE_s_n (oNoop, "compress-sigs", "@"), + ARGPARSE_end () }; @@ -2239,6 +2254,19 @@ main (int argc, char **argv) obsolete_option (configname, configlineno, "--gpg-agent-info"); break; + case oReaderPort: + obsolete_scdaemon_option (configname, configlineno, "reader-port"); + break; + case octapiDriver: + obsolete_scdaemon_option (configname, configlineno, "ctapi-driver"); + break; + case opcscDriver: + obsolete_scdaemon_option (configname, configlineno, "pcsc-driver"); + break; + case oDisableCCID: + obsolete_scdaemon_option (configname, configlineno, "disable-ccid"); + break; + case oAnswerYes: opt.answer_yes = 1; break; case oAnswerNo: opt.answer_no = 1; break; case oKeyring: append_to_strlist( &nrings, pargs.r.ret_str); break; diff --git a/g10/main.h b/g10/main.h index 99048203e..226898d29 100644 --- a/g10/main.h +++ b/g10/main.h @@ -118,6 +118,8 @@ void deprecated_warning(const char *configname,unsigned int configlineno, void deprecated_command (const char *name); void obsolete_option (const char *configname, unsigned int configlineno, const char *name); +void obsolete_scdaemon_option (const char *configname, + unsigned int configlineno, const char *name); int string_to_cipher_algo (const char *string); int string_to_digest_algo (const char *string); diff --git a/g10/misc.c b/g10/misc.c index 43ea0d2e3..ef03776ef 100644 --- a/g10/misc.c +++ b/g10/misc.c @@ -851,6 +851,20 @@ obsolete_option (const char *configname, unsigned int configlineno, } +void +obsolete_scdaemon_option (const char *configname, unsigned int configlineno, + const char *name) +{ + if (configname) + log_info (_("%s:%u: \"%s%s\" is obsolete in this file" + " - it only has effect in %s\n"), + configname, configlineno, name, "--", "scdaemon.conf"); + else + log_info (_("WARNING: \"%s%s\" is an obsolete option" + " - it has no effect except on %s\n"), "--", name, "scdaemon"); +} + + /* * Wrapper around gcry_cipher_map_name to provide a fallback using the * "Sn" syntax as used by the preference strings. |