Commit Graph
6694 Commits
Author SHA1 Message Date
Adam Harrison dc49f78588 Expose and hide take multiple addresses 2015-03-31 11:48:51 +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
Adam Harrison 94823187ca Fix function comment 2015-03-30 18:03:20 +01:00
Adam Harrison b4f71df731 Fix unrelated script error 2015-03-30 17:50:26 +01:00
Adam Harrison 772e298340 Factor out CIDR arg parsing 2015-03-30 17:49:44 +01:00
Adam Harrison c1089e8447 Update documentation 2015-03-30 17:31:37 +01:00
Adam Harrison 7f54922ada Update documentation 2015-03-30 16:27:01 +01:00
Adam Harrison 1c7ed9e16a Update documentation 2015-03-30 16:08:38 +01:00
Adam Harrison 3026b5d291 Test tidyup 2015-03-30 15:54:54 +01:00
Adam Harrison 74f2cd09bc Use all caps variable names 2015-03-30 14:43:16 +01:00
Adam Harrison f8649eeecc Modify tell_dns helper to take list of addresses 2015-03-30 14:38:57 +01:00
Adam Harrison 2acefd7df3 Disable LF -> CRLF conversion when attached to Docker pseudoterminal 2015-03-30 13:09:11 +01:00
Adam Harrison 37e6647b0b Implement integration tests 2015-03-30 12:58:20 +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
Adam Harrison ff0e015f84 Update usage 2015-03-27 17:55:46 +00:00
Adam Harrison a8f2ba0e7f Run takes multiple addresses 2015-03-27 17:54:16 +00:00
Adam Harrison a60490fb88 Start takes multiple addresses 2015-03-27 17:47:17 +00:00
Adam Harrison e6af8996e6 Attach and detach take multiple addresses 2015-03-27 16:46:47 +00:00
Matthias Radestock 5617258cca Merge remote-tracking branch 'upstream/master' 2015-03-27 16:33:28 +00:00
Adam Harrison e3c0807a18 Modify attach/detach helpers to take list of addresses 2015-03-27 15:36:10 +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