wbinfo: use wbcUidToSid()
authorStefan Metzmacher <metze@samba.org>
Fri, 28 Mar 2008 18:34:10 +0000 (19:34 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 31 Mar 2008 10:17:35 +0000 (12:17 +0200)
metze

source/nsswitch/wbinfo.c

index 7a68b3c838a8ba17bca1a325af8887903d89cc83..126c8be4010ed1bfe54490e4034978e9f5bd8321 100644 (file)
@@ -562,23 +562,27 @@ static bool wbinfo_check_secret(void)
 
 static bool wbinfo_uid_to_sid(uid_t uid)
 {
-       struct winbindd_request request;
-       struct winbindd_response response;
-
-       ZERO_STRUCT(request);
-       ZERO_STRUCT(response);
+       wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+       struct wbcDomainSid sid;
+       char *sid_str = NULL;
 
        /* Send request */
 
-       request.data.uid = uid;
+       wbc_status = wbcUidToSid(uid, &sid);
+       if (!WBC_ERROR_IS_OK(wbc_status)) {
+               return false;
+       }
 
-       if (winbindd_request_response(WINBINDD_UID_TO_SID, &request, &response) !=
-           NSS_STATUS_SUCCESS)
+       wbc_status = wbcSidToString(&sid, &sid_str);
+       if (!WBC_ERROR_IS_OK(wbc_status)) {
                return false;
+       }
 
        /* Display response */
 
-       d_printf("%s\n", response.data.sid.sid);
+       d_printf("%s\n", sid_str);
+
+       wbcFreeMemory(sid_str);
 
        return true;
 }