summaryrefslogtreecommitdiff
path: root/source4/winbind
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-06-10 22:08:20 +1000
committerAndrew Bartlett <abartlet@samba.org>2012-06-15 09:18:33 +0200
commitb8815dc23d36468cce9b615335ed62f119eb8f35 (patch)
treef98b02f81e3fce8fbedadecf7f847e90bf40f4fa /source4/winbind
parentb9a75d8438470065633c1ff69c653eaa799d5718 (diff)
downloadsamba-b8815dc23d36468cce9b615335ed62f119eb8f35.tar.gz
samba-b8815dc23d36468cce9b615335ed62f119eb8f35.tar.bz2
samba-b8815dc23d36468cce9b615335ed62f119eb8f35.zip
lib/param: Create a seperate server role for "active directory domain controller"
This will allow us to detect from the smb.conf if this is a Samba4 AD DC which will allow smarter handling of (for example) accidentially starting smbd rather than samba. To cope with upgrades from existing Samba4 installs, 'domain controller' is a synonym of 'active directory domain controller' and new parameters 'classic primary domain controller' and 'classic backup domain controller' are added. Andrew Bartlett
Diffstat (limited to 'source4/winbind')
-rw-r--r--source4/winbind/wb_init_domain.c2
-rw-r--r--source4/winbind/wb_server.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/source4/winbind/wb_init_domain.c b/source4/winbind/wb_init_domain.c
index 4d6177bdc7..45a4b98f31 100644
--- a/source4/winbind/wb_init_domain.c
+++ b/source4/winbind/wb_init_domain.c
@@ -162,7 +162,7 @@ struct composite_context *wb_init_domain_send(TALLOC_CTX *mem_ctx,
if ((!cli_credentials_is_anonymous(state->domain->libnet_ctx->cred)) &&
((lpcfg_server_role(service->task->lp_ctx) == ROLE_DOMAIN_MEMBER) ||
- (lpcfg_server_role(service->task->lp_ctx) == ROLE_DOMAIN_CONTROLLER)) &&
+ (lpcfg_server_role(service->task->lp_ctx) == ROLE_ACTIVE_DIRECTORY_DC)) &&
(dom_sid_equal(state->domain->info->sid,
state->service->primary_sid))) {
state->domain->netlogon_binding->flags |= DCERPC_SCHANNEL | DCERPC_SCHANNEL_AUTO;
diff --git a/source4/winbind/wb_server.c b/source4/winbind/wb_server.c
index 7bed235ae6..a904470e19 100644
--- a/source4/winbind/wb_server.c
+++ b/source4/winbind/wb_server.c
@@ -264,8 +264,7 @@ static void winbind_task_init(struct task_server *task)
return;
}
break;
- case ROLE_DOMAIN_CONTROLLER:
- case ROLE_DOMAIN_PDC:
+ case ROLE_ACTIVE_DIRECTORY_DC:
primary_sid = secrets_get_domain_sid(service,
service->task->lp_ctx,
lpcfg_workgroup(service->task->lp_ctx),
@@ -279,6 +278,10 @@ static void winbind_task_init(struct task_server *task)
return;
}
break;
+ case ROLE_DOMAIN_PDC:
+ case ROLE_DOMAIN_BDC:
+ task_server_terminate(task, "Cannot start 'samba' winbindd as a 'classic samba' DC: use winbindd instead", true);
+ return;
}
service->primary_sid = primary_sid;