The branch, v3-2-test has been updated
       via  1bbdbdef991408af07afaba7bc0b4da55f06aed8 (commit)
       via  9a24753d35a4b1a283a65c60088d82e4b80f14c8 (commit)
       via  8bd248456205a82d57af21559a77a1030f4679b7 (commit)
      from  9e8b8f8c16612d8a08b55802f4fd9afca5498a7c (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 1bbdbdef991408af07afaba7bc0b4da55f06aed8
Author: Volker Lendecke <[EMAIL PROTECTED]>
Date:   Sun Dec 23 00:35:06 2007 +0100

    Fix wbcAllocate[GU]id
    
    wbcRequestResponse() returns a wbcErr, not NSS_STATUS

commit 9a24753d35a4b1a283a65c60088d82e4b80f14c8
Author: Volker Lendecke <[EMAIL PROTECTED]>
Date:   Sun Dec 23 00:33:44 2007 +0100

    Fix wbcPing()
    
    Without request and response, wbcRequestResponse() will always return
    WBC_ERR_INVALID_PARAM, so the ping will never reach winbind.

commit 8bd248456205a82d57af21559a77a1030f4679b7
Author: Volker Lendecke <[EMAIL PROTECTED]>
Date:   Sun Dec 23 00:32:09 2007 +0100

    tiny simplification

-----------------------------------------------------------------------

Summary of changes:
 source/lib/winbind_util.c               |    4 ----
 source/nsswitch/libwbclient/wbc_idmap.c |   26 ++++++++++++++------------
 source/nsswitch/libwbclient/wbc_util.c  |   10 +++++++++-
 3 files changed, 23 insertions(+), 17 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/winbind_util.c b/source/lib/winbind_util.c
index f4e7ab1..f51a017 100644
--- a/source/lib/winbind_util.c
+++ b/source/lib/winbind_util.c
@@ -105,8 +105,6 @@ bool winbind_sid_to_uid(uid_t *puid, const DOM_SID *sid)
        memcpy(&dom_sid, sid, sizeof(dom_sid)); 
 
        result = wbcSidToUid(&dom_sid, puid);   
-       if (result != WBC_ERR_SUCCESS)
-               return False;
 
        return (result == WBC_ERR_SUCCESS);     
 }
@@ -138,8 +136,6 @@ bool winbind_sid_to_gid(gid_t *pgid, const DOM_SID *sid)
        memcpy(&dom_sid, sid, sizeof(dom_sid)); 
 
        result = wbcSidToGid(&dom_sid, pgid);   
-       if (result != WBC_ERR_SUCCESS)
-               return False;
 
        return (result == WBC_ERR_SUCCESS);     
 }
diff --git a/source/nsswitch/libwbclient/wbc_idmap.c 
b/source/nsswitch/libwbclient/wbc_idmap.c
index 651c270..53f9678 100644
--- a/source/nsswitch/libwbclient/wbc_idmap.c
+++ b/source/nsswitch/libwbclient/wbc_idmap.c
@@ -211,7 +211,7 @@ wbcErr wbcAllocateUid(uid_t *puid)
 {
        struct winbindd_request request;
        struct winbindd_response response;
-       NSS_STATUS result;
+       wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 
        if (!puid)
                return WBC_ERR_INVALID_PARAM;
@@ -223,16 +223,17 @@ wbcErr wbcAllocateUid(uid_t *puid)
 
        /* Make request */
 
-       result = wbcRequestResponse(WINBINDD_ALLOCATE_UID,
+       wbc_status = wbcRequestResponse(WINBINDD_ALLOCATE_UID,
                                           &request, &response);
-
-       if (result != NSS_STATUS_SUCCESS)
-               return WBC_ERR_UNKNOWN_FAILURE;
+       BAIL_ON_WBC_ERROR(wbc_status);
 
        /* Copy out result */
        *puid = response.data.uid;
 
-       return WBC_ERR_SUCCESS;
+       wbc_status = WBC_ERR_SUCCESS;
+
+ done:
+       return wbc_status;
 }
 
 /** @brief Obtain a new gid from Winbind
@@ -246,7 +247,7 @@ wbcErr wbcAllocateGid(uid_t *pgid)
 {
        struct winbindd_request request;
        struct winbindd_response response;
-       NSS_STATUS result;
+       wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 
        if (!pgid)
                return WBC_ERR_INVALID_PARAM;
@@ -258,15 +259,16 @@ wbcErr wbcAllocateGid(uid_t *pgid)
 
        /* Make request */
 
-       result = wbcRequestResponse(WINBINDD_ALLOCATE_GID,
+       wbc_status = wbcRequestResponse(WINBINDD_ALLOCATE_GID,
                                           &request, &response);
-
-       if (result != NSS_STATUS_SUCCESS)
-               return WBC_ERR_UNKNOWN_FAILURE;
+       BAIL_ON_WBC_ERROR(wbc_status);
 
        /* Copy out result */
        *pgid = response.data.gid;
 
-       return WBC_ERR_SUCCESS;
+       wbc_status = WBC_ERR_SUCCESS;
+
+ done:
+       return wbc_status;
 }
 
diff --git a/source/nsswitch/libwbclient/wbc_util.c 
b/source/nsswitch/libwbclient/wbc_util.c
index b0adaad..c6acb27 100644
--- a/source/nsswitch/libwbclient/wbc_util.c
+++ b/source/nsswitch/libwbclient/wbc_util.c
@@ -33,7 +33,15 @@
 
 wbcErr wbcPing(void)
 {
-       return wbcRequestResponse(WINBINDD_PING, NULL, NULL);
+       struct winbindd_request request;
+       struct winbindd_response response;
+
+       /* Initialize request */
+
+       ZERO_STRUCT(request);
+       ZERO_STRUCT(response);
+
+       return wbcRequestResponse(WINBINDD_PING, &request, &response);
 }
 
 /** @brief Lookup the current status of a trusted domain


-- 
Samba Shared Repository

Reply via email to