summaryrefslogtreecommitdiff
path: root/source3/nmbd/nmbd_incomingdgrams.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1997-12-16 07:30:25 +0000
committerJeremy Allison <jra@samba.org>1997-12-16 07:30:25 +0000
commit5d4345b66de2bbf9d60e78682d820adb30b52a79 (patch)
treec63ee54a374d9ad3c485cadd1fc7197dd84617c1 /source3/nmbd/nmbd_incomingdgrams.c
parent95d600a3521ef97cad9852a09e534c0c7ae8a8d7 (diff)
downloadsamba-5d4345b66de2bbf9d60e78682d820adb30b52a79.tar.gz
samba-5d4345b66de2bbf9d60e78682d820adb30b52a79.tar.bz2
samba-5d4345b66de2bbf9d60e78682d820adb30b52a79.zip
nmbd_incomingdgrams.c: Fix bug with Syntax 5.1 servers reported by SGI where
they do host announcements to LOCAL_MASTER_BROWSER_NAME<00> rather than WORKGROUP<1d>. nmbd_incomingrequests.c: Deal with WINS_PROXY_NAME issues - don't reply with that name if it's the same broadcast net. nmbd_serverlistdb.c: Stopped writing "Unknown" for local master browsers we don't know. nmbd_winsproxy.c: Deal with WINS_PROXY_NAME issues - don't reply with that name if it's the same broadcast net. Jeremy. (This used to be commit 5adfff94c9020bd57f84ccbc8fba5b1d8d1615af)
Diffstat (limited to 'source3/nmbd/nmbd_incomingdgrams.c')
-rw-r--r--source3/nmbd/nmbd_incomingdgrams.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/nmbd/nmbd_incomingdgrams.c b/source3/nmbd/nmbd_incomingdgrams.c
index 24b4f33838..d43b1369e6 100644
--- a/source3/nmbd/nmbd_incomingdgrams.c
+++ b/source3/nmbd/nmbd_incomingdgrams.c
@@ -135,6 +135,17 @@ void process_host_announce(struct subnet_record *subrec, struct packet_struct *p
work_name = dgram->dest_name.name;
/*
+ * Syntax servers version 5.1 send HostAnnounce packets to
+ * *THE WRONG NAME*. They send to LOCAL_MASTER_BROWSER_NAME<00>
+ * instead of WORKGROUP<1d> name. So to fix this we check if
+ * the workgroup name is our own name, and if so change it
+ * to be our primary workgroup name.
+ */
+
+ if(strequal(work_name, myname))
+ work_name = myworkgroup;
+
+ /*
* We are being very agressive here in adding a workgroup
* name on the basis of a host announcing itself as being
* in that workgroup. Maybe we should wait for the workgroup