diff options
-rw-r--r-- | source3/nameelect.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/nameelect.c b/source3/nameelect.c index 82cebd3e6c..35cbd754d1 100644 --- a/source3/nameelect.c +++ b/source3/nameelect.c @@ -699,6 +699,14 @@ static BOOL win_election(struct work_record *work,int version,uint32 criterion, int mytimeup = time(NULL) - StartupTime; uint32 mycriterion = work->ElectionCriterion; + /* If local master is set to false then never win + in election broadcasts. */ + if(lp_local_master() == False) + { + DEBUG(3,("win_election: Losing election as local master == False\n")); + return False; + } + DEBUG(4,("election comparison: %x:%x %x:%x %d:%d %s:%s\n", version,ELECTION_VERSION, criterion,mycriterion, @@ -748,7 +756,7 @@ void process_election(struct packet_struct *p,char *buf) DEBUG(3,("Election request from %s %s vers=%d criterion=%08x timeup=%d\n", name,inet_ntoa(p->ip),version,criterion,timeup)); - + if (same_context(dgram)) return; for (work = d->workgrouplist; work; work = work->next) |