aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/ks-engine.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-03-20 18:24:49 +0000
committerWerner Koch <[email protected]>2023-03-20 18:24:49 +0000
commit625aeb65b0e75192a414fdca5383cb67c996adee (patch)
tree13a75292066d048617f426e391218180950ecd53 /dirmngr/ks-engine.h
parentdirmngr: Add framework to implement a fake CRL feature. (diff)
downloadgnupg-625aeb65b0e75192a414fdca5383cb67c996adee.tar.gz
gnupg-625aeb65b0e75192a414fdca5383cb67c996adee.zip
dirmngr: New command AD_QUERY.
* dirmngr/dirmngr.h: Include name-value.h (struct server_control_s): Add rootdse and rootdse_tried. * dirmngr/dirmngr.c (dirmngr_deinit_default_ctrl): Release them. * dirmngr/ks-engine.h (KS_GET_FLAG_ROOTDSE): Add two new flags. * dirmngr/ks-engine-ldap.c: Include ks-action.h (SERVERINFO_GENERIC): New. (struct ks_engine_ldap_local_s): Add scope. (ks_ldap_new_state): Set a default scope. (ks_ldap_clear_state): Ditto. (my_ldap_connect): Add flag generic. (return_all_attributes): New. (fetch_rootdse): New. (basedn_from_rootdse): New. (ks_ldap_get): Move some code out to ... (ks_ldap_prepare_my_state): New. (ks_ldap_query): New. * dirmngr/ks-action.c (ks_action_parse_uri): Factored out from server.c (ks_action_query): New. * dirmngr/server.c (make_keyserver_item): Factored most code out to ks_action_parse_uri. (cmd_ad_query): New. -- This command allows to query the Windows Active directory.
Diffstat (limited to 'dirmngr/ks-engine.h')
-rw-r--r--dirmngr/ks-engine.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/dirmngr/ks-engine.h b/dirmngr/ks-engine.h
index be4e27e6f..5fbe300c0 100644
--- a/dirmngr/ks-engine.h
+++ b/dirmngr/ks-engine.h
@@ -27,6 +27,8 @@
#define KS_GET_FLAG_ONLY_LDAP 1
#define KS_GET_FLAG_FIRST 2
#define KS_GET_FLAG_NEXT 4
+#define KS_GET_FLAG_ONLY_AD 8 /* Do this only if we have an AD. */
+#define KS_GET_FLAG_ROOTDSE 16 /* Get the rootDSE. */
/*-- ks-action.c --*/
@@ -78,6 +80,9 @@ gpg_error_t ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri,
gpg_error_t ks_ldap_put (ctrl_t ctrl, parsed_uri_t uri,
void *data, size_t datalen,
void *info, size_t infolen);
+gpg_error_t ks_ldap_query (ctrl_t ctrl, parsed_uri_t uri,
+ unsigned int ks_get_flags,
+ const char *filter, char **attrs, estream_t *r_fp);
#endif /*DIRMNGR_KS_ENGINE_H*/