diff options
author | Stefan Metzmacher <metze@samba.org> | 2010-01-28 11:04:05 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2010-02-08 18:35:10 +0100 |
commit | 30a1bc365071befd07e68e24ca4fa3843159ab13 (patch) | |
tree | 46c66e57dda4239d21079d31ea3fbc4a6c49a4b7 /source3/nmbd/nmbd.c | |
parent | 6339de7f4fef46fb3ad32d1ecf9379f5b5d24ccb (diff) | |
download | samba-30a1bc365071befd07e68e24ca4fa3843159ab13.tar.gz samba-30a1bc365071befd07e68e24ca4fa3843159ab13.tar.bz2 samba-30a1bc365071befd07e68e24ca4fa3843159ab13.zip |
s3:nmbd: also listen explicit on the subnet broadcast addresses
And send replies always via the unicast address of the subnet.
This behavior is off by default (as before)
and can be enabled with "nmbd:bind explicit broadcast = yes".
metze
Diffstat (limited to 'source3/nmbd/nmbd.c')
-rw-r--r-- | source3/nmbd/nmbd.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index 961e930728..3b51a78dfe 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -443,13 +443,14 @@ static void msg_nmbd_send_packet(struct messaging_context *msg, local_ip = &((const struct sockaddr_in *)pss)->sin_addr; subrec = FIRST_SUBNET; - p->fd = (p->packet_type == NMB_PACKET) ? + p->recv_fd = -1; + p->send_fd = (p->packet_type == NMB_PACKET) ? subrec->nmb_sock : subrec->dgram_sock; for (subrec = FIRST_SUBNET; subrec != NULL; subrec = NEXT_SUBNET_EXCLUDING_UNICAST(subrec)) { if (ip_equal_v4(*local_ip, subrec->myip)) { - p->fd = (p->packet_type == NMB_PACKET) ? + p->send_fd = (p->packet_type == NMB_PACKET) ? subrec->nmb_sock : subrec->dgram_sock; break; } |