From 0d2c1deeb761144a671ce37fa39ed8bc6667936f Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Mon, 4 Jun 2012 11:07:19 +0200 Subject: Only do one cycle when resolving a server Rename fo_get_server_name to fo_get_server_str_name fo_get_server_name() getter for a server name Allows to be more concise in tests and more defensive in resolve callbacks Only do one cycle when resolving a server https://fedorahosted.org/sssd/ticket/1214 Detect cycle in the fail over on subsequent resolve requests only --- src/providers/fail_over.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/providers/fail_over.c') diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index 2a9631772..2b47e55cb 100644 --- a/src/providers/fail_over.c +++ b/src/providers/fail_over.c @@ -1354,7 +1354,16 @@ fo_get_server_port(struct fo_server *server) return server->port; } -const char *fo_get_server_name(struct fo_server *server) +const char * +fo_get_server_name(struct fo_server *server) +{ + if (!server->common) { + return NULL; + } + return server->common->name; +} + +const char *fo_get_server_str_name(struct fo_server *server) { if (!server->common) { if (fo_is_srv_lookup(server)) { @@ -1402,3 +1411,9 @@ void fo_reset_services(struct fo_ctx *fo_ctx) } } +struct fo_service * +fo_get_server_service(struct fo_server *server) +{ + if (!server) return NULL; + return server->service; +} -- cgit