From: Stefan Metzmacher Date: Mon, 26 Jun 2023 13:14:24 +0000 (+0200) Subject: CVE-2018-14628: s4:dsdb: remove unused code in dirsync_filter_entry() X-Git-Tag: samba-4.18.9~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=edac27f5408191567233983562091484ebbbad0a;p=thirdparty%2Fsamba.git CVE-2018-14628: s4:dsdb: remove unused code in dirsync_filter_entry() This makes the next change easier to understand. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13595 Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett (cherry picked from commit 498542be0bbf4f26558573c1f87b77b8e3509371) --- diff --git a/source4/dsdb/samdb/ldb_modules/dirsync.c b/source4/dsdb/samdb/ldb_modules/dirsync.c index fbb75790095..124cff25e39 100644 --- a/source4/dsdb/samdb/ldb_modules/dirsync.c +++ b/source4/dsdb/samdb/ldb_modules/dirsync.c @@ -151,10 +151,6 @@ static int dirsync_filter_entry(struct ldb_request *req, * list only the attribute that have been modified since last interogation * */ - newmsg = ldb_msg_new(dsc->req); - if (newmsg == NULL) { - return ldb_oom(ldb); - } for (i = msg->num_elements - 1; i >= 0; i--) { if (ldb_attr_cmp(msg->elements[i].name, "uSNChanged") == 0) { int error = 0; @@ -201,11 +197,6 @@ static int dirsync_filter_entry(struct ldb_request *req, */ return LDB_SUCCESS; } - newmsg->dn = ldb_dn_new(newmsg, ldb, ""); - if (newmsg->dn == NULL) { - return ldb_oom(ldb); - } - el = ldb_msg_find_element(msg, "objectGUID"); if ( el != NULL) { guidfound = true; @@ -216,48 +207,14 @@ static int dirsync_filter_entry(struct ldb_request *req, * well will uncomment the code bellow */ SMB_ASSERT(guidfound == true); - /* - if (guidfound == false) { - struct GUID guid; - struct ldb_val *new_val; - DATA_BLOB guid_blob; - - tmp[0] = '\0'; - txt = strrchr(txt, ':'); - if (txt == NULL) { - return ldb_module_done(dsc->req, NULL, NULL, LDB_ERR_OPERATIONS_ERROR); - } - txt++; - - status = GUID_from_string(txt, &guid); - if (!NT_STATUS_IS_OK(status)) { - return ldb_module_done(dsc->req, NULL, NULL, LDB_ERR_OPERATIONS_ERROR); - } - - status = GUID_to_ndr_blob(&guid, msg, &guid_blob); - if (!NT_STATUS_IS_OK(status)) { - return ldb_module_done(dsc->req, NULL, NULL, LDB_ERR_OPERATIONS_ERROR); - } - - new_val = talloc(msg, struct ldb_val); - if (new_val == NULL) { - return ldb_oom(ldb); - } - new_val->data = talloc_steal(new_val, guid_blob.data); - new_val->length = guid_blob.length; - if (ldb_msg_add_value(msg, "objectGUID", new_val, NULL) != 0) { - return ldb_module_done(dsc->req, NULL, NULL, LDB_ERR_OPERATIONS_ERROR); - } - } - */ - ldb_msg_add(newmsg, el, LDB_FLAG_MOD_ADD); - talloc_steal(newmsg->elements, el->name); - talloc_steal(newmsg->elements, el->values); - - talloc_steal(newmsg->elements, msg); return ldb_module_send_entry(dsc->req, msg, controls); } + newmsg = ldb_msg_new(dsc->req); + if (newmsg == NULL) { + return ldb_oom(ldb); + } + ndr_err = ndr_pull_struct_blob(replMetaData, dsc, &rmd, (ndr_pull_flags_fn_t)ndr_pull_replPropertyMetaDataBlob); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {