r12503: This function was just too simple to leave unimplemented.
authorAndrew Bartlett <abartlet@samba.org>
Mon, 26 Dec 2005 23:14:56 +0000 (23:14 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:47:46 +0000 (13:47 -0500)
Andrew Bartlett
(This used to be commit 2eebd7b3cf385b8d0680f877655136d721157c83)

source4/rpc_server/samr/dcesrv_samr.c

index 1c740628af7a67c55a35b57e0e60b02c77dfa97e..7ff36c5d8203c7f7f015182ba964bfef84b44374 100644 (file)
@@ -3521,9 +3521,22 @@ static NTSTATUS samr_Connect5(struct dcesrv_call_state *dce_call, TALLOC_CTX *me
   samr_RidToSid 
 */
 static NTSTATUS samr_RidToSid(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct samr_RidToSid *r)
+                             struct samr_RidToSid *r)
 {
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+       struct samr_domain_state *d_state;
+       struct dcesrv_handle *h;
+
+       DCESRV_PULL_HANDLE(h, r->in.domain_handle, SAMR_HANDLE_DOMAIN);
+
+       d_state = h->data;
+
+       /* form the users SID */
+       r->out.sid = dom_sid_add_rid(mem_ctx, d_state->domain_sid, r->in.rid);
+       if (!r->out.sid) {
+               return NT_STATUS_NO_MEMORY;
+       }
+
+       return NT_STATUS_OK;
 }