s4-nbt: Ensure source4/ nbt client and server honour 'disable netbios'
authorAndrew Bartlett <abartlet@samba.org>
Wed, 6 Feb 2013 09:58:18 +0000 (20:58 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 17 Feb 2013 10:25:34 +0000 (11:25 +0100)
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sun Feb 17 11:25:34 CET 2013 on sn-devel-104

source4/libcli/resolve/resolve_lp.c
source4/nbt_server/nbt_server.c

index 69c05a2ea0ae39ee79997ab17f62eb5026c7370e..92e11f0fcb81f58f63e19ea074a7f0680d6af0ca 100644 (file)
@@ -32,9 +32,13 @@ struct resolve_context *lpcfg_resolve_context(struct loadparm_context *lp_ctx)
 
        for (i = 0; methods != NULL && methods[i] != NULL; i++) {
                if (!strcmp(methods[i], "wins")) {
-                       resolve_context_add_wins_method_lp(ret, lp_ctx);
+                       if (lpcfg_disable_netbios(lp_ctx) == false) {
+                               resolve_context_add_wins_method_lp(ret, lp_ctx);
+                       }
                } else if (!strcmp(methods[i], "bcast")) {
-                       resolve_context_add_bcast_method_lp(ret, lp_ctx);
+                       if (lpcfg_disable_netbios(lp_ctx) == false) {
+                               resolve_context_add_bcast_method_lp(ret, lp_ctx);
+                       }
                } else if (!strcmp(methods[i], "file")) {
                        resolve_context_add_file_method_lp(ret, lp_ctx);
                } else if (!strcmp(methods[i], "host")) {
index 175ad5e4a43a3ebbc21e02eecbb7aecde76d7259..232fb9de13ad07b7cc2340776d5e1558c774bb3d 100644 (file)
@@ -48,6 +48,11 @@ static void nbtd_task_init(struct task_server *task)
                return;
        }
 
+       if (lpcfg_disable_netbios(task->lp_ctx)) {
+               task_server_terminate(task, "nbtd: 'disable netbios = yes' set in smb.conf, shutting down nbt server", false);
+               return;
+       }
+
        task_server_set_title(task, "task[nbtd]");
 
        nbtsrv = talloc(task, struct nbtd_server);