]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: nmbd: Don't set work_changed = True inside update_server_ttl().
authorJeremy Allison <jra@samba.org>
Fri, 1 May 2015 16:56:59 +0000 (09:56 -0700)
committerKarolin Seeger <kseeger@samba.org>
Wed, 6 May 2015 20:32:36 +0000 (22:32 +0200)
This is taken care of inside expire_servers() when it calls
remove_server_from_workgroup().

Ensure the only functions in nmbd_serverlistdb.c that
set subnet->work_changed are:

remove_all_servers()
add_server_to_workgroup()
remove_server_from_workgroup()

Fix inspired by a change from Volker.

https://bugzilla.samba.org/show_bug.cgi?id=11254

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit c3c820a661c092de31d56c16c8cd1ec57999d2f7)

Autobuild-User(v4-1-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-1-test): Wed May  6 22:32:36 CEST 2015 on sn-devel-104

source3/nmbd/nmbd_serverlistdb.c

index 05ca6e9367fc5dfb9fafbf148a326a69ca33e951..9bc4a20bc8393f791a98e7ad2ea20a9cd5876249 100644 (file)
@@ -133,8 +133,6 @@ workgroup %s. This is a bug.\n", name, work->work_group));
        DEBUG(3,("create_server_on_workgroup: Created server entry %s of type %x (%s) on \
 workgroup %s.\n", name,servertype,comment, work->work_group));
  
-       work->subnet->work_changed = True;
        return(servrec);
 }
 
@@ -151,8 +149,6 @@ void update_server_ttl(struct server_record *servrec, int ttl)
                servrec->death_time = PERMANENT_TTL;
        else
                servrec->death_time = (ttl != PERMANENT_TTL) ? time(NULL)+(ttl*3) : PERMANENT_TTL;
-
-       servrec->subnet->work_changed = True;
 }
 
 /*******************************************************************
@@ -172,7 +168,6 @@ void expire_servers(struct work_record *work, time_t t)
                if ((servrec->death_time != PERMANENT_TTL) && ((t == -1) || (servrec->death_time < t))) {
                        DEBUG(3,("expire_old_servers: Removing timed out server %s\n",servrec->serv.name));
                        remove_server_from_workgroup(work, servrec);
-                       work->subnet->work_changed = True;
                }
        }
 }