summaryrefslogtreecommitdiff
path: root/source3/namedb.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/namedb.c')
-rw-r--r--source3/namedb.c80
1 files changed, 40 insertions, 40 deletions
diff --git a/source3/namedb.c b/source3/namedb.c
index 81b6c02048..a1ec983237 100644
--- a/source3/namedb.c
+++ b/source3/namedb.c
@@ -44,7 +44,7 @@ extern struct in_addr ipgrp;
struct browse_cache_record *browserlist = NULL;
/* this is our domain/workgroup/server database */
-struct domain_record *domainlist = NULL;
+struct subnet_record *subnetlist = NULL;
static BOOL updatedlists = True;
int updatecount=0;
@@ -61,7 +61,7 @@ int workgroup_count = 0; /* unique index key: one for each workgroup */
/****************************************************************************
add a workgroup into the domain list
**************************************************************************/
-static void add_workgroup(struct work_record *work, struct domain_record *d)
+static void add_workgroup(struct work_record *work, struct subnet_record *d)
{
struct work_record *w2;
@@ -89,7 +89,7 @@ static void add_workgroup(struct work_record *work, struct domain_record *d)
static struct work_record *make_workgroup(char *name)
{
struct work_record *work;
- struct domain_record *d;
+ struct subnet_record *d;
int t = -1;
if (!name || !name[0]) return NULL;
@@ -108,7 +108,7 @@ static struct work_record *make_workgroup(char *name)
/* make sure all token representations of workgroups are unique */
- for (d = domainlist; d && t == -1; d = d->next)
+ for (d = subnetlist; d && t == -1; d = d->next)
{
struct work_record *w;
for (w = d->workgrouplist; w && t == -1; w = w->next)
@@ -177,7 +177,7 @@ static void remove_old_servers(struct work_record *work, time_t t)
/*******************************************************************
remove workgroups
******************************************************************/
-struct work_record *remove_workgroup(struct domain_record *d,
+struct work_record *remove_workgroup(struct subnet_record *d,
struct work_record *work)
{
struct work_record *ret_work = NULL;
@@ -204,19 +204,19 @@ struct work_record *remove_workgroup(struct domain_record *d,
/****************************************************************************
add a domain into the list
**************************************************************************/
-static void add_domain(struct domain_record *d)
+static void add_subnet(struct subnet_record *d)
{
- struct domain_record *d2;
+ struct subnet_record *d2;
- if (!domainlist)
+ if (!subnetlist)
{
- domainlist = d;
+ subnetlist = d;
d->prev = NULL;
d->next = NULL;
return;
}
- for (d2 = domainlist; d2->next; d2 = d2->next);
+ for (d2 = subnetlist; d2->next; d2 = d2->next);
d2->next = d;
d->next = NULL;
@@ -305,7 +305,7 @@ void expire_browse_cache(time_t t)
that it get created/added anyway. this allows us to force entries in
lmhosts file to be added.
**************************************************************************/
-struct work_record *find_workgroupstruct(struct domain_record *d,
+struct work_record *find_workgroupstruct(struct subnet_record *d,
fstring name, BOOL add)
{
struct work_record *ret, *work;
@@ -342,13 +342,13 @@ struct work_record *find_workgroupstruct(struct domain_record *d,
{
if (lp_preferred_master() &&
strequal(lp_workgroup(), name) &&
- ismybcast(d->bcast_ip))
+ d->my_interface)
{
DEBUG(3, ("preferred master startup for %s\n", work->work_group));
work->needelection = True;
work->ElectionCriterion |= (1<<3);
}
- if (!ismybcast(d->bcast_ip))
+ if (!d->my_interface)
{
work->needelection = False;
}
@@ -359,21 +359,19 @@ struct work_record *find_workgroupstruct(struct domain_record *d,
}
/****************************************************************************
- find a domain in the domainlist
+ find a domain in the subnetlist
**************************************************************************/
-struct domain_record *find_domain(struct in_addr source_ip)
+struct subnet_record *find_domain(struct in_addr ip)
{
- struct domain_record *d;
+ struct subnet_record *d;
/* search through domain list for broadcast/netmask that matches
the source ip address */
- for (d = domainlist; d; d = d->next)
+ for (d = subnetlist; d; d = d->next)
{
- if (same_net(source_ip, d->bcast_ip, d->mask_ip))
- {
- return(d);
- }
+ if (same_net(ip, d->bcast_ip, d->mask_ip))
+ return(d);
}
return (NULL);
@@ -385,9 +383,9 @@ struct domain_record *find_domain(struct in_addr source_ip)
**************************************************************************/
void dump_workgroups(void)
{
- struct domain_record *d;
+ struct subnet_record *d;
- for (d = domainlist; d; d = d->next)
+ for (d = subnetlist; d; d = d->next)
{
if (d->workgrouplist)
{
@@ -416,23 +414,25 @@ void dump_workgroups(void)
/****************************************************************************
create a domain entry
****************************************************************************/
-static struct domain_record *make_domain(struct in_addr ip, struct in_addr mask)
+static struct subnet_record *make_subnet(struct in_addr bcast_ip,
+ struct in_addr mask)
{
- struct domain_record *d;
- d = (struct domain_record *)malloc(sizeof(*d));
+ struct subnet_record *d;
+ d = (struct subnet_record *)malloc(sizeof(*d));
if (!d) return(NULL);
bzero((char *)d,sizeof(*d));
- DEBUG(4, ("making domain %s ", inet_ntoa(ip)));
- DEBUG(4, ("%s\n", inet_ntoa(mask)));
+ DEBUG(4,("making subnet %s ", inet_ntoa(bcast_ip)));
+ DEBUG(4,("%s\n", inet_ntoa(mask)));
- d->bcast_ip = ip;
+ d->bcast_ip = bcast_ip;
d->mask_ip = mask;
d->workgrouplist = NULL;
-
- add_domain(d);
+ d->my_interface = ismybcast(d->bcast_ip);
+
+ add_subnet(d);
return d;
}
@@ -441,11 +441,11 @@ static struct domain_record *make_domain(struct in_addr ip, struct in_addr mask)
add a domain entry. creates a workgroup, if necessary, and adds the domain
to the named a workgroup.
****************************************************************************/
-struct domain_record *add_domain_entry(struct in_addr source_ip,
+struct subnet_record *add_subnet_entry(struct in_addr source_ip,
struct in_addr source_mask,
char *name, BOOL add)
{
- struct domain_record *d;
+ struct subnet_record *d;
struct in_addr ip;
ip = ipgrp;
@@ -455,7 +455,7 @@ struct domain_record *add_domain_entry(struct in_addr source_ip,
/* add the domain into our domain database */
if ((d = find_domain(source_ip)) ||
- (d = make_domain(source_ip, source_mask)))
+ (d = make_subnet(source_ip, source_mask)))
{
struct work_record *w = find_workgroupstruct(d, name, add);
@@ -547,7 +547,7 @@ struct browse_cache_record *add_browser_entry(char *name, int type, char *wg,
/****************************************************************************
add a server entry
****************************************************************************/
-struct server_record *add_server_entry(struct domain_record *d,
+struct server_record *add_server_entry(struct subnet_record *d,
struct work_record *work,
char *name,int servertype,
int ttl,char *comment,
@@ -584,7 +584,7 @@ struct server_record *add_server_entry(struct domain_record *d,
bzero((char *)s,sizeof(*s));
}
- if (ismybcast(d->bcast_ip) &&
+ if (d->my_interface &&
strequal(lp_workgroup(),work->work_group))
{
if (servertype)
@@ -633,7 +633,7 @@ struct server_record *add_server_entry(struct domain_record *d,
******************************************************************/
void write_browse_list(void)
{
- struct domain_record *d;
+ struct subnet_record *d;
pstring fname,fnamenew;
FILE *f;
@@ -661,7 +661,7 @@ void write_browse_list(void)
return;
}
- for (d = domainlist; d ; d = d->next)
+ for (d = subnetlist; d ; d = d->next)
{
struct work_record *work;
for (work = d->workgrouplist; work ; work = work->next)
@@ -706,9 +706,9 @@ void write_browse_list(void)
******************************************************************/
void expire_servers(time_t t)
{
- struct domain_record *d;
+ struct subnet_record *d;
- for (d = domainlist ; d ; d = d->next)
+ for (d = subnetlist ; d ; d = d->next)
{
struct work_record *work;