Bryan Boreham
fa0331cb6d
Ensure we only attempt to handle TypeA queries
2014-10-24 13:03:26 +01:00
Bryan Boreham
d6f313eac2
Improve debug messages
2014-10-24 12:46:02 +01:00
Bryan Boreham
5f3080b9db
Don't crash when printing name of nil interface
2014-10-24 12:37:28 +01:00
Michael Bridgen
ad44a8816f
Remove subnets from API, since we don't use them
2014-10-23 16:43:41 +01:00
Michael Bridgen
840c0b9f86
Renamed variables for consistency
2014-10-23 16:23:55 +01:00
Bryan Boreham
c63b163703
Formatting in error message
2014-10-22 18:27:55 +01:00
Bryan Boreham
94a812d98f
Factor out error type checks
2014-10-22 18:24:02 +01:00
Bryan Boreham
0a5990bd6e
Factor out testing status checks
2014-10-22 16:59:28 +01:00
Bryan Boreham
d84226cc31
Factor out testing error checks
2014-10-22 16:52:35 +01:00
Michael Bridgen
156314a802
Complete multicast requests on first response
...
This is the simplest thing that works, is consistent with what happens
if there's a local answer, and avoids having all multicast requests
last 250ms or more.
Since we're no longer waiting *at least* the timeout period, I've
bumped the multicast response timeout up to half a second.
There was also a bug whereby the query would be entered into the
inflight map even if the socket write had failed (and the channel had
been closed).
2014-10-22 13:35:40 +01:00
Michael Bridgen
e21069f3ab
Factored out HTTP error + log
2014-10-22 11:58:55 +01:00
Michael Bridgen
1d5a55ea75
Factored out more (but different) err != nil code
2014-10-21 17:06:46 +01:00
Michael Bridgen
0615d122e9
Made zone return errors and http idempotent
...
The Zone DB tells you if you have a duplicate or missing record, but
the HTTP server smoothes these over.
2014-10-21 17:05:03 +01:00
Michael Bridgen
5c6410a3c6
Refactored indexOf*
2014-10-21 15:49:42 +01:00
Michael Bridgen
23edd79177
Changed Lock to RLock when matching
2014-10-21 14:01:07 +01:00
Michael Bridgen
6eb7d71499
Substituted checkFatal for repeated if err == nil
2014-10-21 13:58:12 +01:00
Michael Bridgen
1a593fc81f
Used an init func instead of initialisers
...
Ends up slightly neater. (Also note Error goes from os.Stdout to
os.Stderr)
2014-10-21 12:25:05 +01:00
Bryan Boreham
10685a495e
Set up defaults so it doesn't crash in tests
2014-10-21 11:57:12 +01:00
Bryan Boreham
699b685969
Adjust test to match change in ListenHttp
2014-10-21 11:55:13 +01:00
Bryan Boreham
dd27396ce0
Merge remote-tracking branch 'upstream/master'
2014-10-21 10:15:57 +01:00
Michael Bridgen
35c09f37b9
Added logging.go, required by prior changes
2014-10-20 18:27:24 +01:00
Michael Bridgen
55d21d0ec1
Replaced another log.Printf
...
(in a file I hadn't noticed)
2014-10-20 18:22:25 +01:00
Michael Bridgen
337919d741
Replaced ad-hoc printf with log levels
2014-10-20 18:18:16 +01:00
Michael Bridgen
d3d07deec6
Changed local domain handling
...
1. The local domain is now ".weave.local", which is safer from TLD
pollution
2. If the name given for an IP isn't a subdomain of the local domain,
ignore it
2014-10-20 18:11:14 +01:00
Bryan Boreham
1b0066cc98
Commented on stop-gap data structure
2014-10-20 17:51:00 +01:00
Bryan Boreham
bce06d2e9b
Wait for interface in main
2014-10-20 17:26:11 +01:00
Bryan Boreham
b8a06521c0
Extract interface util functions to their own file
2014-10-20 17:21:35 +01:00
Bryan Boreham
3af058481e
Support returning AAAA records from delegated DNS queries
2014-10-20 17:18:17 +01:00
Bryan Boreham
624db7bdff
Replace hard-coded 4 with const for channel size
2014-10-20 16:59:39 +01:00
Bryan Boreham
b2dc08fd25
forgot to remove 'dns'
2014-10-20 16:00:56 +01:00
Bryan Boreham
9cfb93ab7b
Simplified algorithm in checkInFlightQueries()
2014-10-20 15:43:13 +01:00
Bryan Boreham
217e5e921e
Extract checkInFlightQueries method
2014-10-20 15:19:11 +01:00
Bryan Boreham
81c5690329
Hoist WriteMsg calls up
2014-10-20 15:00:59 +01:00
Bryan Boreham
dcce09de52
Clean up some code-review issues
2014-10-20 14:21:29 +01:00
Bryan Boreham
8e2af9eec5
Tidy up exported/non-exported fields
2014-10-20 12:41:40 +01:00
Michael Bridgen
a3cede3027
Tidied up a few printfs
2014-10-17 15:24:51 +01:00
Michael Bridgen
0749460652
Moved updater into server
...
While we're only reacting to containers going away, it's more
convenient to bundle the docker events watcher into the server.
I've added a flag to switch it on; and switched it on by default in
the container.
I also implemented `Zone.DeleteRecordsFor(ident)`, which removes all
records for a particular container.
One minor change to the structure of the code is that the Zone is now
constructed *outside* the server, and given to it and the updater.
2014-10-16 15:38:32 +01:00
Bryan Boreham
6e3e7dcd68
Support DELETE function
2014-10-14 17:01:13 +01:00
Bryan Boreham
11ec66111a
Check duplicate add
2014-10-14 17:00:14 +01:00
Bryan Boreham
4709f852c3
Better error reporting
2014-10-14 16:59:00 +01:00
Bryan Boreham
6d32ac80b7
Better error reporting
2014-10-14 16:50:20 +01:00
Bryan Boreham
ff540265a9
Better error-checking
2014-10-14 16:49:27 +01:00
Bryan Boreham
10772f8289
Better error-checking
2014-10-14 16:12:50 +01:00
Bryan Boreham
bc87c7c94b
Initial Zone tests
2014-10-14 16:06:25 +01:00
Bryan Boreham
8ebc06315c
Detect duplicate add
2014-10-14 16:06:08 +01:00
Bryan Boreham
9bd464a003
Make putForm more generic
2014-10-14 15:23:20 +01:00
Bryan Boreham
7f6e0a1e42
Make error message more helpful
2014-10-14 15:19:20 +01:00
Bryan Boreham
36fa3cca73
Tidy up
2014-10-14 14:12:42 +01:00
Bryan Boreham
6bff651e87
Changed to new URL scheme with container identifier
...
Implementation matches design.md better:
- http action changes from POST /add to PUT /name
- each record now has the container identifier
2014-10-14 11:55:45 +01:00
Bryan Boreham
50d343e2fb
Use specified port for http listener
2014-10-10 17:36:46 +01:00