diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2012-06-04 11:07:19 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2012-06-04 14:18:47 -0400 |
commit | 0d2c1deeb761144a671ce37fa39ed8bc6667936f (patch) | |
tree | 71acc334d11e56760f359541a57932668f3838fd /src/providers/fail_over.c | |
parent | 1575084d8ba8800574c72ee0615a0afadca8375c (diff) | |
download | sssd-0d2c1deeb761144a671ce37fa39ed8bc6667936f.tar.gz sssd-0d2c1deeb761144a671ce37fa39ed8bc6667936f.tar.xz sssd-0d2c1deeb761144a671ce37fa39ed8bc6667936f.zip |
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
Diffstat (limited to 'src/providers/fail_over.c')
-rw-r--r-- | src/providers/fail_over.c | 17 |
1 files changed, 16 insertions, 1 deletions
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; +} |