s3: Use any_nt_status_not_ok in winbind
[abartlet/samba.git/.git] / source3 / winbindd / wb_uid2sid.c
index 18ef3b214a100bc3e8871134eab045ed1a00798c..5beceafb149a27d45b7a93b17e6a7fd56f981753 100644 (file)
@@ -20,6 +20,9 @@
 #include "includes.h"
 #include "winbindd.h"
 #include "librpc/gen_ndr/cli_wbint.h"
+#include "idmap_cache.h"
+#include "idmap.h"
+#include "../libcli/security/security.h"
 
 struct wb_uid2sid_state {
        struct tevent_context *ev;
@@ -74,8 +77,8 @@ struct tevent_req *wb_uid2sid_send(TALLOC_CTX *mem_ctx,
 
        child = idmap_child();
 
-       subreq = rpccli_wbint_Uid2Sid_send(
-               state, ev, child->rpccli, state->dom_name,
+       subreq = dcerpc_wbint_Uid2Sid_send(
+               state, ev, child->binding_handle, state->dom_name,
                uid, &state->sid);
        if (tevent_req_nomem(subreq, req)) {
                return tevent_req_post(req, ev);
@@ -92,16 +95,12 @@ static void wb_uid2sid_done(struct tevent_req *subreq)
                req, struct wb_uid2sid_state);
        NTSTATUS status, result;
 
-       status = rpccli_wbint_Uid2Sid_recv(subreq, state, &result);
+       status = dcerpc_wbint_Uid2Sid_recv(subreq, state, &result);
        TALLOC_FREE(subreq);
-       if (!NT_STATUS_IS_OK(status)) {
+       if (any_nt_status_not_ok(status, result, &status)) {
                tevent_req_nterror(req, status);
                return;
        }
-       if (!NT_STATUS_IS_OK(result)) {
-               tevent_req_nterror(req, result);
-               return;
-       }
        tevent_req_done(req);
 }