summaryrefslogtreecommitdiffstats
path: root/src/providers/fail_over_srv.h
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2013-03-13 15:13:46 +0100
committerJakub Hrozek <jhrozek@redhat.com>2013-04-10 15:36:55 +0200
commit77d165f0629966db65753a3aee84a8b4971673af (patch)
tree19e9d6b94426dec048b02d56663da2a981516195 /src/providers/fail_over_srv.h
parentf9961e5f82e0ef474d6492371bfdf9e74e208a99 (diff)
downloadsssd-77d165f0629966db65753a3aee84a8b4971673af.tar.gz
sssd-77d165f0629966db65753a3aee84a8b4971673af.tar.xz
sssd-77d165f0629966db65753a3aee84a8b4971673af.zip
DNS sites support - SRV DNS lookup plugin
https://fedorahosted.org/sssd/ticket/1032 This plugin mimics the current behaviour. If discovery_domain is set it is the only domain that is tried. If discovery_domain is not set, we try to autodetect domain first and if that fails or SRV lookup on this domain fails, we fallback to SSSD domain name.
Diffstat (limited to 'src/providers/fail_over_srv.h')
-rw-r--r--src/providers/fail_over_srv.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/providers/fail_over_srv.h b/src/providers/fail_over_srv.h
index 0796ad5ab..4550b09de 100644
--- a/src/providers/fail_over_srv.h
+++ b/src/providers/fail_over_srv.h
@@ -69,4 +69,44 @@ typedef errno_t
struct fo_server_info **_backup_servers,
size_t *_num_backup_servers);
+struct tevent_req *fo_discover_srv_send(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct resolv_ctx *resolv_ctx,
+ const char *service,
+ const char *protocol,
+ const char **discovery_domains);
+
+errno_t fo_discover_srv_recv(TALLOC_CTX *mem_ctx,
+ struct tevent_req *req,
+ char **_dns_domain,
+ struct fo_server_info **_servers,
+ size_t *_num_servers);
+
+/* Simple SRV lookup plugin */
+
+struct fo_resolve_srv_dns_ctx;
+
+struct fo_resolve_srv_dns_ctx *
+fo_resolve_srv_dns_ctx_init(TALLOC_CTX *mem_ctx,
+ struct resolv_ctx *resolv_ctx,
+ enum restrict_family family_order,
+ enum host_database *host_dbs,
+ const char *hostname,
+ const char *sssd_domain);
+
+struct tevent_req *fo_resolve_srv_dns_send(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ const char *service,
+ const char *protocol,
+ const char *discovery_domain,
+ void *pvt);
+
+errno_t fo_resolve_srv_dns_recv(TALLOC_CTX *mem_ctx,
+ struct tevent_req *req,
+ char **_dns_domain,
+ struct fo_server_info **_primary_servers,
+ size_t *_num_primary_servers,
+ struct fo_server_info **_backup_servers,
+ size_t *_num_backup_servers);
+
#endif /* __FAIL_OVER_SRV_H__ */