svn commit: samba r12577 - in branches/SAMBA_4_0/source/nbt_server:
.
metze at samba.org
metze at samba.org
Thu Dec 29 16:58:36 GMT 2005
Author: metze
Date: 2005-12-29 16:58:35 +0000 (Thu, 29 Dec 2005)
New Revision: 12577
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12577
Log:
filter the loopback addresses like this 127.*.*.* and not only 127.0.0.1
metze
Modified:
branches/SAMBA_4_0/source/nbt_server/interfaces.c
Changeset:
Modified: branches/SAMBA_4_0/source/nbt_server/interfaces.c
===================================================================
--- branches/SAMBA_4_0/source/nbt_server/interfaces.c 2005-12-29 16:26:06 UTC (rev 12576)
+++ branches/SAMBA_4_0/source/nbt_server/interfaces.c 2005-12-29 16:58:35 UTC (rev 12577)
@@ -251,15 +251,22 @@
struct nbtd_server *nbtsrv = iface->nbtsrv;
const char **ret = NULL;
struct nbtd_interface *iface2;
+ BOOL is_loopback = False;
if (iface->ip_address) {
+ is_loopback = iface_same_net(iface->ip_address, "127.0.0.1", "255.0.0.0");
ret = str_list_add(ret, iface->ip_address);
}
for (iface2=nbtsrv->interfaces;iface2;iface2=iface2->next) {
- if (iface->ip_address &&
- strcmp(iface2->ip_address, iface->ip_address) == 0) {
- continue;
+ if (iface2 == iface) continue;
+
+ if (!iface2->ip_address) continue;
+
+ if (!is_loopback) {
+ if (iface_same_net(iface2->ip_address, "127.0.0.1", "255.0.0.0")) {
+ continue;
+ }
}
ret = str_list_add(ret, iface2->ip_address);
@@ -267,15 +274,6 @@
talloc_steal(mem_ctx, ret);
- /* 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 (ret != NULL &&
- iface->ip_address != NULL &&
- strcmp(iface->ip_address, "127.0.0.1") != 0) {
- str_list_remove(ret, "127.0.0.1");
- }
-
return ret;
}
More information about the samba-cvs
mailing list