unmapped SIDs should be rid 0 not rid -1
authorAndrew Tridgell <tridge@samba.org>
Mon, 29 Sep 2008 23:10:54 +0000 (16:10 -0700)
committerAndrew Tridgell <tridge@samba.org>
Mon, 29 Sep 2008 23:10:54 +0000 (16:10 -0700)
source4/rpc_server/lsa/lsa_lookup.c

index acd3164b697c7c4bdb317c4ba1179c10bc283a7d..5f080e6da233db4debf14367b13228ee178f1d5e 100644 (file)
@@ -892,7 +892,10 @@ NTSTATUS dcesrv_lsa_LookupNames2(struct dcesrv_call_state *dce_call,
                r->out.sids->count++;
 
                r->out.sids->sids[i].sid_type    = SID_NAME_UNKNOWN;
-               r->out.sids->sids[i].rid         = 0xFFFFFFFF;
+               /* MS-LSAT 3.1.4.7 - rid zero is considered equivalent
+                  to sid NULL - so we should return 0 rid for
+                  unmapped entries */
+               r->out.sids->sids[i].rid         = 0;
                r->out.sids->sids[i].sid_index   = 0xFFFFFFFF;
                r->out.sids->sids[i].unknown     = 0;