Raj Chaudhuri
c1d3107418
Changed module name, edited default manifests in prog/weave-kube
...
* Module name changed to `github.com/rajch/weave`
* Added environment variable `CHECKPOINT_DISABLE=1` to default manifests, to bypass weaveworks telemetry
2024-03-01 18:05:19 +05:30
Raj Chaudhuri
2f49b8455a
github.com/miekg/dns upgraded with code change
...
It had breaking changes, detailed in the reweave CHANGELOG
2023-03-29 07:20:21 +05:30
Bryan Boreham
b0274e11be
Fetch DNS listen address from daemon
...
instead of assuming it's on the Docker bridge
Also move DNS address validation into NewDNSServer(),
so we only do it once.
2020-07-31 11:58:56 +00:00
Topper Bowers
83958561f7
some DNS clients send reverse lookups with uppercase suffixes. This lowercases the request before trimming the lowercase suffix. Problem discovered and discussed here: https://github.com/weaveworks/weave/issues/2817
2017-02-27 14:19:31 +01:00
Bryan Boreham
7c47a8ffb7
Log errors arising from reading resolv.conf
2016-07-11 12:08:04 +01:00
Adam Harrison
27e7ec08d4
Observe resolv.conf changes
2016-06-16 16:55:40 +01:00
Bryan Boreham
503546d2a9
Return DNS no-error with empty answer if we have a matching name
...
but the query is for a record type we don't support.
2016-05-03 17:33:51 +01:00
Adam Harrison
f64f63f675
Handle truncated responses from upstream servers
2015-11-02 15:00:02 +00:00
Tom Wilkie
58ae0cd113
Pass docker bridge ip to dns server, and filter it out of upstream dns ips.
2015-08-24 16:00:26 +00:00
Tom Wilkie
8516ab7c69
Unify logic to tell if DNS response is too big.
2015-08-21 12:39:12 +00:00
Matthias Radestock
2284bc2120
move error response construction to handler
...
and implement it in terms of existing functions, plus provide a
convenience method for sending the rather common NameError.
2015-08-21 12:09:22 +01:00
Matthias Radestock
0b5f5fd74e
extract response writing
2015-08-20 20:24:12 +01:00
Matthias Radestock
9a7abe68fd
optimise response construction when no truncation is required
...
no need to do a binary search if all the answers fit
2015-08-20 20:18:56 +01:00
Matthias Radestock
2ea27ec08f
simplify response truncation
2015-08-20 19:55:19 +01:00
Matthias Radestock
322441d5c8
inline truncateResponse
2015-08-20 19:55:19 +01:00
Matthias Radestock
7c7c302920
extract response construction
2015-08-20 19:17:03 +01:00
Matthias Radestock
69986e77dd
cosmetic
2015-08-20 18:46:55 +01:00
Matthias Radestock
8182022d52
refactor dns handlers
...
introduce a handler struct, which
- enables lifting of all the handle* closures to methods
- eliminates the passing around of defaultMaxResponseSize
- reduces the number of free-floating functions
2015-08-20 18:27:58 +01:00
Tom Wilkie
4f00dab4c4
Compress recursive answers if they are too big.
2015-08-17 18:25:26 +01:00
Matthias Radestock
755a949f6d
Merge pull request #1277 from weaveworks/1275-negative-dns
...
Return NXDOMAIN when we don't have entries
and drop the non-authoritative special case for recursive dns.
Fixes #1275 .
2015-08-10 17:19:44 +01:00
Tom Wilkie
c2d5b35cd6
Add test for negative DNS queries
2015-08-10 13:13:12 +00:00
Tom Wilkie
073836905a
Return NXDOMAIN when we don't have entries, and drop the non-authoritative special case for recursive dns.
2015-08-10 12:19:21 +00:00
Matthias Radestock
fd2a59417d
cosmetic
2015-08-10 12:39:00 +01:00
Tom Wilkie
db6ee9954c
Allow users to set dns listen address so we can run the weave router in the host net namespace.
2015-07-28 14:49:09 +00:00
Tom Wilkie
91395d6728
Use Msg.Copy!
2015-07-15 11:05:36 +00:00
Tom Wilkie
fa73240812
Copy dns requests and give them a fresh id when doing recursive queries.
2015-07-14 16:44:21 +00:00
Tom Wilkie
361ed1b4a6
Resolve unqualified domains in the weave.local domain.
2015-07-14 16:05:41 +00:00
Tom Wilkie
8b061fd555
Gossip-based DNS embedded in the router.
...
- Nameserver holds a sorted list of (hostname, peer, container id, ip) tuples.
- Entries are gossiped using topology gossip / broadcast - only new/updated entries
are propogated as expected.
- Entries for a given peer are removed when the connection to the peer is lost.
- Entries are tombstoned when containers die. Tombstones are kept for 10mins,
as they do not need to survive partition, only gossip propagation delay.
2015-07-14 16:00:38 +00:00
Tom Wilkie
01f7201a9e
Remove legacy WeaveDNS code.
2015-07-14 16:00:28 +00:00
Matthias Radestock
18032015b9
Revert "Resolve unqualified names in the local WeaveDNS domain"
2015-07-14 16:06:05 +01:00
Alvaro Saurin
efb0ead9ad
Resolve unqualified names in the local WeaveDNS domain
...
Unit tests
2015-07-14 10:46:41 +02:00
Alvaro Saurin
858a6dd253
Make the TTL returned for local answers configurable.
2015-05-29 12:50:18 +02:00
Alvaro Saurin
6d2317d60e
Silence "golint" errors
...
Silence "go vet" errors
Run goimports
2015-05-28 10:05:22 +02:00
Alvaro Saurin
954c5cb394
Limit the number of answers we provide to users.
2015-05-27 14:54:29 +02:00
Alvaro Saurin
c4b07fd44e
Shuffle all the replies, not only the ones from the cache...
2015-05-26 21:24:28 +02:00
Alvaro Saurin
07d15092aa
Do not invoke the mDNS lookups from the server: they are used from the Zone database now...
...
Improved DNS server:
- simplify the handlers code, removing duplicated code
- more configuration parameters (eg, we can now disable the cache)
- we can now bind to port 0 and let the server get a free port (so we can get rid of the mess we had in the unit tests...)
2015-05-26 21:20:42 +02:00
Alvaro Saurin
ba98135e03
Return NOTIMP for some unimplemented query types, NXDOMAIN otherwise
2015-05-05 21:31:11 +02:00
Alvaro Saurin
58c8945b32
Support "insistent" queries in the mDNS client, used for obtaining all possible responses from mDNS servers.
...
Support for multiple responses from Lookup*() methods
Support for multiple records when building packets with make*() methods
Use a common "ZoneRecord" interface for structs that contain names and IPs
2015-04-23 13:01:29 +02:00
Matthias Radestock
1ad950f177
cosmetic: more linting
2015-03-27 01:12:16 +00:00
Matthias Radestock
2d83fcc398
oops
2015-03-26 18:37:37 +00:00
Matthias Radestock
44a4dd9888
cosmetic: go vet
2015-03-26 18:36:00 +00:00
Adam Harrison
efb7c0f1bc
gofmt
2015-03-26 10:54:46 +00:00
Alvaro Saurin
9dcec8ca16
basic DNS cache
...
unit tests
2015-03-24 12:44:01 +01: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