aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/export.c33
-rw-r--r--g10/import.c10
-rw-r--r--g10/main.h1
3 files changed, 7 insertions, 37 deletions
diff --git a/g10/export.c b/g10/export.c
index 8c158684d..e0699db03 100644
--- a/g10/export.c
+++ b/g10/export.c
@@ -1293,37 +1293,6 @@ write_keyblock_to_output (kbnode_t keyblock, int with_armor,
}
-/* Helper for apply_keep_uid_filter. */
-static const char *
-filter_getval (void *cookie, const char *propname)
-{
- kbnode_t node = cookie;
- const char *result;
-
- if (node->pkt->pkttype == PKT_USER_ID)
- {
- if (!strcmp (propname, "uid"))
- result = node->pkt->pkt.user_id->name;
- else if (!strcmp (propname, "mbox"))
- {
- if (!node->pkt->pkt.user_id->mbox)
- {
- node->pkt->pkt.user_id->mbox
- = mailbox_from_userid (node->pkt->pkt.user_id->name);
- }
- return node->pkt->pkt.user_id->mbox;
- }
- else if (!strcmp (propname, "primary"))
- result = node->pkt->pkt.user_id->is_primary? "1":"0";
- else
- result = NULL;
- }
- else
- result = NULL;
-
- return result;
-}
-
/*
* Apply the keep-uid filter to the keyblock. The deleted nodes are
* marked and thus the caller should call commit_kbnode afterwards.
@@ -1338,7 +1307,7 @@ apply_keep_uid_filter (kbnode_t keyblock, recsel_expr_t selector)
{
if (node->pkt->pkttype == PKT_USER_ID)
{
- if (!recsel_select (selector, filter_getval, node))
+ if (!recsel_select (selector, impex_filter_getval, node))
{
/* log_debug ("keep-uid: deleting '%s'\n", */
/* node->pkt->pkt.user_id->name); */
diff --git a/g10/import.c b/g10/import.c
index f7cb92367..14abd2bb2 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -1103,9 +1103,9 @@ check_prefs (ctrl_t ctrl, kbnode_t keyblock)
}
-/* Helper for apply_keep_uid_filter and apply_drop_sig_filter. */
-static const char *
-filter_getval (void *cookie, const char *propname)
+/* Helper for apply_*_filter in im,port.c and export.c. */
+const char *
+impex_filter_getval (void *cookie, const char *propname)
{
/* FIXME: Malloc our static buffers and access them via the cookie. */
kbnode_t node = cookie;
@@ -1178,7 +1178,7 @@ apply_keep_uid_filter (kbnode_t keyblock, recsel_expr_t selector)
{
if (node->pkt->pkttype == PKT_USER_ID)
{
- if (!recsel_select (selector, filter_getval, node))
+ if (!recsel_select (selector, impex_filter_getval, node))
{
/* log_debug ("keep-uid: deleting '%s'\n", */
@@ -1237,7 +1237,7 @@ apply_drop_sig_filter (kbnode_t keyblock, recsel_expr_t selector)
if (IS_UID_SIG(sig) || IS_UID_REV(sig))
{
- if (recsel_select (selector, filter_getval, node))
+ if (recsel_select (selector, impex_filter_getval, node))
delete_kbnode (node);
}
}
diff --git a/g10/main.h b/g10/main.h
index 340f3b353..b1563d26d 100644
--- a/g10/main.h
+++ b/g10/main.h
@@ -368,6 +368,7 @@ gpg_error_t import_old_secring (ctrl_t ctrl, const char *fname);
import_stats_t import_new_stats_handle (void);
void import_release_stats_handle (import_stats_t hd);
void import_print_stats (import_stats_t hd);
+const char *impex_filter_getval (void *cookie, const char *propname);
gpg_error_t transfer_secret_keys (ctrl_t ctrl, struct import_stats_s *stats,
kbnode_t sec_keyblock, int batch, int force);