summaryrefslogtreecommitdiff
path: root/source3/nmbd/nmbd_winsserver.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-06-29 00:51:31 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:52:04 -0500
commite8a1292d91e4442fc98f080cae79201575353995 (patch)
tree9d0dc7d5bcd211b9c16f52f9ecd91224c1843cc7 /source3/nmbd/nmbd_winsserver.c
parentd095357d08e3944a7b2e490b2a809cc200f85995 (diff)
downloadsamba-e8a1292d91e4442fc98f080cae79201575353995.tar.gz
samba-e8a1292d91e4442fc98f080cae79201575353995.tar.bz2
samba-e8a1292d91e4442fc98f080cae79201575353995.zip
r1290: Ensure we remove DNS and DNSFAIL records immediately on timeout.
Fix for #607. Jeremy. (This used to be commit e6ff6d95d21ff071d0fb7266987c75fd15f6652f)
Diffstat (limited to 'source3/nmbd/nmbd_winsserver.c')
-rw-r--r--source3/nmbd/nmbd_winsserver.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/nmbd/nmbd_winsserver.c b/source3/nmbd/nmbd_winsserver.c
index 582338d710..8ebdfadbf7 100644
--- a/source3/nmbd/nmbd_winsserver.c
+++ b/source3/nmbd/nmbd_winsserver.c
@@ -1727,11 +1727,16 @@ void initiate_wins_processing(time_t t)
&& (namerec->data.death_time < t) ) {
if( namerec->data.source == SELF_NAME ) {
- DEBUG( 3, ( "expire_names_on_subnet: Subnet %s not expiring SELF name %s\n",
+ DEBUG( 3, ( "initiate_wins_processing: Subnet %s not expiring SELF name %s\n",
wins_server_subnet->subnet_name, nmb_namestr(&namerec->name) ) );
namerec->data.death_time += 300;
namerec->subnet->namelist_changed = True;
continue;
+ } else if (namerec->data.source == DNS_NAME || namerec->data.source == DNSFAIL_NAME) {
+ DEBUG(3,("initiate_wins_processing: deleting timed out DNS name %s\n",
+ nmb_namestr(&namerec->name)));
+ remove_name_from_namelist( wins_server_subnet, namerec );
+ break;
}
/* handle records, samba is the wins owner */