1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

s4:samr RPC server - remove wrong implementation of ReplicaSourceNodeName

This should represent a replication partner - never the DC iself
This commit is contained in:
Matthias Dieter Wallnöfer 2010-09-19 10:50:28 +02:00
parent c5c69359d9
commit 45cd2e445d
2 changed files with 7 additions and 42 deletions

View File

@ -1347,28 +1347,6 @@ failed:
return false;
}
/* Obtain the short name of the flexible single master operator
* (FSMO), such as the PDC Emulator */
const char *samdb_result_fsmo_name(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, const struct ldb_message *msg,
const char *attr)
{
/* Format is cn=NTDS Settings,cn=<NETBIOS name of FSMO>,.... */
struct ldb_dn *fsmo_dn = ldb_msg_find_attr_as_dn(ldb, mem_ctx, msg, attr);
const struct ldb_val *val = ldb_dn_get_component_val(fsmo_dn, 1);
const char *name = ldb_dn_get_component_name(fsmo_dn, 1);
if (!name || (ldb_attr_cmp(name, "cn") != 0)) {
/* Ensure this matches the format. This gives us a
* bit more confidence that a 'cn' value will be a
* ascii string */
return NULL;
}
if (val) {
return (char *)val->data;
}
return NULL;
}
/*
work out the ntds settings dn for the current open ldb
*/

View File

@ -483,14 +483,9 @@ static NTSTATUS dcesrv_samr_info_DomGeneralInformation(struct samr_domain_state
struct ldb_message **dom_msgs,
struct samr_DomGeneralInformation *info)
{
/* This pulls the NetBIOS name from the
cn=NTDS Settings,cn=<NETBIOS name of PDC>,....
string */
info->primary.string = samdb_result_fsmo_name(state->sam_ctx, mem_ctx, dom_msgs[0], "fSMORoleOwner");
if (!info->primary.string) {
info->primary.string = lpcfg_netbios_name(state->lp_ctx);
}
/* FIXME: this has a completely different meaning
* MS-SAMR 2.2.4.1 - ReplicaSourceNodeName */
info->primary.string = talloc_strdup(mem_ctx, "");
info->force_logoff_time = ldb_msg_find_attr_as_uint64(dom_msgs[0], "forceLogoff",
0x8000000000000000LL);
@ -584,15 +579,9 @@ static NTSTATUS dcesrv_samr_info_DomInfo6(struct samr_domain_state *state,
struct ldb_message **dom_msgs,
struct samr_DomInfo6 *info)
{
/* This pulls the NetBIOS name from the
cn=NTDS Settings,cn=<NETBIOS name of PDC>,....
string */
info->primary.string = samdb_result_fsmo_name(state->sam_ctx, mem_ctx,
dom_msgs[0], "fSMORoleOwner");
if (!info->primary.string) {
info->primary.string = lpcfg_netbios_name(state->lp_ctx);
}
/* FIXME: this has a completely different meaning
* MS-SAMR 2.2.4.1 - ReplicaSourceNodeName */
info->primary.string = talloc_strdup(mem_ctx, "");
return NT_STATUS_OK;
}
@ -753,7 +742,6 @@ static NTSTATUS dcesrv_samr_QueryDomainInfo(struct dcesrv_call_state *dce_call,
static const char * const attrs2[] = {"forceLogoff",
"oEMInformation",
"modifiedCount",
"fSMORoleOwner",
NULL};
attrs = attrs2;
break;
@ -779,8 +767,7 @@ static NTSTATUS dcesrv_samr_QueryDomainInfo(struct dcesrv_call_state *dce_call,
}
case 6:
{
static const char * const attrs2[] = {"fSMORoleOwner",
NULL};
static const char * const attrs2[] = { NULL };
attrs = attrs2;
break;
}