summaryrefslogtreecommitdiff
path: root/source4/nbt_server/nbt_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/nbt_server/nbt_server.c')
-rw-r--r--source4/nbt_server/nbt_server.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source4/nbt_server/nbt_server.c b/source4/nbt_server/nbt_server.c
index 19dabdfa51..d05a31e421 100644
--- a/source4/nbt_server/nbt_server.c
+++ b/source4/nbt_server/nbt_server.c
@@ -49,6 +49,7 @@ static void nbtd_task_init(struct task_server *task)
{
struct nbt_server *nbtsrv;
struct nbt_interface *iface;
+ NTSTATUS status;
nbtsrv = talloc(task, struct nbt_server);
if (nbtsrv == NULL) {
@@ -59,8 +60,14 @@ static void nbtd_task_init(struct task_server *task)
nbtsrv->task = task;
nbtsrv->interfaces = NULL;
- nbt_startup_interfaces(nbtsrv);
+ /* start listening on the configured network interfaces */
+ status = nbt_startup_interfaces(nbtsrv);
+ if (!NT_STATUS_IS_OK(status)) {
+ task_terminate(task, "nbtd failed to setup interfaces");
+ return;
+ }
+ /* setup the incoming request handler for all our interfaces */
for (iface=nbtsrv->interfaces;iface;iface=iface->next) {
nbt_set_incoming_handler(iface->nbtsock, nbt_request_handler, iface);
}