summaryrefslogtreecommitdiff
path: root/source3/namepacket.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1997-10-18 00:22:04 +0000
committerJeremy Allison <jra@samba.org>1997-10-18 00:22:04 +0000
commit07c507728b6d3f5521e74aa14aedd5b37dea8c57 (patch)
tree9beb141c0221a535c1f178bb6a332f5c2c550ea4 /source3/namepacket.c
parentc336a2f08183f63031b0a08b2111669bc36a5f30 (diff)
downloadsamba-07c507728b6d3f5521e74aa14aedd5b37dea8c57.tar.gz
samba-07c507728b6d3f5521e74aa14aedd5b37dea8c57.tar.bz2
samba-07c507728b6d3f5521e74aa14aedd5b37dea8c57.zip
After talking with Andrew added "interfaces only" parameter that
turns off the filtering on the broadcast socket by default. Jeremy (jallison@whistle.com) (This used to be commit db9aad07481f48c0fe2108d4ab0b2bc9b632816c)
Diffstat (limited to 'source3/namepacket.c')
-rw-r--r--source3/namepacket.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/source3/namepacket.c b/source3/namepacket.c
index 55c850f254..ba1c4044a3 100644
--- a/source3/namepacket.c
+++ b/source3/namepacket.c
@@ -622,18 +622,12 @@ BOOL listen_for_packets(BOOL run_election)
struct packet_struct *packet = read_packet(sock_array[i], NMB_PACKET);
if (packet)
{
-
/*
- * If we got a packet on the broadcast socket check it
- * came from one of our local nets. We should only be
- * receiving broadcasts from nets we have subnets for.
- *
- * Note that this filter precludes remote announces.
- * If we need this to work we will have to add an
- * 'allow local announce' parameter that gives a
- * list of networks we will allow through the filter.
+ * If we got a packet on the broadcast socket and interfaces
+ * only is set then check it came from one of our local nets.
*/
- if((sock_array[i] == ClientNMB) && (!is_local_net(packet->ip)))
+ if(lp_interfaces_only() && (sock_array[i] == ClientNMB) &&
+ (!is_local_net(packet->ip)))
{
DEBUG(7,("discarding nmb packet sent to broadcast socket from %s:%d\n",
inet_ntoa(packet->ip),packet->port));
@@ -663,16 +657,11 @@ BOOL listen_for_packets(BOOL run_election)
if (packet)
{
/*
- * If we got a packet on the broadcast socket check it
- * came from one of our local nets. We should only be
- * receiving broadcasts from nets we have subnets for.
- *
- * Note that this filter precludes remote announces.
- * If we need this to work we will have to add an
- * 'allow local announce' parameter that gives a
- * list of networks we will allow through the filter.
+ * If we got a packet on the broadcast socket and interfaces
+ * only is set then check it came from one of our local nets.
*/
- if((sock_array[i] == ClientDGRAM) && (!is_local_net(packet->ip)))
+ if(lp_interfaces_only() && (sock_array[i] == ClientDGRAM) &&
+ (!is_local_net(packet->ip)))
{
DEBUG(7,("discarding dgram packet sent to broadcast socket from %s:%d\n",
inet_ntoa(packet->ip),packet->port));