*/
#include "includes.h"
+#if _SAMBA_BUILD_ == 3
+#include "lib/ldb_compat.h"
+#else
#include "lib/ldb/include/ldb.h"
+#endif
#include "librpc/gen_ndr/ndr_security.h"
#include "librpc/gen_ndr/ndr_misc.h"
#include "libcli/ldap/ldap_ndr.h"
DATA_BLOB blob;
enum ndr_err_code ndr_err;
char *ret;
- ndr_err = ndr_push_struct_blob(&blob, mem_ctx, NULL, sid,
+ ndr_err = ndr_push_struct_blob(&blob, mem_ctx, sid,
(ndr_push_flags_fn_t)ndr_push_dom_sid);
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
return NULL;
/*
encode a NDR GUID as a ldap filter element
*/
-char *ldap_encode_ndr_GUID(TALLOC_CTX *mem_ctx, struct GUID *guid)
+char *ldap_encode_ndr_GUID(TALLOC_CTX *mem_ctx, const struct GUID *guid)
{
DATA_BLOB blob;
- enum ndr_err_code ndr_err;
+ NTSTATUS status;
char *ret;
- ndr_err = ndr_push_struct_blob(&blob, mem_ctx, NULL, guid,
- (ndr_push_flags_fn_t)ndr_push_GUID);
- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+ status = GUID_to_ndr_blob(guid, mem_ctx, &blob);
+ if (!NT_STATUS_IS_OK(status)) {
return NULL;
}
ret = ldb_binary_encode(mem_ctx, blob);
blob.data = val.data;
blob.length = val.length;
- ndr_err = ndr_pull_struct_blob(&blob, mem_ctx, NULL, guid,
+ ndr_err = ndr_pull_struct_blob(&blob, mem_ctx, guid,
(ndr_pull_flags_fn_t)ndr_pull_GUID);
talloc_free(val.data);
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {