diff options
Diffstat (limited to 'source4/nbt_server/wins/winsserver.c')
-rw-r--r-- | source4/nbt_server/wins/winsserver.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source4/nbt_server/wins/winsserver.c b/source4/nbt_server/wins/winsserver.c index 78bf0bd141..44842c7542 100644 --- a/source4/nbt_server/wins/winsserver.c +++ b/source4/nbt_server/wins/winsserver.c @@ -370,6 +370,14 @@ static void nbtd_winsserver_query(struct nbt_name_socket *nbtsock, if (!addresses) { goto notfound; } + + /* if the query didn't come from loopback, then never give out + loopback in the reply, as loopback means something + different for the recipient than for us */ + if (strcmp(src->addr, "127.0.0.1") != 0) { + str_list_remove(addresses, "127.0.0.1"); + } + found: nbtd_name_query_reply(nbtsock, packet, src, name, 0, nb_flags, addresses); |