r12437: if the client gives us an unicast name query with recursion_desired,
authorStefan Metzmacher <metze@samba.org>
Thu, 22 Dec 2005 20:35:01 +0000 (20:35 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:47:39 +0000 (13:47 -0500)
it's a wins server request, even if it's a name of one of our interfaces

metze
(This used to be commit 33c1d4a078a16ad45a3957f4d053b089a76f9935)

source4/nbt_server/query.c

index 1d8a61075024314f07599da759d7ad5d38559b2a..f71d7b99ed14c2e6dcab9ece9457025868b7d331 100644 (file)
@@ -54,6 +54,12 @@ void nbtd_request_query(struct nbt_name_socket *nbtsock,
        /* see if we have the requested name on this interface */
        name = &packet->questions[0].name;
 
+       if (!(packet->operation & NBT_FLAG_BROADCAST) &&
+          (packet->operation & NBT_FLAG_RECURSION_DESIRED)) {
+               nbtd_winsserver_request(nbtsock, packet, src);
+               return;
+       }
+
        iname = nbtd_find_iname(iface, name, 0);
 
        if (iname == NULL) {
@@ -62,13 +68,6 @@ void nbtd_request_query(struct nbt_name_socket *nbtsock,
                        return;
                }
 
-               /* if the name does not exist, then redirect to WINS
-                  server if recursion has been asked for */
-               if (packet->operation & NBT_FLAG_RECURSION_DESIRED) {
-                       nbtd_winsserver_request(nbtsock, packet, src);
-                       return;
-               }
-
                /* otherwise send a negative reply */
                nbtd_negative_name_query_reply(nbtsock, packet, src);
                return;