summaryrefslogtreecommitdiff
path: root/source3/nmbd/nmbd_namerelease.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/nmbd/nmbd_namerelease.c')
-rw-r--r--source3/nmbd/nmbd_namerelease.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source3/nmbd/nmbd_namerelease.c b/source3/nmbd/nmbd_namerelease.c
index fd35181f33..cefab44a08 100644
--- a/source3/nmbd/nmbd_namerelease.c
+++ b/source3/nmbd/nmbd_namerelease.c
@@ -147,9 +147,14 @@ static void release_name_timeout_response(struct subnet_record *subrec,
DEBUG(2,("release_name_timeout_response: WINS server at address %s is not \
responding.\n", inet_ntoa(rrec->packet->ip)));
- /* Keep trying to contact the WINS server periodically. This allows
- us to work correctly if the WINS server is down temporarily when
- we want to delete the name. */
+ /* mark it temporarily dead */
+ wins_srv_died(rrec->packet->ip);
+
+ /* and try the next wins server */
+ rrec->packet->ip = wins_srv_ip();
+
+ /* also update the UNICODE subnet IPs */
+ subrec->bcast_ip = subrec->mask_ip = subrec->myip = rrec->packet->ip;
/* Reset the number of attempts to zero and double the interval between
retries. Max out at 5 minutes. */