Commit graph

20 commits

Author SHA1 Message Date
Kjartan Maraas
c2b4b9c1d7 build: fix return types (bgo #644665)
Some functions were returning FALSE or 0 instead of NULL.
2011-03-14 01:05:51 -05:00
Kjartan Maraas
6d0d302916 build: do the right thing with config.h (bgo #644664)
1) it shouldn't be included in headers
2) it should be the first thing included in source files
3) it's needed for getting translation right
2011-03-14 01:01:22 -05:00
Jiří Klimeš
5444a35693 dns: fix up updating resolv.conf (rh #672282) 2011-02-22 18:30:29 +01:00
Dan Williams
6f37a967eb dns: direct IPv4 reverse DNS queries to split DNS servers
When split DNS is used for a local caching nameserver, make sure
that reverse DNS queries for hosts within the VPN tunnel are directed
to the VPN's nameservers, not to the public upstream nameservers.
2010-12-16 17:49:22 -06:00
Jiří Klimeš
f6f8ef2f8a dns: fix a crash due to uninitialized nis_domain (novell #655685)
Reported and tested by Raymond Wooninck. Thanks!
2010-11-24 12:51:08 +01:00
Dan Williams
be97e7f104 build: include <config.h> for kill(2), isblank(3), and isascii(3)
config.h defines _GNU_SOURCE, which in turn defines the bits necessary
for kill, isblank, and isascii.  So wherever we use those, we need
to make sure config.h is included.
2010-10-08 22:46:55 -05:00
Dan Williams
35b1ed9082 dns: actually kill stale dnsmasq process
Interpret the return value of kill(2) correctly...
2010-10-07 14:07:52 -05:00
Dan Williams
aeeac548a8 dns: fix use-after-free in plugin error path 2010-10-07 12:04:41 -05:00
Dan Williams
8199c7275b dns: warn that the BIND plugin is experimental
It's still got a bunch of issues that need debugging, like when VPN
nameservers exist but no domain and thus not doing split DNS, sometimes
hosts outside the VPN don't resolve correctly, which was previously
masked by having the non-VPN nameservers in /etc/resolv.conf where
glibc would erroneously use them instead of asking BIND.  To be fixed
in a subsequent patch.

The dnsmasq plugin seems to work great though.
2010-09-22 16:32:00 -05:00
Dan Williams
06bd99f617 dns: write only 127.0.0.1 to resolv.conf when caching
If all nameservers are listed in resolv.conf, glibc apparently
tries them all (even if 'options rotate' isn't specified??).  Leading
to queries for internet hosts being directed to VPN-specific DNS
servers in split-DNS situations.  I've verified this with wireshark;
I see queries going out over the tunnel to VPN nameservers for
non-internal addresses, while BIND itself never logs anything about
queries to VPN nameservers for that same address.  Thus the only
thing left is to blame glibc...
2010-09-21 00:18:15 -05:00
Dan Williams
20acb482c5 dns: allow random source ports for BIND caching DNS
Despite most guides saying that without restricting to port 53 queries
won't get through a firewall, I cannot make it work with this option.
DNS queries through a WRT54G just time out even when the WRT54G isn't
caching anything itself (ie, explicit upstream nameservers are the
forwarders in the bind config).
2010-09-21 00:08:01 -05:00
Dan Williams
e0a2aeaa7c dns: add BIND9 local caching nameserver support
For some reason split DNS doesn't work yet (all queries are directed
to the VPN nameserver if a VPN is active) but it otherwise works.
2010-09-16 15:31:47 -05:00
Dan Williams
1e33d1e906 dns: remove unused Chromium bits
This was supposed to hook up to the bits Adam Langley did last year
for his local-dns-cache DBus service, but I misunderstood the
architecture.  It was a separate service, not Chromium itself.  But
it's unclear what happened to his local-dns-cache since the project
doesn't seem to have any commits in a year and I'm unsure if it's
actually being used.  So remove this stuff for now.
2010-09-15 10:25:11 -05:00
Dan Williams
1da4a11ce5 dns: (dnsmasq) fix handling of multiple DNS servers in non-split configs 2010-09-14 23:55:41 -05:00
Dan Williams
57f6feb102 dns: only write out new DNS config if it really changed
Use a pseudo-hash to quickly check whether the DNS config has really
changed or not.  This is certainly better than the 500 line patch I
did then scrapped in favor of this approach... yay.  This helps ensure
that we don't kill then respawn caching DNS servers more often than
we have to.
2010-09-14 23:41:33 -05:00
Dan Williams
9d0775448c dns: use VPN nameservers first even if no domain was given
If the VPN client didn't provide a domain we still want to use the
VPN nameservers first, we just can't do split DNS.  Also use
--strict-order to ensure VPN nameservers are always chosen first.
2010-09-12 23:16:25 -05:00
Dan Williams
a2982b5f7b dns: hook plugins into DNS updates and make dnsmasq plugin actually work 2010-09-12 22:25:30 -05:00
Dan Williams
4da443dc69 dns: first cut of a dnsmasq local caching plugin 2010-09-10 18:02:40 -05:00
Dan Williams
64b6cd1ebc core: add DNS plugin config options 2010-09-09 17:14:20 -05:00
Dan Williams
9b2b809aae core: rename NMNamedManager -> NMDnsManager 2010-09-07 22:08:18 -05:00