From bebc71d2291e93afb76792c5e210836857103c36 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 26 May 2021 14:28:26 +0200 Subject: gpg,sm: Simplify keyserver spec parsing. * common/keyserver.h: Remove. * sm/gpgsm.h (struct keyserver_spec): Remove. (opt): Change keyserver to a strlist_t. * sm/gpgsm.c (keyserver_list_free): Remove. (parse_keyserver_line): Remove. (main): Store keyserver in an strlist. * sm/call-dirmngr.c (prepare_dirmngr): Adjust for the strlist. Avoid an ambiguity in dirmngr by adding a prefix if needed. * g10/options.h (struct keyserver_spec): Move definition from keyserver.h to here. Remove most fields. * g10/keyserver.c (free_keyserver_spec): Adjust. (cmp_keyserver_spec): Adjust. (parse_keyserver_uri): Simplify. (keyidlist): Remove fakev3 arg which does not make any sense because we don't even support v3 keys. -- We now rely on the dirmngr to parse the keyserver specs. Thus a bad specification will not be caught immediately. However, even before that dirmngr had stricter tests. Signed-off-by: Werner Koch Ported-from: 9f586700ec4ceac97fd47cd799878a8847342ffa --- g10/options.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'g10/options.h') diff --git a/g10/options.h b/g10/options.h index 2c558d2e7..761d95830 100644 --- a/g10/options.h +++ b/g10/options.h @@ -31,9 +31,14 @@ #include "../common/compliance.h" -/* Declaration of a keyserver spec type. The definition is found in - ../common/keyserver.h. */ -struct keyserver_spec; +/* Object to hold information pertaining to a keyserver; it also + allows building a list of keyservers. For historic reasons this is + not a strlist_t. */ +struct keyserver_spec +{ + struct keyserver_spec *next; + char *uri; +}; typedef struct keyserver_spec *keyserver_spec_t; -- cgit v1.2.3