From 77cdd7c0ff182f77b1edb032f8d8cd172bdff7ce Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 2 Feb 2005 10:29:50 +0000 Subject: r5171: added support for "bind interfaces only" in nbtd. The solution was to bind twice on each interface, once using the broadcast address and once using the specific IP. We then only listen on the wildcard address if we don't have "bind interface only" set. This also happens to simplify the code that finds the right interface for an incoming request. (This used to be commit b3edf17281c5d82abb40dab817bf2de43f9f6c3f) --- source4/nbt_server/nbt_server.c | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to 'source4/nbt_server/nbt_server.c') diff --git a/source4/nbt_server/nbt_server.c b/source4/nbt_server/nbt_server.c index 6e4acba115..4884398d78 100644 --- a/source4/nbt_server/nbt_server.c +++ b/source4/nbt_server/nbt_server.c @@ -26,28 +26,12 @@ #include "nbt_server/nbt_server.h" -/* - receive an incoming request -*/ -static void nbt_request_handler(struct nbt_name_socket *nbtsock, - struct nbt_name_packet *packet, - const char *src_address, int src_port) -{ - switch (packet->operation & NBT_OPCODE) { - case NBT_OPCODE_QUERY: - nbt_request_query(nbtsock, packet, src_address, src_port); - break; - } -} - - /* startup the nbtd task */ 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); @@ -67,13 +51,6 @@ static void nbtd_task_init(struct task_server *task) 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); - } - nbt_set_incoming_handler(nbtsrv->bcast_interface->nbtsock, nbt_request_handler, - nbtsrv->bcast_interface); - /* start the process of registering our names on all interfaces */ nbt_register_names(nbtsrv); } -- cgit