From 9ad5a3fe36ac2b32bcb7a50c608ec586629f2125 Mon Sep 17 00:00:00 2001 From: Samba Release Account Date: Sat, 24 Aug 1996 01:41:46 +0000 Subject: removed all of lukes recent changes. I need to do a p2 release but can't test the multi group changes. I also found that some of lukes changes wiped out some recent bug fixes. Is your CVS tree ok luke? (This used to be commit 8b7fe224bce64803d55ae279fa61ef3ebbbb0241) --- source3/namedbserver.c | 89 +++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 44 deletions(-) (limited to 'source3/namedbserver.c') diff --git a/source3/namedbserver.c b/source3/namedbserver.c index 260f8f3475..afb1dc1431 100644 --- a/source3/namedbserver.c +++ b/source3/namedbserver.c @@ -50,7 +50,7 @@ extern BOOL updatedlists; remove_all_servers indicates everybody dies. ******************************************************************/ void remove_old_servers(struct work_record *work, time_t t, - BOOL remove_all) + BOOL remove_all) { struct server_record *s; struct server_record *nexts; @@ -59,23 +59,23 @@ void remove_old_servers(struct work_record *work, time_t t, for (s = work->serverlist; s; s = nexts) { if (remove_all || (s->death_time && (t == -1 || s->death_time < t))) - { - DEBUG(3,("Removing dead server %s\n",s->serv.name)); - updatedlists = True; - nexts = s->next; - - if (s->prev) s->prev->next = s->next; - if (s->next) s->next->prev = s->prev; - - if (work->serverlist == s) - work->serverlist = s->next; - - free(s); - } + { + DEBUG(3,("Removing dead server %s\n",s->serv.name)); + updatedlists = True; + nexts = s->next; + + if (s->prev) s->prev->next = s->next; + if (s->next) s->next->prev = s->prev; + + if (work->serverlist == s) + work->serverlist = s->next; + + free(s); + } else - { - nexts = s->next; - } + { + nexts = s->next; + } } } @@ -107,17 +107,17 @@ static void add_server(struct work_record *work,struct server_record *s) **************************************************************************/ struct server_record *find_server(struct work_record *work, char *name) { - struct server_record *ret; + struct server_record *ret; - if (!work) return NULL; - - for (ret = work->serverlist; ret; ret = ret->next) - { - if (strequal(ret->serv.name,name)) - { - return ret; - } - } + if (!work) return NULL; + + for (ret = work->serverlist; ret; ret = ret->next) + { + if (strequal(ret->serv.name,name)) + { + return ret; + } + } return NULL; } @@ -126,15 +126,14 @@ struct server_record *find_server(struct work_record *work, char *name) add a server entry ****************************************************************************/ struct server_record *add_server_entry(struct subnet_record *d, - struct work_record *work, - char *name,int servertype, - int ttl,char *comment, - BOOL replace) + struct work_record *work, + char *name,int servertype, + int ttl,char *comment, + BOOL replace) { BOOL newentry=False; struct server_record *s; - int token = conf_workgroup_name_to_token(work->work_group, myname); - + if (name[0] == '*') { return (NULL); @@ -161,14 +160,16 @@ struct server_record *add_server_entry(struct subnet_record *d, bzero((char *)s,sizeof(*s)); } - if (conf_should_workgroup_member(token)) - { - if (servertype) servertype |= SV_TYPE_LOCAL_LIST_ONLY; - } + + if (strequal(lp_workgroup(),work->work_group)) + { + if (servertype) + servertype |= SV_TYPE_LOCAL_LIST_ONLY; + } else - { + { servertype &= ~SV_TYPE_LOCAL_LIST_ONLY; - } + } /* update the entry */ StrnCpy(s->serv.name,name,sizeof(s->serv.name)-1); @@ -193,8 +194,8 @@ struct server_record *add_server_entry(struct subnet_record *d, } DEBUG(3,("server entry %s of type %x (%s) to %s %s\n", - name,servertype,comment, - work->work_group,inet_ntoa(d->bcast_ip))); + name,servertype,comment, + work->work_group,inet_ntoa(d->bcast_ip))); return(s); } @@ -212,9 +213,9 @@ void expire_servers(time_t t) struct work_record *work; for (work = d->workgrouplist; work; work = work->next) - { - remove_old_servers(work, t, False); - } + { + remove_old_servers(work, t, False); + } } } -- cgit