David Wragg
cda6b8d582
Fix a few deviations from go fmt
2015-03-05 13:56:21 +00:00
Alvaro Saurin
4682f7ed95
zettio/weave#366 - removed reference to DNSServerConfig in the DNSServer struct
2015-02-27 15:40:32 +01:00
Alvaro Saurin
007873a402
zettio/weave#366 - keep the DNSServerConfig inmutable
2015-02-27 12:22:08 +01:00
Alvaro Saurin
0bc3e333f8
zettio/weave#366 - minor: fixed a typo and removed some superfluous code
2015-02-26 10:51:48 +01:00
Alvaro Saurin
403520f4b6
zettio/weave#366 - move more initialization code to the constructor
2015-02-26 10:51:48 +01:00
Alvaro Saurin
bbd69170f9
zettio/weave#366 - improved configuration for th DNSServer, where we can specify the local domain name among other things... (missing some unit tests for this customized local domain)
2015-02-26 10:51:48 +01:00
Alvaro Saurin
419138ec6a
zettio/weave#362 - use a WaitGroup for the TCP/UDP goroutines: otherwise, WeaveDNS server just quits
2015-02-23 13:17:54 +01:00
Alvaro Saurin
3de924fa2f
zettio/weave#362 - moved Check*() to common
2015-02-23 13:17:54 +01:00
Alvaro Saurin
5dd475b2e5
zettio/weave#362 - fix DNSServer initialization
...
removed a couple of goroutines spawns...
2015-02-23 13:17:54 +01:00
Alvaro Saurin
ef72d65aa4
zettio/weave#362 - use for fallback queries the same protocol clients have used for querying us.
2015-02-23 13:17:54 +01:00
Alvaro Saurin
9c7ffd9b81
zettio/weave#362 - improve the unit tests for the TCP server by checking if we get all the responses with TCP when a previous UDP query resulted in a truncated response.
2015-02-23 13:17:54 +01:00
Alvaro Saurin
c81769cc9a
zettio/weave#362 - implement a graceful shutdown
2015-02-23 13:17:54 +01:00
Alvaro Saurin
c1f9c8bc10
zettio/weave#362 - new constructor for creating a DNS server with a given config
...
fix unit tests by using the new constructor
2015-02-23 13:17:54 +01:00
Alvaro Saurin
3be5600383
zettio/weave#362 - reorganize the DNS server code, so it looks like the mDNS server, with a proper class with Start() and so...
...
Listen on TCP on port 53 by default
2015-02-23 13:17:54 +01:00
Michael Bridgen
1f9e321097
Merge branch '360_dns_buffer' of https://github.com/bboreham/weave into pr361
2015-02-04 16:35:14 +00:00
Bryan Boreham
04a7aa1405
Use buffer size 4096 on advice from a DNS expert
2015-02-04 14:58:21 +00:00
Matthias Radestock
9c3d509b10
cosmetics
...
suggested by linter
2015-02-03 14:46:35 +00:00
Bryan Boreham
458ef12da6
Use a larger buffer than the default, so that more queries will succeed
2015-02-02 13:26:44 +00:00
Bryan Boreham
e5a08a505d
Change DNS fallback test to use a locally-run server to generate long responses reliably
2015-02-02 13:24:37 +00:00
Bryan Boreham
9ae3f4c692
Only read /etc/resolv.conf once
2015-02-02 13:16:05 +00:00
Michael Bridgen
db9bae4162
Use the fallback for reverse lookups too
...
I considered a couple of different factorings, that is
* Implementing the fallback as a Lookup
* Having a server struct that held the resolv.conf and methods for
handling queries
but ultimately, this is simple and works.
2015-01-14 16:44:12 +00:00
Michael Bridgen
ff45bcf945
Change Lookup method names
...
The Local was redundant (and inaccurate in the case of the mDNS client
implementation), and otherwise they are too nondescript.
2015-01-12 17:42:23 +00:00
Michael Bridgen
5f642d390c
Pass queries for non-local names on to the configured nameserver
2015-01-12 17:12:15 +00:00
Michael Bridgen
b114735a41
Reform logging in weaveDNS
...
* Put prefixes (including msg IDs) in front of log messages to
distinguish them
* Failed lookups get logged under Info as per issue #311
* More accurate messages as per issue #311
2015-01-09 12:49:07 +00:00
Bryan Boreham
bd2844d186
Split http-startup code from server-startup
2015-01-08 18:38:38 +00:00
Michael Bridgen
bf752d2d1f
Implement zone lookup with MDNSCLient
...
This separates Zone into the DB ops and the Lookup ops, and implements
the latter for MDNSClient so it can be used just like the zonedb.
A notable change is that Lookup methods only ever return one result,
while MDNSClient.SendQuery could in theory return multiple results
(though it wouldn't, because no server would supply more than one
result in a response, and it stops waiting after getting one response
..).
ReverseLookupLocal is implemented even though no MDNSServer will
answer at present (hence no test yet).
Lastly, the handler (creating) functions can now be given a list of
Lookup implementations to try in order.
2015-01-08 13:39:33 +00:00
Michael Bridgen
3866bd5e63
Parse reverse address lookup IPs in the Zone
...
.. rather than making clients of the zone do it. At the minute there's
only one call site, but soon there will be more.
2015-01-08 13:39:33 +00:00
Bryan Boreham
82b54aabcd
Move logging, updating and testing utils into common directory
2015-01-02 14:49:49 +00:00
Matthias Radestock
2680e594dd
rename
2014-11-28 16:27:11 +00:00
Matthias Radestock
3cb6f1b3cc
handle AAAA queries for external IPs
...
Closes #188 .
2014-11-17 12:25:46 +00:00
Matthias Radestock
fda412a151
refactor: rename badly named function
...
makeAddressReply handles both A and AAAA records
2014-11-17 12:06:06 +00:00
Michael Bridgen
822ec90606
Rename weavedns package to nameserver, and fix up
2014-10-29 11:41:58 +00:00
Michael Bridgen
8469fea215
Move files around in preparation for melding into weave code
...
* library code will go in weave/nameserver/
* main.go for the server goes in weavedns/ with the containerising
2014-10-29 11:34:56 +00:00