From e29d8f108cd090706dc3f54282f5c33ec30df899 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Wed, 15 Jun 2016 23:03:32 +0200 Subject: [PATCH] libnet: ignore realm setting for domain security joins to AD domains if 'winbind rpc only = true' Inspired by initial patch from Matt Rogers @ RedHat. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11977 Signed-off-by: Michael Adam Reviewed-by: Guenther Deschner Autobuild-User(master): Michael Adam Autobuild-Date(master): Wed Jun 22 05:05:47 CEST 2016 on sn-devel-144 --- source3/libnet/libnet_join.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index c98862ad554..df4fa72fe23 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -2303,6 +2303,7 @@ static WERROR libnet_join_check_config(TALLOC_CTX *mem_ctx, bool valid_security = false; bool valid_workgroup = false; bool valid_realm = false; + bool ignored_realm = false; /* check if configuration is already set correctly */ @@ -2322,11 +2323,26 @@ static WERROR libnet_join_check_config(TALLOC_CTX *mem_ctx, valid_realm = strequal(lp_realm(), r->out.dns_domain_name); switch (lp_security()) { case SEC_DOMAIN: + if (!valid_realm && lp_winbind_rpc_only()) { + valid_realm = true; + ignored_realm = true; + } case SEC_ADS: valid_security = true; } if (valid_workgroup && valid_realm && valid_security) { + if (ignored_realm && !r->in.modify_config) + { + libnet_join_set_error_string(mem_ctx, r, + "Warning: ignoring realm when " + "joining AD domain with " + "'security=domain' and " + "'winbind rpc only = yes'. " + "(realm set to '%s', " + "should be '%s').", lp_realm(), + r->out.dns_domain_name); + } /* nothing to be done */ return WERR_OK; } -- 2.34.1