diff options
author | Werner Koch <[email protected]> | 2003-09-28 13:41:58 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2003-09-28 13:41:58 +0000 |
commit | e369270a655fdab6b78053231c03bc2d82b672a9 (patch) | |
tree | 52d106255c5a1ce9dbfdffd09cb9b3f08197eb77 /g10/g10.c | |
parent | First bits of a card support backport from 1.9. It is not enabled by (diff) | |
download | gnupg-e369270a655fdab6b78053231c03bc2d82b672a9.tar.gz gnupg-e369270a655fdab6b78053231c03bc2d82b672a9.zip |
* g10.c (main): New commands --card-edit, --card-status and
--change-pin. New options --ctapi-driver, --pcsc-driver and
--disable-ccid
* options.h (DBG_CARD_IO): New.
* cardglue.c, cardclue.h: Enhanced.
* card-util.c: New. Taken from current the gnupg 1.9 branch.
* app-common.h, app-openpgp.c, iso7816.c, iso7816.h, apdu.c
* apdu.h, ccid-driver.c, ccid-driver.h: New. Takem from the current
gnupg 1.9 branch withy minor changes to include directives.
* Makefile.am: Added these files.
Diffstat (limited to 'g10/g10.c')
-rw-r--r-- | g10/g10.c | 63 |
1 files changed, 63 insertions, 0 deletions
@@ -128,6 +128,9 @@ enum cmd_and_opt_values { aNull = 0, aPipeMode, aRebuildKeydbCaches, aRefreshKeys, + aCardStatus, + aCardEdit, + aChangePIN, oTextmode, oNoTextmode, @@ -318,6 +321,12 @@ enum cmd_and_opt_values { aNull = 0, oNoMangleDosFilenames, oEnableProgressFilter, oMultifile, + + oReaderPort, + octapiDriver, + opcscDriver, + oDisableCCID, + aTest }; @@ -365,6 +374,11 @@ static ARGPARSE_OPTS opts[] = { { aExportSecretSub, "export-secret-subkeys" , 256, "@" }, { aImport, "import", 256 , N_("import/merge keys")}, { aFastImport, "fast-import", 256 , "@"}, +#ifdef ENABLE_CARD_SUPPORT + { aCardStatus, "card-status", 256, N_("print the card status")}, + { aCardEdit, "card-edit", 256, N_("change data on a card")}, + { aChangePIN, "change-pin", 256, N_("change a card's PIN")}, +#endif { aListPackets, "list-packets",256, "@"}, { aExportOwnerTrust, "export-ownertrust", 256, "@"}, { aImportOwnerTrust, "import-ownertrust", 256, "@"}, @@ -622,6 +636,13 @@ static ARGPARSE_OPTS opts[] = { { oNoMangleDosFilenames, "no-mangle-dos-filenames", 0, "@" }, { oEnableProgressFilter, "enable-progress-filter", 0, "@" }, { oMultifile, "multifile", 0, "@" }, + + { oReaderPort, "reader-port", 2, "@"}, + { octapiDriver, "ctapi-driver", 2, "@"}, + { opcscDriver, "pcsc-driver", 2, "@"}, + { oDisableCCID, "disable-ccidc", 0, "@"}, + + {0} }; @@ -1392,6 +1413,18 @@ main( int argc, char **argv ) case aPipeMode: set_cmd( &cmd, aPipeMode); break; case aRebuildKeydbCaches: set_cmd( &cmd, aRebuildKeydbCaches); break; +#ifdef ENABLE_CARD_SUPPORT + case aCardStatus: set_cmd (&cmd, aCardStatus); break; + case aCardEdit: set_cmd (&cmd, aCardEdit); break; + case aChangePIN: set_cmd (&cmd, aChangePIN); break; + case oReaderPort: + app_set_default_reader_port (pargs.r.ret_str); + break; + case octapiDriver: opt.ctapi_driver = pargs.r.ret_str; break; + case opcscDriver: opt.pcsc_driver = pargs.r.ret_str; break; + case oDisableCCID: opt.disable_ccid = 1; break; +#endif /* ENABLE_CARD_SUPPORT*/ + case oArmor: opt.armor = 1; opt.no_armor=0; break; case oOutput: opt.outfile = pargs.r.ret_str; break; case oQuiet: opt.quiet = 1; break; @@ -2828,6 +2861,36 @@ main( int argc, char **argv ) keydb_rebuild_caches (); break; +#ifdef ENABLE_CARD_SUPPORT + case aCardStatus: + if (argc) + wrong_args ("--card-status"); + card_status (stdout); + break; + + case aCardEdit: + if (argc) { + sl = NULL; + for (argc--, argv++ ; argc; argc--, argv++) + append_to_strlist (&sl, *argv); + card_edit (sl); + free_strlist (sl); + } + else + card_edit (NULL); + break; + + case aChangePIN: + if (!argc) + change_pin (0); + else if (argc == 1) + change_pin ( atoi (*argv)); + else + wrong_args ("--change-pin [no]"); + break; +#endif /* ENABLE_CARD_SUPPORT*/ + + case aListPackets: opt.list_packets=2; default: |