summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <dshaw@jabberwocky.com>2005-09-15 00:31:21 +0200
committerDavid Shaw <dshaw@jabberwocky.com>2005-09-15 00:31:21 +0200
commit4afa18bcaacb2d75dd1eb97830b9e8fb709d2104 (patch)
tree538df6c905749d6cc0d7515eada2175829fb08a0
parent* keyedit.c (show_names): Moved name display code out from (diff)
downloadgnupg2-4afa18bcaacb2d75dd1eb97830b9e8fb709d2104.tar.xz
gnupg2-4afa18bcaacb2d75dd1eb97830b9e8fb709d2104.zip
* main.h, misc.c (parse_options): Add the ability to have help
strings in xxx-options commands. * keyserver.c (keyserver_opts), import.c (parse_import_options), export.c (parse_export_options), g10.c (parse_list_options, main): Add help strings to xxx-options.
-rw-r--r--g10/ChangeLog9
-rw-r--r--g10/export.c37
-rw-r--r--g10/g10.c70
-rw-r--r--g10/import.c32
-rw-r--r--g10/keyserver.c29
-rw-r--r--g10/main.h1
-rw-r--r--g10/misc.c15
7 files changed, 130 insertions, 63 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index eb1858da6..57134e67b 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,12 @@
+2005-09-14 David Shaw <dshaw@jabberwocky.com>
+
+ * main.h, misc.c (parse_options): Add the ability to have help
+ strings in xxx-options commands.
+
+ * keyserver.c (keyserver_opts), import.c (parse_import_options),
+ export.c (parse_export_options), g10.c (parse_list_options, main):
+ Add help strings to xxx-options.
+
2005-09-10 David Shaw <dshaw@jabberwocky.com>
* keyedit.c (show_names): Moved name display code out from
diff --git a/g10/export.c b/g10/export.c
index 26aac1969..d9ca9c089 100644
--- a/g10/export.c
+++ b/g10/export.c
@@ -47,23 +47,30 @@ parse_export_options(char *str,unsigned int *options,int noisy)
{
struct parse_options export_opts[]=
{
- {"export-local-sigs",EXPORT_LOCAL_SIGS,NULL},
- {"export-attributes",EXPORT_ATTRIBUTES,NULL},
- {"export-sensitive-revkeys",EXPORT_SENSITIVE_REVKEYS,NULL},
- {"export-minimal",EXPORT_MINIMAL|EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL},
- {"export-clean",EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL},
- {"export-clean-sigs",EXPORT_CLEAN_SIGS,NULL},
- {"export-clean-uids",EXPORT_CLEAN_UIDS,NULL},
-
- {"export-reset-subkey-passwd", EXPORT_RESET_SUBKEY_PASSWD, NULL},
-
+ {"export-local-sigs",EXPORT_LOCAL_SIGS,NULL,
+ N_("export signatures that are marked as local-only")},
+ {"export-attributes",EXPORT_ATTRIBUTES,NULL,
+ N_("export attribute user IDs (generally photo IDs)")},
+ {"export-sensitive-revkeys",EXPORT_SENSITIVE_REVKEYS,NULL,
+ N_("export revocation keys that are marked as \"sensitive\"")},
+ {"export-clean-sigs",EXPORT_CLEAN_SIGS,NULL,
+ N_("remove unusable signatures during export")},
+ {"export-clean-uids",EXPORT_CLEAN_UIDS,NULL,
+ N_("remove unusable user IDs during export")},
+ {"export-clean",EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL,
+ N_("all export-clean-* options from above")},
+ {"export-minimal",
+ EXPORT_MINIMAL|EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL,
+ N_("export the smallest key possible")},
+ {"export-reset-subkey-passwd",EXPORT_RESET_SUBKEY_PASSWD,NULL,
+ N_("remove the passphrase from exported subkeys")},
/* Aliases for backward compatibility */
- {"include-local-sigs",EXPORT_LOCAL_SIGS,NULL},
- {"include-attributes",EXPORT_ATTRIBUTES,NULL},
- {"include-sensitive-revkeys",EXPORT_SENSITIVE_REVKEYS,NULL},
+ {"include-local-sigs",EXPORT_LOCAL_SIGS,NULL,NULL},
+ {"include-attributes",EXPORT_ATTRIBUTES,NULL,NULL},
+ {"include-sensitive-revkeys",EXPORT_SENSITIVE_REVKEYS,NULL,NULL},
/* dummy */
- {"export-unusable-sigs",0,NULL},
- {NULL,0,NULL}
+ {"export-unusable-sigs",0,NULL,NULL},
+ {NULL,0,NULL,NULL}
/* add tags for include revoked and disabled? */
};
diff --git a/g10/g10.c b/g10/g10.c
index 3919f8326..aaab93f7f 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -1504,20 +1504,33 @@ parse_list_options(char *str)
char *subpackets=""; /* something that isn't NULL */
struct parse_options lopts[]=
{
- {"show-photos",LIST_SHOW_PHOTOS,NULL},
- {"show-policy-urls",LIST_SHOW_POLICY_URLS,NULL},
- {"show-notations",LIST_SHOW_NOTATIONS,NULL},
- {"show-std-notations",LIST_SHOW_STD_NOTATIONS,NULL},
- {"show-standard-notations",LIST_SHOW_STD_NOTATIONS,NULL},
- {"show-user-notations",LIST_SHOW_USER_NOTATIONS,NULL},
- {"show-keyserver-urls",LIST_SHOW_KEYSERVER_URLS,NULL},
- {"show-uid-validity",LIST_SHOW_UID_VALIDITY,NULL},
- {"show-unusable-uids",LIST_SHOW_UNUSABLE_UIDS,NULL},
- {"show-unusable-subkeys",LIST_SHOW_UNUSABLE_SUBKEYS,NULL},
- {"show-keyring",LIST_SHOW_KEYRING,NULL},
- {"show-sig-expire",LIST_SHOW_SIG_EXPIRE,NULL},
- {"show-sig-subpackets",LIST_SHOW_SIG_SUBPACKETS,NULL},
- {NULL,0,NULL}
+ {"show-photos",LIST_SHOW_PHOTOS,NULL,
+ N_("display photo IDs during key listings")},
+ {"show-policy-urls",LIST_SHOW_POLICY_URLS,NULL,
+ N_("show policy URLs during signature listings")},
+ {"show-notations",LIST_SHOW_NOTATIONS,NULL,
+ N_("show all notations during signature listings")},
+ {"show-std-notations",LIST_SHOW_STD_NOTATIONS,NULL,
+ N_("show IETF standard notations during signature listings")},
+ {"show-standard-notations",LIST_SHOW_STD_NOTATIONS,NULL,
+ NULL},
+ {"show-user-notations",LIST_SHOW_USER_NOTATIONS,NULL,
+ N_("show user-supplied notations during signature listings")},
+ {"show-keyserver-urls",LIST_SHOW_KEYSERVER_URLS,NULL,
+ N_("show preferred keyserver URLs during signature listings")},
+ {"show-uid-validity",LIST_SHOW_UID_VALIDITY,NULL,
+ N_("show user ID validity during key listings")},
+ {"show-unusable-uids",LIST_SHOW_UNUSABLE_UIDS,NULL,
+ N_("show revoked and expired user IDs in key listings")},
+ {"show-unusable-subkeys",LIST_SHOW_UNUSABLE_SUBKEYS,NULL,
+ N_("show revoked and expired subkeys in key listings")},
+ {"show-keyring",LIST_SHOW_KEYRING,NULL,
+ N_("show the keyring name in key listings")},
+ {"show-sig-expire",LIST_SHOW_SIG_EXPIRE,NULL,
+ N_("show expiration dates during signature listings")},
+ {"show-sig-subpackets",LIST_SHOW_SIG_SUBPACKETS,NULL,
+ NULL},
+ {NULL,0,NULL,NULL}
};
/* C99 allows for non-constant initializers, but we'd like to
@@ -2396,16 +2409,25 @@ main (int argc, char **argv )
{
struct parse_options vopts[]=
{
- {"show-photos",VERIFY_SHOW_PHOTOS,NULL},
- {"show-policy-urls",VERIFY_SHOW_POLICY_URLS,NULL},
- {"show-notations",VERIFY_SHOW_NOTATIONS,NULL},
- {"show-std-notations",VERIFY_SHOW_STD_NOTATIONS,NULL},
- {"show-standard-notations",VERIFY_SHOW_STD_NOTATIONS,NULL},
- {"show-user-notations",VERIFY_SHOW_USER_NOTATIONS,NULL},
- {"show-keyserver-urls",VERIFY_SHOW_KEYSERVER_URLS,NULL},
- {"show-uid-validity",VERIFY_SHOW_UID_VALIDITY,NULL},
- {"show-unusable-uids",VERIFY_SHOW_UNUSABLE_UIDS,NULL},
- {NULL,0,NULL}
+ {"show-photos",VERIFY_SHOW_PHOTOS,NULL,
+ N_("display photo IDs during signature verification")},
+ {"show-policy-urls",VERIFY_SHOW_POLICY_URLS,NULL,
+ N_("show policy URLs during signature verification")},
+ {"show-notations",VERIFY_SHOW_NOTATIONS,NULL,
+ N_("show all notations during signature verification")},
+ {"show-std-notations",VERIFY_SHOW_STD_NOTATIONS,NULL,
+ N_("show IETF standard notations during signature verification")},
+ {"show-standard-notations",VERIFY_SHOW_STD_NOTATIONS,NULL,
+ NULL},
+ {"show-user-notations",VERIFY_SHOW_USER_NOTATIONS,NULL,
+ N_("show user-supplied notations during signature verification")},
+ {"show-keyserver-urls",VERIFY_SHOW_KEYSERVER_URLS,NULL,
+ N_("show preferred keyserver URLs during signature verification")},
+ {"show-uid-validity",VERIFY_SHOW_UID_VALIDITY,NULL,
+ N_("show user ID validity during signature verification")},
+ {"show-unusable-uids",VERIFY_SHOW_UNUSABLE_UIDS,NULL,
+ N_("show revoked and expired user IDs in signature verification")},
+ {NULL,0,NULL,NULL}
};
if(!parse_options(pargs.r.ret_str,&opt.verify_options,vopts,1))
diff --git a/g10/import.c b/g10/import.c
index 63e64b923..7eeccbad4 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -91,20 +91,28 @@ parse_import_options(char *str,unsigned int *options,int noisy)
{
struct parse_options import_opts[]=
{
- {"import-local-sigs",IMPORT_LOCAL_SIGS,NULL},
- {"repair-pks-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL},
- {"fast-import",IMPORT_FAST,NULL},
- {"convert-sk-to-pk",IMPORT_SK2PK,NULL},
- {"merge-only",IMPORT_MERGE_ONLY,NULL},
- {"import-clean",IMPORT_CLEAN_SIGS|IMPORT_CLEAN_UIDS,NULL},
- {"import-clean-sigs",IMPORT_CLEAN_SIGS,NULL},
- {"import-clean-uids",IMPORT_CLEAN_UIDS,NULL},
+ {"import-local-sigs",IMPORT_LOCAL_SIGS,NULL,
+ N_("import signatures that are marked as local-only")},
+ {"repair-pks-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL,
+ N_("repair damage from the pks keyserver during import")},
+ {"fast-import",IMPORT_FAST,NULL,
+ N_("do not update the trustdb after import")},
+ {"convert-sk-to-pk",IMPORT_SK2PK,NULL,
+ N_("create a public key when importing a secret key")},
+ {"merge-only",IMPORT_MERGE_ONLY,NULL,
+ N_("only accept updates to existing keys")},
+ {"import-clean-sigs",IMPORT_CLEAN_SIGS,NULL,
+ N_("remove unusable signatures after import")},
+ {"import-clean-uids",IMPORT_CLEAN_UIDS,NULL,
+ N_("remove unusable user IDs after import")},
+ {"import-clean",IMPORT_CLEAN_SIGS|IMPORT_CLEAN_UIDS,NULL,
+ N_("all import-clean-* options from above")},
/* Aliases for backward compatibility */
- {"allow-local-sigs",IMPORT_LOCAL_SIGS,NULL},
- {"repair-hkp-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL},
+ {"allow-local-sigs",IMPORT_LOCAL_SIGS,NULL,NULL},
+ {"repair-hkp-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL,NULL},
/* dummy */
- {"import-unusable-sigs",0,NULL},
- {NULL,0,NULL}
+ {"import-unusable-sigs",0,NULL,NULL},
+ {NULL,0,NULL,NULL}
};
return parse_options(str,options,import_opts,noisy);
diff --git a/g10/keyserver.c b/g10/keyserver.c
index 9bd316d21..b9c96e8ac 100644
--- a/g10/keyserver.c
+++ b/g10/keyserver.c
@@ -74,15 +74,26 @@ struct keyrec
static struct parse_options keyserver_opts[]=
{
- {"include-revoked",KEYSERVER_INCLUDE_REVOKED,NULL},
- {"include-subkeys",KEYSERVER_INCLUDE_SUBKEYS,NULL},
- {"keep-temp-files",KEYSERVER_KEEP_TEMP_FILES,NULL},
- {"refresh-add-fake-v3-keyids",KEYSERVER_ADD_FAKE_V3,NULL},
- {"auto-key-retrieve",KEYSERVER_AUTO_KEY_RETRIEVE,NULL},
- {"auto-pka-retrieve",KEYSERVER_AUTO_PKA_RETRIEVE,NULL},
- {"try-dns-srv",KEYSERVER_TRY_DNS_SRV,NULL},
- {"honor-keyserver-url",KEYSERVER_HONOR_KEYSERVER_URL,NULL},
- {NULL,0,NULL}
+ {"include-revoked",KEYSERVER_INCLUDE_REVOKED,NULL,
+ N_("include revoked keys in search results")},
+ {"include-subkeys",KEYSERVER_INCLUDE_SUBKEYS,NULL,
+ N_("include subkeys when searching by key ID")},
+ /* not a real option - just for the help message */
+ {"use-temp-files",0,NULL,
+ N_("use temporary files to pass data to keyserver helpers")},
+ {"keep-temp-files",KEYSERVER_KEEP_TEMP_FILES,NULL,
+ N_("do not delete temporary files after using them")},
+ {"refresh-add-fake-v3-keyids",KEYSERVER_ADD_FAKE_V3,NULL,
+ NULL},
+ {"auto-key-retrieve",KEYSERVER_AUTO_KEY_RETRIEVE,NULL,
+ N_("automatically retrieve keys when verifying signatures")},
+ {"auto-pka-retrieve",KEYSERVER_AUTO_PKA_RETRIEVE,NULL,
+ NULL},
+ {"try-dns-srv",KEYSERVER_TRY_DNS_SRV,NULL,
+ NULL},
+ {"honor-keyserver-url",KEYSERVER_HONOR_KEYSERVER_URL,NULL,
+ N_("honor the preferred keyserver URL set on the key")},
+ {NULL,0,NULL,NULL}
};
static int keyserver_work(int action,STRLIST list,KEYDB_SEARCH_DESC *desc,
diff --git a/g10/main.h b/g10/main.h
index e53f73cb5..07935dbed 100644
--- a/g10/main.h
+++ b/g10/main.h
@@ -118,6 +118,7 @@ struct parse_options
char *name;
unsigned int bit;
char **value;
+ char *help;
};
char *optsep(char **stringp);
diff --git a/g10/misc.c b/g10/misc.c
index 8d7b6804a..a50ab884e 100644
--- a/g10/misc.c
+++ b/g10/misc.c
@@ -968,11 +968,20 @@ parse_options(char *str,unsigned int *options,
if (str && !strcmp (str, "help"))
{
- int i;
+ int i,maxlen=0;
+
+ /* Figure out the longest option name so we can line these up
+ neatly. */
+ for(i=0;opts[i].name;i++)
+ if(opts[i].help && maxlen<strlen(opts[i].name))
+ maxlen=strlen(opts[i].name);
for(i=0;opts[i].name;i++)
- printf ("%s\n", opts[i].name);
- g10_exit (0);
+ if(opts[i].help)
+ printf("%s%*s%s\n",opts[i].name,
+ maxlen+2-strlen(opts[i].name),"",_(opts[i].help));
+
+ g10_exit(0);
}
while((tok=optsep(&str)))