diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-06-10 22:08:20 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-06-15 09:18:33 +0200 |
commit | b8815dc23d36468cce9b615335ed62f119eb8f35 (patch) | |
tree | f98b02f81e3fce8fbedadecf7f847e90bf40f4fa /source4/winbind | |
parent | b9a75d8438470065633c1ff69c653eaa799d5718 (diff) | |
download | samba-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.c | 2 | ||||
-rw-r--r-- | source4/winbind/wb_server.c | 7 |
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; |