diff options
author | Andrew Tridgell <tridge@samba.org> | 1996-06-07 03:34:22 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1996-06-07 03:34:22 +0000 |
commit | d160d93d8fad563400aa1e1274437df1fbd4ecbf (patch) | |
tree | d6304b986418030366e6e8a9462dd6cd6ddcf72d /source3/namework.c | |
parent | bb0a9664f56c168e11e6b127909f558e3b4f313d (diff) | |
download | samba-d160d93d8fad563400aa1e1274437df1fbd4ecbf.tar.gz samba-d160d93d8fad563400aa1e1274437df1fbd4ecbf.tar.bz2 samba-d160d93d8fad563400aa1e1274437df1fbd4ecbf.zip |
- added predict.c, moving the routines from util.c
- added iface_count() and iface_n_ip() routines so its easy to loop
over the local interface list
- made readsize a normal loadparm global
- check for null w in add_domain_entry()
- set the deathtime to time()-1 for doamin entries with servertype==0
This allows servers that are shutting down to be removed
- add the 0x1c name at startup if we are a WINS server. Previously we
added it only if we were a master
- loop over interfaces in add_my_domains(), so people don't have to
have a lmhosts file to get lp_workgroup() on all interfaces
- set add to True for find_workgroupstruct() in nmbsync, and check for
null return
- remove some ugly "errno = EBADF" bits. they just confused things.
(This used to be commit 88b191b48836eeb7937f25b37d0bdd4a2276e5a7)
Diffstat (limited to 'source3/namework.c')
-rw-r--r-- | source3/namework.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/source3/namework.c b/source3/namework.c index cbf65a955f..5e61ecefb4 100644 --- a/source3/namework.c +++ b/source3/namework.c @@ -270,16 +270,19 @@ void update_from_reg(char *name, int type, struct in_addr ip) /**************************************************************************** add the default workgroup into my domain **************************************************************************/ -void add_my_domains(void) +void add_my_domains(char *group) { - /* add or find domain on our local subnet, in the default workgroup */ - - if (*lp_workgroup() != '*') - { - add_domain_entry(*iface_bcast(ipzero), - *iface_nmask(ipzero), - lp_workgroup(), True); - } + int n,i; + struct in_addr *ip; + + if (*group == '*') return; + + n = iface_count(); + for (i=0;i<n;i++) { + ip = iface_n_ip(i); + if (!ip) return; + add_domain_entry(*iface_bcast(*ip),*iface_nmask(*ip),lp_workgroup(),True); + } } @@ -728,7 +731,7 @@ static void process_reset_browser(struct packet_struct *p,char *buf) struct work_record *work; for (work=d->workgrouplist;work;work=remove_workgroup(d,work)); } - add_my_domains(); + add_my_domains(lp_workgroup()); } /* stop browsing altogether. i don't think this is a good idea! */ |