r12906: return the correct nb_flags
authorStefan Metzmacher <metze@samba.org>
Fri, 13 Jan 2006 16:27:47 +0000 (16:27 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:51:01 +0000 (13:51 -0500)
metze
(This used to be commit c52436108d1628feb50c9bf720ae30c4dc469b34)

source4/nbt_server/wins/winsserver.c

index 8760ffe922c6f94428bf57927766843552e2ac7a..b5c008121b424b1f2736a945f7bd26f9cc1026ba 100644 (file)
@@ -559,7 +559,7 @@ static void nbtd_winsserver_query(struct nbt_name_socket *nbtsock,
        struct winsdb_record *rec_1b = NULL;
        const char **addresses;
        const char **addresses_1b = NULL;
-       uint16_t nb_flags = 0; /* TODO: ... */
+       uint16_t nb_flags = 0;
 
        if (name->type == NBT_NAME_MASTER) {
                goto notfound;
@@ -606,6 +606,7 @@ static void nbtd_winsserver_query(struct nbt_name_socket *nbtsock,
                if (!addresses) {
                        goto notfound;
                }
+               nb_flags |= NBT_NM_GROUP;
                goto found;
        }
 
@@ -642,6 +643,12 @@ static void nbtd_winsserver_query(struct nbt_name_socket *nbtsock,
                }
        }
 
+       if (rec->type == WREPL_TYPE_SGROUP) {
+               nb_flags |= NBT_NM_GROUP;
+       } else {
+               nb_flags |= (rec->node <<13);           
+       }
+
 found:
        nbtd_name_query_reply(nbtsock, packet, src, name, 
                              0, nb_flags, addresses);