Adam Harrison
745b8effbb
Merge pull request #503 from tomwilkie/travis
...
Setup Travis CI for Weave.
2015-04-01 09:43:41 +01:00
rade
cf9f8499fb
Merge pull request #504 from errordeveloper/issue_470
...
Check if `/proc/<pid>/ns/net` is a symlink
Fixes #470 .
2015-03-31 16:22:10 +01:00
Ilya Dmitrichenko
6ce91aafa8
Check if /proc/<pid>/ns/net is a symlink ( fix #470 )
2015-03-31 16:18:28 +01:00
Tom Wilkie
7969566b27
Setup Travis CI for Weave. Add .travis.yml; add target to makefile which doesn't use docker; add image to readme.
2015-03-31 15:02:35 +00:00
Tom Wilkie
592be90904
Use recursive go test instead of naming directories individually
2015-03-31 13:33:36 +00:00
Matthias Radestock
10f37db9da
tidy up DNSServer fields
...
- make Zone, Iface and Upstream public - this is safe and makes sense
since all are immutable, and the former two are passed to the
constructor and are thus known anyway, and the latter is derived
from external information
- remove IfaceName - we can just use Iface instead
- log Upstream on startup
2015-03-31 12:04:31 +01:00
Matthias Radestock
de557a3e03
introduce WEAVEDNS_DOCKER_ARGS
...
same purpuse as WEAVE_DOCKER_ARGS, except for weavedns
This allows us to get rid if the -fallback option since
WEAVEDNS_DOCKER_ARGS="--dns=..." has the same effect.
Closes #487 .
2015-03-31 11:50:41 +01:00
Matthias Radestock
b50688b4de
act immediately on weave connecting existing addresses
...
we simply reset the vars controlling backoff for that address
Note that we do not interrupt any current connection attempt, since
that is hard.
Closes #499 .
2015-03-31 11:05:11 +01:00
David Wragg
b00be096f7
Fix returns when iterating over Connections()
...
d5eb76f32 replaced (*Peer)ForEachConnection into (*Peer)Connections(),
and consequently converted some nested functions into for loops. But
the "return" statements in those nested functions were left as-was,
and so exited the outer function rather than moving on to the next
iteration.
Fixes #497
2015-03-29 19:10:44 +01:00
Matthias Radestock
d708cb7d4e
prevent PMTUVerfied handling from blocking
...
...due to blocking on sending the pmtu to the forwarder, because the
forwarder has terminated.
Fixes #464 .
2015-03-29 14:04:28 +01:00
Matthias Radestock
fc22f9664e
refactor: improve encapsulation of Forwarder
2015-03-29 12:14:32 +01:00
Matthias Radestock
07c11d87a8
oops
...
I broke this in 1eca5e1097
2015-03-29 12:11:59 +01:00
Matthias Radestock
4eda7e361b
put back forwarder channel nil check
...
since otherwise forward(...) can block indefinitely due to both the
forwarder channel and finshed channel being nil
2015-03-29 10:36:01 +01:00
Matthias Radestock
b6448fa196
more idiomatic closing of forwarders, by closing a 'finished' channel
...
The previous scheme set the reference to main channel to nil and then
drained it. That was racy and hence could lead to deadlock in the
following scenario:
1. multiple senders obtain the main channel from the stored reference
2. main channel reference is set to nil
3. main channel is drained
4. multiple senders send to main channel
So the issue here is that the entire forwarder stopping sequence
occurs between senders obtaining of the reference to the main channel,
and then sending on that channel. If more senders sent than there is
capacity in the channel then this leads to deadlock.
2015-03-28 20:58:42 +00:00
Matthias Radestock
4dbb3d97e0
cosmetic: remove dead code
2015-03-28 20:33:06 +00:00
Matthias Radestock
502b59c703
refactor: rename
2015-03-28 19:52:10 +00:00
Matthias Radestock
9a462f9d87
refactor: simplify NewNaClEncryptor
...
- rely on default nil values on initialisation
- inline
2015-03-28 19:49:01 +00:00
Matthias Radestock
9992992ee4
refactor: extract helper from NaClDecryptor.decrypt
...
for easier comprehension
2015-03-28 19:44:04 +00:00
rade
94cf05a897
Merge pull request #496 from dpw/router-cleanups
...
Router cleanups
2015-03-27 18:38:43 +00:00
David Wragg
78c70023d8
Don't pass the sender UDPAddr through the crypto layer
...
The crypto layer doesn't need it, and the cost of an additional
closure allocation for each incoming UDP packet is modest.
Also, make the FrameConsumer the last parameter to IterateFrames.
It seems a more natural ordering.
2015-03-27 18:05:00 +00:00
David Wragg
0d30df165f
Eliminate UDPPacket
...
The Name field is not used anywhere, and once that's gone the remaining
pairing of the packet bytes and sender is not worth it.
2015-03-27 18:05:00 +00:00
David Wragg
4a1d3aeb96
Remove frameLen parameter to FrameConsumer
...
It's the same as len(frame)
2015-03-27 18:05:00 +00:00
David Wragg
bc45a363dd
Make Encryptor.AppendFrame more consistent with FrameConsumer
...
Also removes references to Peer type in crypto.go, to keep it agnostic
of higher-level concerns.
2015-03-27 18:05:00 +00:00
David Wragg
a670272a37
Remove name parameter from (*Peers)ForEach consumer function
...
It's part of the Peer anyway.
2015-03-27 18:05:00 +00:00
Matthias Radestock
5617258cca
Merge remote-tracking branch 'upstream/master'
2015-03-27 16:33:28 +00:00
Matthias Radestock
a337e981ba
refactor: extract helper
2015-03-27 12:38:06 +00:00
Matthias Radestock
0ef717a7a2
refactor: extract helper function
2015-03-27 12:31:25 +00:00
Matthias Radestock
d25d295784
refactor: small tweak for consistency
2015-03-27 12:17:28 +00:00
Matthias Radestock
60ba8cb90d
refactor: extract helper function
2015-03-27 12:06:22 +00:00
Matthias Radestock
4d8c156915
continuing accumulation after dropping a frame is bad after all
...
explain why
2015-03-27 11:56:38 +00:00
Matthias Radestock
6ea625f85b
fix typo
2015-03-27 11:54:24 +00:00
Matthias Radestock
84a95f2daf
refactor: concentrate frame appending code in one place
2015-03-27 11:53:56 +00:00
Matthias Radestock
f544fc68de
enter frame accumulation even after dropping one
...
This logically makes more sense, i.e. we keep draining frames from
fwd.ch until we run out.
2015-03-27 11:35:42 +00:00
Matthias Radestock
83724a08c9
refactor: get rid of Forwarder.stop channel
...
signal termination by sending nil to the main channel instead
2015-03-27 11:32:50 +00:00
Matthias Radestock
157afa0b5d
comment
2015-03-27 11:15:25 +00:00
Matthias Radestock
1a39cb163a
keep accumulating frames even when dropping some
...
This logically makes more sense, i.e. we keep draining frames from
fwd.ch until we run out.
2015-03-27 11:05:50 +00:00
Matthias Radestock
1c5fee0a5e
refactor: simplify Forwarder.run by extracing a helper function
...
Also, don't check for failed receive on fwd.ch; it cannot happen and
we weren't doing it everywhere anyway.
2015-03-27 11:03:05 +00:00
Adam Harrison
140ac8939b
Merge pull request #491 from tomwilkie/lint
...
Add lint script, which can also act as an optional presubmit hook.
2015-03-27 10:15:04 +00:00
Matthias Radestock
2d74bb4cfa
one more name->name+nickname display conversion
2015-03-27 07:10:32 +00:00
Matthias Radestock
16ddb95adc
include peer nick name in JSON output
...
and make the keys consistent
2015-03-27 06:32:30 +00:00
Matthias Radestock
33520ea230
include peer nickname in display output whenever possible
2015-03-27 05:25:28 +00:00
Matthias Radestock
1eca5e1097
refactor: extract helper func and simplify
2015-03-27 04:49:00 +00:00
rade
245f747745
Merge pull request #488 from awh/486_administrative_peer_removal
...
Implement 'weave forget' command
Closes #486 .
2015-03-27 01:53:16 +00:00
Matthias Radestock
308da993eb
refactor: extract some funs for better readability
2015-03-27 01:51:04 +00:00
Matthias Radestock
8cb9e301ee
cosmetic: more linting
2015-03-27 01:24:19 +00:00
Matthias Radestock
2500bc210a
cosmetic: more linting
2015-03-27 01:21:36 +00:00
Matthias Radestock
1ad950f177
cosmetic: more linting
2015-03-27 01:12:16 +00:00
Matthias Radestock
e3ef5433cf
cosmetic: linting
2015-03-27 00:43:26 +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