struct wins_dead *next, *prev;
} *dead_servers;
-/* nmbd sets this */
-BOOL global_in_nmbd = False;
-
/* an internal convenience structure for an IP with a short string tag
attached */
struct tagged_ip {
int count = 0;
if (lp_wins_support()) {
- if (global_in_nmbd) return 0;
-
/* simple - just talk to ourselves */
return 1;
}
char **list;
if (lp_wins_support()) {
- if (global_in_nmbd) return NULL;
/* give the caller something to chew on. This makes
the rest of the logic simpler (ie. less special cases) */
ret = (char **)malloc(sizeof(char *)*2);
/* if we are a wins server then we always just talk to ourselves */
if (lp_wins_support()) {
- if (global_in_nmbd) return 0;
return 1;
}
inet_ntoa(packet->ip),packet->port));
free_packet(packet);
} else if ((ip_equal(loopback_ip, packet->ip) ||
- ismyip(packet->ip)) && packet->port == global_nmb_port) {
- DEBUG(7,("discarding own packet from %s:%d\n",
+ ismyip(packet->ip)) && packet->port == global_nmb_port &&
+ packet->packet.nmb.header.nm_flags.bcast) {
+ DEBUG(7,("discarding own bcast packet from %s:%d\n",
inet_ntoa(packet->ip),packet->port));
free_packet(packet);
} else {
free_packet(packet);
} else if ((ip_equal(loopback_ip, packet->ip) ||
ismyip(packet->ip)) && packet->port == DGRAM_PORT) {
- DEBUG(7,("discarding own packet from %s:%d\n",
+ DEBUG(7,("discarding own dgram packet from %s:%d\n",
inet_ntoa(packet->ip),packet->port));
free_packet(packet);
} else {