]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3-libnet_join: check for netbios name correctness as well
authorGünther Deschner <gd@samba.org>
Fri, 19 Feb 2021 13:49:50 +0000 (14:49 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 14 Jul 2021 16:49:30 +0000 (16:49 +0000)
Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
source3/libnet/libnet_join.c

index 8a42a4a6076becdb46430262a823ba4e725f5f93..48d2a2db046f792461b68efd5731c85121d8242e 100644 (file)
@@ -2531,11 +2531,13 @@ static WERROR libnet_join_check_config(TALLOC_CTX *mem_ctx,
        bool valid_security = false;
        bool valid_workgroup = false;
        bool valid_realm = false;
+       bool valid_hostname = false;
        bool ignored_realm = false;
 
        /* check if configuration is already set correctly */
 
        valid_workgroup = strequal(lp_workgroup(), r->out.netbios_domain_name);
+       valid_hostname = strequal(lp_netbios_name(), r->in.machine_name);
 
        switch (r->out.domain_is_ad) {
                case false:
@@ -2561,7 +2563,8 @@ static WERROR libnet_join_check_config(TALLOC_CTX *mem_ctx,
                                valid_security = true;
                        }
 
-                       if (valid_workgroup && valid_realm && valid_security) {
+                       if (valid_workgroup && valid_realm && valid_security &&
+                                       valid_hostname) {
                                if (ignored_realm && !r->in.modify_config)
                                {
                                        libnet_join_set_error_string(mem_ctx, r,
@@ -2585,6 +2588,13 @@ static WERROR libnet_join_check_config(TALLOC_CTX *mem_ctx,
 
                char *wrong_conf = talloc_strdup(mem_ctx, "");
 
+               if (!valid_hostname) {
+                       wrong_conf = talloc_asprintf_append(wrong_conf,
+                               "\"netbios name\" set to '%s', should be '%s'",
+                               lp_netbios_name(), r->in.machine_name);
+                       W_ERROR_HAVE_NO_MEMORY(wrong_conf);
+               }
+
                if (!valid_workgroup) {
                        wrong_conf = talloc_asprintf_append(wrong_conf,
                                "\"workgroup\" set to '%s', should be '%s'",