s4-cldap: fixed cldap search based on dom_sid
authorAndrew Tridgell <tridge@samba.org>
Mon, 5 Sep 2011 06:42:09 +0000 (16:42 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 5 Sep 2011 09:19:25 +0000 (11:19 +0200)
we were not filling in the sid pointer correctly for the ldb_search

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

source4/cldap_server/netlogon.c

index 77f50ff3e6668b8c62635fd62edc090fc1e8952c..c9c92f6343d00d1f31e9387d106a89f749eae22a 100644 (file)
@@ -134,22 +134,11 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx,
                                                 "(&(objectCategory=DomainDNS)(objectGUID=%s))", 
                                                 ldb_binary_encode(mem_ctx, guid_val));
                } else { /* domain_sid case */
-                       struct dom_sid *sid;
-                       struct ldb_val sid_val;
-                       enum ndr_err_code ndr_err;
-                       
-                       /* Rather than go via the string, just push into the NDR form */
-                       ndr_err = ndr_push_struct_blob(&sid_val, mem_ctx, &sid,
-                                                      (ndr_push_flags_fn_t)ndr_push_dom_sid);
-                       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-                               return NT_STATUS_INVALID_PARAMETER;
-                       }
-
                        ret = ldb_search(sam_ctx, mem_ctx, &dom_res,
-                                                NULL, LDB_SCOPE_SUBTREE, 
-                                                dom_attrs, 
-                                                "(&(objectCategory=DomainDNS)(objectSid=%s))",
-                                                ldb_binary_encode(mem_ctx, sid_val));
+                                        NULL, LDB_SCOPE_SUBTREE,
+                                        dom_attrs,
+                                        "(&(objectCategory=DomainDNS)(objectSid=%s))",
+                                        dom_sid_string(mem_ctx, domain_sid));
                }
                
                if (ret != LDB_SUCCESS) {