wbinfo: use wbcSidToUid()
authorStefan Metzmacher <metze@samba.org>
Fri, 28 Mar 2008 18:37:50 +0000 (19:37 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 31 Mar 2008 10:17:36 +0000 (12:17 +0200)
metze
(This used to be commit a25b39cac1716323154dd30acb30180d3273587b)

source3/nsswitch/wbinfo.c

index c99e288e07b352f6c1e02277f4b22c5c1f8632c6..ecceb92928255c2a92a20038e675fad7131770b2 100644 (file)
@@ -618,25 +618,27 @@ static bool wbinfo_gid_to_sid(gid_t gid)
 
 /* Convert sid to uid */
 
-static bool wbinfo_sid_to_uid(char *sid)
+static bool wbinfo_sid_to_uid(const char *sid_str)
 {
-       struct winbindd_request request;
-       struct winbindd_response response;
-
-       ZERO_STRUCT(request);
-       ZERO_STRUCT(response);
+       wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+       struct wbcDomainSid sid;
+       uid_t uid;
 
        /* Send request */
 
-       fstrcpy(request.data.sid, sid);
+       wbc_status = wbcStringToSid(sid_str, &sid);
+       if (!WBC_ERROR_IS_OK(wbc_status)) {
+               return false;
+       }
 
-       if (winbindd_request_response(WINBINDD_SID_TO_UID, &request, &response) !=
-           NSS_STATUS_SUCCESS)
+       wbc_status = wbcSidToUid(&sid, &uid);
+       if (!WBC_ERROR_IS_OK(wbc_status)) {
                return false;
+       }
 
        /* Display response */
 
-       d_printf("%d\n", (int)response.data.uid);
+       d_printf("%d\n", (int)uid);
 
        return true;
 }