diff options
Diffstat (limited to 'source3/lib/interface.c')
-rw-r--r-- | source3/lib/interface.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/lib/interface.c b/source3/lib/interface.c index 1dc605ff2f..c920cc0cfc 100644 --- a/source3/lib/interface.c +++ b/source3/lib/interface.c @@ -400,6 +400,18 @@ BOOL ismybcast(struct in_addr bcast) } /**************************************************************************** + check if a packet is from a local (known) net + **************************************************************************/ +BOOL is_local_net(struct in_addr from) +{ + struct interface *i; + for (i=local_interfaces;i;i=i->next) + if((from.s_addr & i->nmask.s_addr) == (i->ip.s_addr & i->nmask.s_addr)) + return True; + return False; +} + +/**************************************************************************** how many interfaces do we have **************************************************************************/ int iface_count(void) |