const struct ldb_val *spn_value,
uint32_t userAccountControl,
const struct ldb_val *samAccountName,
+ const struct ldb_val *original_dnsHostName,
const struct ldb_val *dnsHostName,
const char *netbios_name,
const char *ntds_guid)
{
goto success;
}
+ if ((original_dnsHostName != NULL) &&
+ strlen(instanceName) == original_dnsHostName->length &&
+ (strncasecmp(instanceName,
+ (const char *)original_dnsHostName->data,
+ original_dnsHostName->length) == 0))
+ {
+ goto success;
+ }
if (is_dc) {
const char *guid_str = NULL;
guid_str = talloc_asprintf(mem_ctx,"%s._msdcs.%s",
struct ldb_dn *partitions_dn = samdb_partitions_dn(ldb, tmp_ctx);
uint32_t userAccountControl;
const char *netbios_name;
+ const struct ldb_val *original_dns_host_name_val = NULL;
const struct ldb_val *dns_host_name_val = NULL;
const struct ldb_val *sam_account_name_val = NULL;
struct GUID ntds;
}
if (req->operation == LDB_MODIFY) {
- dns_host_name_val = ldb_msg_find_ldb_val(search_res, "dNSHostName");
+ original_dns_host_name_val = ldb_msg_find_ldb_val(
+ search_res, "dNSHostName");
}
ret = dsdb_msg_get_single_value(msg,
"dNSHostName",
- dns_host_name_val,
+ original_dns_host_name_val,
&dns_host_name_val,
req->operation);
if (ret != LDB_SUCCESS) {
&el->values[i],
userAccountControl,
sam_account_name_val,
+ original_dns_host_name_val,
dns_host_name_val,
netbios_name,
ntds_guid);