[SSSD] [PATCH 2/5] Fix ipa_subdomain_id names and tevent_req style

Simo Sorce simo at redhat.com
Wed Nov 28 04:24:55 UTC 2012


---
 src/providers/ipa/ipa_id.c            |    5 +-
 src/providers/ipa/ipa_id.h            |   10 ++--
 src/providers/ipa/ipa_subdomains_id.c |   73 +++++++++++++--------------------
 3 files changed, 36 insertions(+), 52 deletions(-)

diff --git a/src/providers/ipa/ipa_id.c b/src/providers/ipa/ipa_id.c
index c74268b9aadff7dd1f97d25c78993e1463f4715e..58bb1c11608acd4a7b341c80623eb37df17dec77 100644
--- a/src/providers/ipa/ipa_id.c
+++ b/src/providers/ipa/ipa_id.c
@@ -78,8 +78,7 @@ void ipa_account_info_handler(struct be_req *breq)
     ar = talloc_get_type(breq->req_data, struct be_acct_req);
 
     if (strcasecmp(ar->domain, breq->be_ctx->domain->name) != 0) {
-        req = ipa_get_subdomain_account_info_send(breq, breq->be_ctx->ev, ctx,
-                                                  ar);
+        req = ipa_get_subdom_acct_send(breq, breq->be_ctx->ev, ctx, ar);
         if (!req) {
             return sdap_handler_done(breq, DP_ERR_FATAL, ENOMEM, "Out of memory");
         }
@@ -148,7 +147,7 @@ static void ipa_account_info_users_done(struct tevent_req *req)
     struct be_req *breq = tevent_req_callback_data(req, struct be_req);
     int ret, dp_error;
 
-    ret = ipa_user_get_recv(req, &dp_error);
+    ret = ipa_get_subdom_acct_recv(req, &dp_error);
     talloc_zfree(req);
 
     ipa_account_info_complete(breq, dp_error, ret, "User lookup failed");
diff --git a/src/providers/ipa/ipa_id.h b/src/providers/ipa/ipa_id.h
index c264286f07dd940c280c12ed00625db611caaf2c..82f2f489d0dc29235018cfee1f9488f3f25d9b74 100644
--- a/src/providers/ipa/ipa_id.h
+++ b/src/providers/ipa/ipa_id.h
@@ -60,9 +60,9 @@ struct tevent_req *ipa_s2n_get_acct_info_send(TALLOC_CTX *mem_ctx,
                                               uid_t uid);
 int ipa_s2n_get_acct_info_recv(struct tevent_req *req);
 
-struct tevent_req *ipa_get_subdomain_account_info_send(TALLOC_CTX *memctx,
-                                                      struct tevent_context *ev,
-                                                      struct sdap_id_ctx *ctx,
-                                                      struct be_acct_req *ar);
-int ipa_user_get_recv(struct tevent_req *req, int *dp_error_out);
+struct tevent_req *ipa_get_subdom_acct_send(TALLOC_CTX *memctx,
+                                            struct tevent_context *ev,
+                                            struct sdap_id_ctx *ctx,
+                                            struct be_acct_req *ar);
+int ipa_get_subdom_acct_recv(struct tevent_req *req, int *dp_error_out);
 #endif
diff --git a/src/providers/ipa/ipa_subdomains_id.c b/src/providers/ipa/ipa_subdomains_id.c
index 563fdf2f63684e75b0f4937ee090de72c863aee9..518ff85d7b2caa78e1ff779d9cbfb332dd447b1f 100644
--- a/src/providers/ipa/ipa_subdomains_id.c
+++ b/src/providers/ipa/ipa_subdomains_id.c
@@ -32,7 +32,7 @@
 #include "providers/ipa/ipa_id.h"
 #include "providers/ipa/ipa_subdomains.h"
 
-struct ipa_user_get_state {
+struct ipa_get_subdom_acct {
     struct tevent_context *ev;
     struct sdap_id_ctx *ctx;
     struct sdap_id_op *op;
@@ -48,19 +48,20 @@ struct ipa_user_get_state {
     int dp_error;
 };
 
-static int ipa_get_subdomain_account_info_retry(struct tevent_req *req);
-static void ipa_get_subdomain_account_info_connect_done(struct tevent_req *subreq);
-static void ipa_get_subdomain_account_info_done(struct tevent_req *subreq);
-struct tevent_req *ipa_get_subdomain_account_info_send(TALLOC_CTX *memctx,
-                                                      struct tevent_context *ev,
-                                                      struct sdap_id_ctx *ctx,
-                                                      struct be_acct_req *ar)
+static void ipa_get_subdom_acct_connected(struct tevent_req *subreq);
+static void ipa_get_subdom_acct_done(struct tevent_req *subreq);
+
+struct tevent_req *ipa_get_subdom_acct_send(TALLOC_CTX *memctx,
+                                            struct tevent_context *ev,
+                                            struct sdap_id_ctx *ctx,
+                                            struct be_acct_req *ar)
 {
     struct tevent_req *req;
-    struct ipa_user_get_state *state;
+    struct ipa_get_subdom_acct *state;
+    struct tevent_req *subreq;
     int ret;
 
-    req = tevent_req_create(memctx, &state, struct ipa_user_get_state);
+    req = tevent_req_create(memctx, &state, struct ipa_get_subdom_acct);
     if (!req) return NULL;
 
     state->ev = ev;
@@ -112,10 +113,11 @@ struct tevent_req *ipa_get_subdomain_account_info_send(TALLOC_CTX *memctx,
     }
     if (ret != EOK) goto fail;
 
-    ret = ipa_get_subdomain_account_info_retry(req);
-    if (ret != EOK) {
+    subreq = sdap_id_op_connect_send(state->op, state, &ret);
+    if (!subreq) {
         goto fail;
     }
+    tevent_req_set_callback(subreq, ipa_get_subdom_acct_connected, req);
 
     return req;
 
@@ -125,29 +127,12 @@ fail:
     return req;
 }
 
-static int ipa_get_subdomain_account_info_retry(struct tevent_req *req)
-{
-    struct ipa_user_get_state *state = tevent_req_data(req,
-                                                    struct ipa_user_get_state);
-    struct tevent_req *subreq;
-    int ret = EOK;
-
-    subreq = sdap_id_op_connect_send(state->op, state, &ret);
-    if (!subreq) {
-        return ret;
-    }
-
-    tevent_req_set_callback(subreq, ipa_get_subdomain_account_info_connect_done,
-                            req);
-    return EOK;
-}
-
-static void ipa_get_subdomain_account_info_connect_done(struct tevent_req *subreq)
+static void ipa_get_subdom_acct_connected(struct tevent_req *subreq)
 {
     struct tevent_req *req = tevent_req_callback_data(subreq,
-                                                      struct tevent_req);
-    struct ipa_user_get_state *state = tevent_req_data(req,
-                                                     struct ipa_user_get_state);
+                                                struct tevent_req);
+    struct ipa_get_subdom_acct *state = tevent_req_data(req,
+                                                struct ipa_get_subdom_acct);
     int dp_error = DP_ERR_FATAL;
     int ret;
     const char *name;
@@ -194,17 +179,17 @@ static void ipa_get_subdomain_account_info_connect_done(struct tevent_req *subre
         tevent_req_error(req, ENOMEM);
         return;
     }
-    tevent_req_set_callback(subreq, ipa_get_subdomain_account_info_done, req);
+    tevent_req_set_callback(subreq, ipa_get_subdom_acct_done, req);
 
     return;
 }
 
-static void ipa_get_subdomain_account_info_done(struct tevent_req *subreq)
+static void ipa_get_subdom_acct_done(struct tevent_req *subreq)
 {
     struct tevent_req *req = tevent_req_callback_data(subreq,
-                                                      struct tevent_req);
-    struct ipa_user_get_state *state = tevent_req_data(req,
-                                                     struct ipa_user_get_state);
+                                                struct tevent_req);
+    struct ipa_get_subdom_acct *state = tevent_req_data(req,
+                                                struct ipa_get_subdom_acct);
     int dp_error = DP_ERR_FATAL;
     int ret;
 
@@ -214,12 +199,12 @@ static void ipa_get_subdomain_account_info_done(struct tevent_req *subreq)
     ret = sdap_id_op_done(state->op, ret, &dp_error);
     if (dp_error == DP_ERR_OK && ret != EOK) {
         /* retry */
-        ret = ipa_get_subdomain_account_info_retry(req);
-        if (ret != EOK) {
+        subreq = sdap_id_op_connect_send(state->op, state, &ret);
+        if (!subreq) {
             tevent_req_error(req, ret);
             return;
         }
-
+        tevent_req_set_callback(subreq, ipa_get_subdom_acct_connected, req);
         return;
     }
 
@@ -235,10 +220,10 @@ static void ipa_get_subdomain_account_info_done(struct tevent_req *subreq)
     tevent_req_done(req);
 }
 
-int ipa_user_get_recv(struct tevent_req *req, int *dp_error_out)
+int ipa_get_subdom_acct_recv(struct tevent_req *req, int *dp_error_out)
 {
-    struct ipa_user_get_state *state = tevent_req_data(req,
-                                                    struct ipa_user_get_state);
+    struct ipa_get_subdom_acct *state = tevent_req_data(req,
+                                                struct ipa_get_subdom_acct);
 
     if (dp_error_out) {
         *dp_error_out = state->dp_error;
-- 
1.7.1




More information about the sssd-devel mailing list