#include "includes.h"
#include "ldb_module.h"
+#include "dsdb/samdb/samdb.h"
#include "librpc/gen_ndr/ndr_misc.h"
#include "param/param.h"
struct ldb_request *down_req;
struct ldb_message_element *attribute;
struct ldb_message *msg;
- struct ldb_val v;
struct GUID guid;
uint64_t seq_num;
- enum ndr_err_code ndr_err;
int ret;
time_t t = time(NULL);
struct og_context *ac;
/* a new GUID */
guid = GUID_random();
- ndr_err = ndr_push_struct_blob(&v, msg,
- lp_iconv_convenience(ldb_get_opaque(ldb, "loadparm")),
- &guid,
- (ndr_push_flags_fn_t)ndr_push_GUID);
- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
- return LDB_ERR_OPERATIONS_ERROR;
- }
-
- ret = ldb_msg_add_value(msg, "objectGUID", &v, NULL);
+ ret = dsdb_msg_add_guid(msg, &guid, "objectGUID");
if (ret) {
return ret;
}
struct ldb_message *msg;
const DATA_BLOB *guid_blob;
struct GUID guid;
- struct ldb_val guid_value;
struct replPropertyMetaDataBlob nmd;
struct ldb_val nmd_value;
const struct GUID *our_invocation_id;
}
/* generated NDR encoded values */
- ndr_err = ndr_push_struct_blob(&guid_value, msg,
- NULL,
- &guid,
- (ndr_push_flags_fn_t)ndr_push_GUID);
- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
- ldb_oom(ldb);
- talloc_free(ac);
- return LDB_ERR_OPERATIONS_ERROR;
- }
ndr_err = ndr_push_struct_blob(&nmd_value, msg,
lp_iconv_convenience(ldb_get_opaque(ldb, "loadparm")),
&nmd,
/*
* add the autogenerated values
*/
- ret = ldb_msg_add_value(msg, "objectGUID", &guid_value, NULL);
+ ret = dsdb_msg_add_guid(msg, &guid, "objectGUID");
if (ret != LDB_SUCCESS) {
ldb_oom(ldb);
talloc_free(ac);
}
if (!ldb_msg_find_element(ac->msg, "schemaIDGUID")) {
- enum ndr_err_code ndr_err;
- struct ldb_val guid_value;
struct GUID guid;
/* a new GUID */
guid = GUID_random();
- /* generated NDR encoded values */
- ndr_err = ndr_push_struct_blob(&guid_value, ac->msg,
- NULL,
- &guid,
- (ndr_push_flags_fn_t)ndr_push_GUID);
- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
- ldb_oom(ldb);
- return LDB_ERR_OPERATIONS_ERROR;
- }
- ret = ldb_msg_add_value(ac->msg, "schemaIDGUID", &guid_value, NULL);
+ ret = dsdb_msg_add_guid(ac->msg, &guid, "schemaIDGUID");
if (ret != LDB_SUCCESS) {
ldb_oom(ldb);
return ret;
if (ret != LDB_SUCCESS) return ret;
if (!ldb_msg_find_element(ac->msg, "schemaIDGUID")) {
- enum ndr_err_code ndr_err;
- struct ldb_val guid_value;
struct GUID guid;
/* a new GUID */
guid = GUID_random();
- /* generated NDR encoded values */
- ndr_err = ndr_push_struct_blob(&guid_value, ac->msg,
- NULL,
- &guid,
- (ndr_push_flags_fn_t)ndr_push_GUID);
- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
- ldb_oom(ldb);
- return LDB_ERR_OPERATIONS_ERROR;
- }
- ret = ldb_msg_add_value(ac->msg, "schemaIDGUID", &guid_value, NULL);
+ ret = dsdb_msg_add_guid(ac->msg, &guid, "schemaIDGUID");
if (ret != LDB_SUCCESS) {
ldb_oom(ldb);
return ret;
memcpy(&guid, digest, sizeof(struct GUID));
- ndr_err = ndr_push_struct_blob(&schemaIdGuid, ctx, NULL, &guid,
- (ndr_push_flags_fn_t)ndr_push_GUID);
-
- if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
- goto failed;
- }
-
- if (ldb_msg_add_value(msg, "schemaIdGuid", &schemaIdGuid, NULL) != 0) {
+ if (dsdb_msg_add_guid(msg, &guid, "schemaIdGuid") != 0) {
goto failed;
}