[SSSD] [PATCH] IPA: Rename label in users_get_send/groups_get_send

Lukas Slebodnik lslebodn at redhat.com
Wed Jun 18 11:08:38 UTC 2014


On (12/06/14 11:32), Pavel Reichl wrote:
>On Wed, 2014-06-11 at 15:27 -0400, Simo Sorce wrote:
>> On Wed, 2014-06-11 at 14:58 +0200, Pavel Reichl wrote:
>> > Hello,
>> > 
>> > please see attached simple patch.
>> 
>> Personally I do not like two labels, the idea of having 'done/fail' is
>> to have one place that terminates and cleans up in all cases.
>> 
>> Simo.
>> 
>
>Hello Simo,
>
>thanks for comment, I think I misinterpreted the ticket description - my
>bad. 
>
>Updated patch attached.
>
>Regards, 
>PR
>

>From 8bd471aa7595999c1b027761ac8f237b69977c9a Mon Sep 17 00:00:00 2001
>From: Pavel Reichl <preichl at redhat.com>
>Date: Wed, 11 Jun 2014 13:11:19 +0100
>Subject: [PATCH] IPA: Rename label in users_get_send/groups_get_send
>
>Resolves:
>https://fedorahosted.org/sssd/ticket/2209
>---
> src/providers/ldap/ldap_id.c | 62 +++++++++++++++++++++-----------------------
> 1 file changed, 30 insertions(+), 32 deletions(-)
>
>diff --git a/src/providers/ldap/ldap_id.c b/src/providers/ldap/ldap_id.c
>index 297d6016ee0a64478a57036cd8efc04629a7e701..c788b6bdd6235f5b940d99382b115a2534dbb1d9 100644
>--- a/src/providers/ldap/ldap_id.c
>+++ b/src/providers/ldap/ldap_id.c
>@@ -97,7 +97,7 @@ struct tevent_req *users_get_send(TALLOC_CTX *memctx,
>     if (!state->op) {
>         DEBUG(SSSDBG_OP_FAILURE, "sdap_id_op_create failed\n");
>         ret = ENOMEM;
>-        goto fail;
>+        goto done;
>     }
> 
>     state->domain = sdom->dom;
>@@ -114,7 +114,7 @@ struct tevent_req *users_get_send(TALLOC_CTX *memctx,
>         attr_name = ctx->opts->user_map[SDAP_AT_USER_NAME].name;
>         ret = sss_filter_sanitize(state, name, &clean_name);
>         if (ret != EOK) {
>-            goto fail;
>+            goto done;
>         }
>         break;
>     case BE_FILTER_IDNUM:
>@@ -125,7 +125,7 @@ struct tevent_req *users_get_send(TALLOC_CTX *memctx,
>             uid = strtouint32(name, &endptr, 10);
>             if (errno != EOK) {
>                 ret = EINVAL;
>-                goto fail;
>+                goto done;
>             }
> 
>             /* Convert the UID to its objectSID */
>@@ -142,27 +142,27 @@ struct tevent_req *users_get_send(TALLOC_CTX *memctx,
adding missing context
                  if (ret == ENOENT) {
                      /* Ignore errors to remove users that were not cached previously */
>                     ret = EOK;
>                 }
This is a reason why label has name done.

> 
>-                goto fail;
>+                goto done;
>             } else if (err != IDMAP_SUCCESS) {
>                 DEBUG(SSSDBG_MINOR_FAILURE,
>                       "Mapping ID [%s] to SID failed: [%s]\n",
>                        name, idmap_error_string(err));
>                 ret = EIO;
>-                goto fail;
>+                goto done;
>             }

//snip

>     ret = users_get_retry(req);
>     if (ret != EOK) {
>-        goto fail;
>+        goto done;
>     }
> 
>     return req;
> 
>-fail:
>+done:
>     if (ret != EOK) {
>         tevent_req_error(req, ret);
>     } else {
>         tevent_req_done(req);
>     }
>-    tevent_req_post(req, ev);
>-    return req;
>+    return tevent_req_post(req, ev);
Doxygen documentation of tevent_req_post says:

 * @return              The given request will be returned.
 */
struct tevent_req *tevent_req_post(struct tevent_req *req,
                                   struct tevent_context *ev);


> }
> 
> static int users_get_retry(struct tevent_req *req)
>@@ -551,7 +550,7 @@ struct tevent_req *groups_get_send(TALLOC_CTX *memctx,
>     if (!state->op) {
>         DEBUG(SSSDBG_OP_FAILURE, "sdap_id_op_create failed\n");
>         ret = ENOMEM;
>-        goto fail;
>+        goto done;
>     }
> 
>     state->domain = sdom->dom;
>@@ -570,7 +569,7 @@ struct tevent_req *groups_get_send(TALLOC_CTX *memctx,
> 
>         ret = sss_filter_sanitize(state, name, &clean_name);
>         if (ret != EOK) {
>-            goto fail;
>+            goto done;
>         }
>         break;
>     case BE_FILTER_IDNUM:
>@@ -581,7 +580,7 @@ struct tevent_req *groups_get_send(TALLOC_CTX *memctx,
>             gid = strtouint32(name, &endptr, 10);
>             if (errno != EOK) {
>                 ret = EINVAL;
>-                goto fail;
>+                goto done;
>             }
> 
>             /* Convert the GID to its objectSID */
>@@ -598,27 +597,27 @@ struct tevent_req *groups_get_send(TALLOC_CTX *memctx,
>                     ret = EOK;
This is the same situation as in users_get_send.
>                 }
> 
>-                goto fail;
>+                goto done;
>             } else if (err != IDMAP_SUCCESS) {
>                 DEBUG(SSSDBG_MINOR_FAILURE,
>                       "Mapping ID [%s] to SID failed: [%s]\n",
>                        name, idmap_error_string(err));
>                 ret = EIO;
>-                goto fail;
>+                goto done;
>             }

LS



More information about the sssd-devel mailing list