1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

s3-nmbd: don't discard DGRAM frames from local addresses when we are a DC

Winbind use netbios to locate the DC, if samba is also a DC then nmbd
receive request from Winbind that are from a local address, those
requests must not be discarded otherwise winbind can't find the DC and
won't try another method.

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Fri Feb  3 11:09:29 CET 2012 on sn-devel-104
This commit is contained in:
Matthieu Patou 2012-01-27 16:12:52 -08:00 committed by Matthieu Patou
parent 9b43ad4fca
commit 357631b8b9

View File

@ -1995,21 +1995,23 @@ bool listen_for_packets(struct messaging_context *msg, bool run_election)
continue;
}
if ((is_loopback_ip_v4(packet->ip) || ismyip_v4(packet->ip)) &&
packet->port == client_port)
{
if (client_port == DGRAM_PORT) {
DEBUG(7,("discarding own dgram packet from %s:%d\n",
inet_ntoa(packet->ip),packet->port));
free_packet(packet);
continue;
}
if (!IS_DC) {
if ((is_loopback_ip_v4(packet->ip) || ismyip_v4(packet->ip)) &&
packet->port == client_port)
{
if (client_port == DGRAM_PORT) {
DEBUG(7,("discarding own dgram packet from %s:%d\n",
inet_ntoa(packet->ip),packet->port));
free_packet(packet);
continue;
}
if (packet->packet.nmb.header.nm_flags.bcast) {
DEBUG(7,("discarding own nmb bcast packet from %s:%d\n",
inet_ntoa(packet->ip),packet->port));
free_packet(packet);
continue;
if (packet->packet.nmb.header.nm_flags.bcast) {
DEBUG(7,("discarding own nmb bcast packet from %s:%d\n",
inet_ntoa(packet->ip),packet->port));
free_packet(packet);
continue;
}
}
}