1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

lib/param: make security=domain and security=ads conflict with being a DC

This simplifies our supported configurations down to those that we test and expect
to work.  security=domain and domain logons = yes has never made much sense, and
security=ads and domain logons = yes was only ever used in early experiments for
our AD support using smbd.

The correct way to be an AD DC is to set "server role = active directory domain controller"

Andrew Bartlett
This commit is contained in:
Andrew Bartlett 2012-06-11 10:40:32 +10:00
parent b8815dc23d
commit 11db5b1f33

View File

@ -75,18 +75,7 @@ int lp_find_server_role(int server_role, int security, int domain_logons, int do
switch (security) { switch (security) {
case SEC_DOMAIN: case SEC_DOMAIN:
if (domain_logons) {
DEBUG(1, ("Server's Role (logon server) NOT ADVISED with domain-level security\n"));
role = ROLE_DOMAIN_BDC;
break;
}
role = ROLE_DOMAIN_MEMBER;
break;
case SEC_ADS: case SEC_ADS:
if (domain_logons) {
role = ROLE_DOMAIN_BDC;
break;
}
role = ROLE_DOMAIN_MEMBER; role = ROLE_DOMAIN_MEMBER;
break; break;
case SEC_AUTO: case SEC_AUTO:
@ -145,22 +134,17 @@ bool lp_is_security_and_server_role_valid(int server_role, int security)
case ROLE_AUTO: case ROLE_AUTO:
valid = true; valid = true;
break; break;
case ROLE_STANDALONE:
if (security == SEC_USER) {
valid = true;
}
break;
case ROLE_DOMAIN_MEMBER: case ROLE_DOMAIN_MEMBER:
if (security == SEC_ADS || security == SEC_DOMAIN) { if (security == SEC_ADS || security == SEC_DOMAIN) {
valid = true; valid = true;
} }
break; break;
case ROLE_STANDALONE:
case ROLE_DOMAIN_PDC: case ROLE_DOMAIN_PDC:
case ROLE_DOMAIN_BDC: case ROLE_DOMAIN_BDC:
case ROLE_ACTIVE_DIRECTORY_DC: case ROLE_ACTIVE_DIRECTORY_DC:
if (security == SEC_USER || security == SEC_ADS || security == SEC_DOMAIN) { if (security == SEC_USER) {
valid = true; valid = true;
} }
break; break;