diff options
author | Aravind Srinivasan <aravind.srinivasan@isilon.com> | 2009-02-04 16:05:36 -0800 |
---|---|---|
committer | Steven Danneman <steven.danneman@isilon.com> | 2009-02-04 20:26:50 -0800 |
commit | 83cf98f113541acca5a9b4d6ad084d401b64706f (patch) | |
tree | d272a436b2a9e6d084401ca60ee0fb9038195bcf /source3/nmbd | |
parent | 7435b877c7969a72b6b17d3ce4df87c5629882b8 (diff) | |
download | samba-83cf98f113541acca5a9b4d6ad084d401b64706f.tar.gz samba-83cf98f113541acca5a9b4d6ad084d401b64706f.tar.bz2 samba-83cf98f113541acca5a9b4d6ad084d401b64706f.zip |
Have nmbd check all available interfaces for WINS before failing
When nmbd is acting as WINS, it picks the first interface's IP as WINS
server's IP. If the first interface's IP is zero, we will just quit
(even though we might have other interfaces with valid IPs).
This patch makes nmbd look at all interfaces and pick the first interface
with a valid IP as the WINS server's IP.
Diffstat (limited to 'source3/nmbd')
-rw-r--r-- | source3/nmbd/nmbd_become_dmb.c | 3 | ||||
-rw-r--r-- | source3/nmbd/nmbd_subnetdb.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/source3/nmbd/nmbd_become_dmb.c b/source3/nmbd/nmbd_become_dmb.c index a0b2ef15f8..827d56cb06 100644 --- a/source3/nmbd/nmbd_become_dmb.c +++ b/source3/nmbd/nmbd_become_dmb.c @@ -128,7 +128,8 @@ in workgroup %s on subnet %s\n", work->dmb_name = nmbname; - /* Pick the first interface IPv4 address as the domain master browser ip. */ + /* Pick the first interface IPv4 address as the domain master + * browser ip. */ nip = first_ipv4_iface(); if (!nip) { DEBUG(0,("become_domain_master_stage2: " diff --git a/source3/nmbd/nmbd_subnetdb.c b/source3/nmbd/nmbd_subnetdb.c index 61af0bb4a4..13bc931863 100644 --- a/source3/nmbd/nmbd_subnetdb.c +++ b/source3/nmbd/nmbd_subnetdb.c @@ -287,7 +287,8 @@ bool create_subnets(void) } if (lp_we_are_a_wins_server()) { - /* Pick the first interface IPv4 address as the WINS server ip. */ + /* Pick the first interface IPv4 address as the WINS server + * ip. */ const struct in_addr *nip = first_ipv4_iface(); if (!nip) { |