>From dc955451dbd7830105d6efd05464f4d0f87ec6c5 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Thu, 25 Apr 2013 10:59:18 +0200 Subject: [PATCH 1/2] Split retrieving host information into separate function. Exporting code from sdap_sudo_init into new function sdap_retrieve_host_information. This refactoring make retrieving host information more reusable and function can be easily reused in other sudo providers. --- src/providers/ldap/sdap_sudo.c | 20 ++++++++++++++++++-- src/providers/ldap/sdap_sudo.h | 4 ++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/providers/ldap/sdap_sudo.c b/src/providers/ldap/sdap_sudo.c index 3472da67c0b211ebae0782828addc361bbfeeab3..c415aa240b2ba9ddf66be0d33e1842623f836950 100644 --- a/src/providers/ldap/sdap_sudo.c +++ b/src/providers/ldap/sdap_sudo.c @@ -125,7 +125,6 @@ int sdap_sudo_init(struct be_ctx *be_ctx, void **pvt_data) { struct sdap_sudo_ctx *sudo_ctx = NULL; - struct tevent_req *req = NULL; int ret; DEBUG(SSSDBG_TRACE_INTERNAL, ("Initializing sudo LDAP back end\n")); @@ -155,7 +154,24 @@ int sdap_sudo_init(struct be_ctx *be_ctx, return ret; } - req = sdap_sudo_get_hostinfo_send(sudo_ctx, id_ctx->opts, be_ctx); + ret = sdap_retrieve_host_information(be_ctx, sudo_ctx, id_ctx->opts); + if (ret != EOK) { + DEBUG(SSSDBG_OP_FAILURE, ("Cannot get SUDO options [%d]: %s\n", + ret, strerror(ret))); + return ret; + } + + return EOK; +} + +int sdap_retrieve_host_information(struct be_ctx *be_ctx, + struct sdap_sudo_ctx *sudo_ctx, + struct sdap_options *opts) +{ + struct tevent_req *req = NULL; + int ret; + + req = sdap_sudo_get_hostinfo_send(sudo_ctx, opts, be_ctx); if (req == NULL) { DEBUG(SSSDBG_CRIT_FAILURE, ("Unable to retrieve host information - " "(host filter will be disabled)\n")); diff --git a/src/providers/ldap/sdap_sudo.h b/src/providers/ldap/sdap_sudo.h index e2764b90c91470ed64e4c07a792206fa034646a6..586b6bb0d1f3f3e2cb88c95a396a86bca6adb523 100644 --- a/src/providers/ldap/sdap_sudo.h +++ b/src/providers/ldap/sdap_sudo.h @@ -82,6 +82,10 @@ int sdap_sudo_timer_recv(TALLOC_CTX *mem_ctx, struct tevent_req **_subreq); /* host info */ +int sdap_retrieve_host_information(struct be_ctx *be_ctx, + struct sdap_sudo_ctx *sudo_ctx, + struct sdap_options *opts); + struct tevent_req * sdap_sudo_get_hostinfo_send(TALLOC_CTX *mem_ctx, struct sdap_options *opts, struct be_ctx *be_ctx); -- 1.8.1.4