diff options
author | Werner Koch <wk@gnupg.org> | 2017-03-03 09:22:40 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2017-03-03 09:22:40 +0100 |
commit | 1813f3be23bdab5a42070424c47cb8daa9d9e6b7 (patch) | |
tree | c0b5dff0ef9852ffa5bbed318bbc81765cee3396 /g10 | |
parent | tools: Fix compile error with older gcc versions. (diff) | |
download | gnupg2-1813f3be23bdab5a42070424c47cb8daa9d9e6b7.tar.xz gnupg2-1813f3be23bdab5a42070424c47cb8daa9d9e6b7.zip |
gpg: Add new variables to the import and export filters.
* g10/import.c (impex_filter_getval): Add new variables "expired",
"revoked", and "disabled".
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'g10')
-rw-r--r-- | g10/export.c | 2 | ||||
-rw-r--r-- | g10/import.c | 41 |
2 files changed, 35 insertions, 8 deletions
diff --git a/g10/export.c b/g10/export.c index 413826153..323bf1742 100644 --- a/g10/export.c +++ b/g10/export.c @@ -1377,7 +1377,7 @@ apply_drop_subkey_filter (kbnode_t keyblock, recsel_expr_t selector) { if (recsel_select (selector, impex_filter_getval, node)) { - log_debug ("drop-subkey: deleting a key\n"); + /*log_debug ("drop-subkey: deleting a key\n");*/ /* The subkey packet and all following packets up to the * next subkey. */ delete_kbnode (node); diff --git a/g10/import.c b/g10/import.c index 45ec07a49..9fd16c87f 100644 --- a/g10/import.c +++ b/g10/import.c @@ -1164,7 +1164,7 @@ check_prefs (ctrl_t ctrl, kbnode_t keyblock) } -/* Helper for apply_*_filter in im,port.c and export.c. */ +/* Helper for apply_*_filter in import.c and export.c. */ const char * impex_filter_getval (void *cookie, const char *propname) { @@ -1175,19 +1175,30 @@ impex_filter_getval (void *cookie, const char *propname) if (node->pkt->pkttype == PKT_USER_ID) { + PKT_user_id *uid = node->pkt->pkt.user_id; + if (!strcmp (propname, "uid")) - result = node->pkt->pkt.user_id->name; + result = uid->name; else if (!strcmp (propname, "mbox")) { - if (!node->pkt->pkt.user_id->mbox) + if (!uid->mbox) { - node->pkt->pkt.user_id->mbox - = mailbox_from_userid (node->pkt->pkt.user_id->name); + uid->mbox = mailbox_from_userid (uid->name); } - result = node->pkt->pkt.user_id->mbox; + result = uid->mbox; } else if (!strcmp (propname, "primary")) - result = node->pkt->pkt.user_id->is_primary? "1":"0"; + { + result = uid->is_primary? "1":"0"; + } + else if (!strcmp (propname, "expired")) + { + result = uid->is_expired? "1":"0"; + } + else if (!strcmp (propname, "revoked")) + { + result = uid->is_revoked? "1":"0"; + } else result = NULL; } @@ -1215,6 +1226,10 @@ impex_filter_getval (void *cookie, const char *propname) snprintf (numbuf, sizeof numbuf, "%d", sig->digest_algo); result = numbuf; } + else if (!strcmp (propname, "expired")) + { + result = sig->flags.expired? "1":"0"; + } else result = NULL; } @@ -1244,6 +1259,18 @@ impex_filter_getval (void *cookie, const char *propname) { result = datestr_from_pk (pk); } + else if (!strcmp (propname, "expired")) + { + result = pk->has_expired? "1":"0"; + } + else if (!strcmp (propname, "revoked")) + { + result = pk->flags.revoked? "1":"0"; + } + else if (!strcmp (propname, "disabled")) + { + result = pk_is_disabled (pk)? "1":"0"; + } else result = NULL; } |