cb4495902b
Allow updating Listen during runtime
2018-12-30 15:21:09 +00:00
2925920c70
Use mutex in switch/tcp init
2018-12-29 19:53:31 +00:00
fa7c4117b4
Use Core.config in init functions
2018-12-29 19:14:26 +00:00
300f471bab
don't SetKeepAlive[Period] on tcp connections, since the behavior is platform specific
2018-12-16 18:32:50 -06:00
28c7d75a20
fix conflicts with nodeinfo and update that for new crypto type names
2018-12-15 18:11:02 -06:00
570e85c297
remove debug code
2018-12-14 21:12:25 -06:00
ea4ca02681
fix code after moving address/crypto/util
2018-12-14 20:49:18 -06:00
abd8b69979
send a switch message immediately when peering, and use OS-level TCP keep-alive (shouldn't matter right now, since we have application-level keep-alive that preempts it, but important later)
2018-12-14 18:15:35 -06:00
aab0502a4a
Remove friendlyname traces, preserve endpoints
2018-10-21 23:20:14 +01:00
b809adf981
Add FriendlyName option, show friendly name and real endpoint in admin socket/yggdrasilctl
2018-10-21 17:57:48 +01:00
2e2c58bfef
Add session firewall (extra security for controlling traffic flow to/from a given node)
2018-10-07 17:13:41 +01:00
8eed15b813
Fix merge conflict in tcp.go from d027a9ba75
2018-10-04 12:26:08 +01:00
b530916044
Show information about individual active queues
2018-09-27 12:14:55 +01:00
b7f2f8b55c
Ignore interfaces that are not up
2018-09-25 19:46:06 +01:00
387ae9ea6c
Only replace call name with interface prefix when interface is set
2018-09-25 18:05:57 +01:00
aecc151baf
Add support for specifying TCP source interface, i.e. tcp://a.b.c.d:e/eth0, for multiple simultaneous peerings to the same node over different interfaces
2018-09-25 15:32:45 +01:00
d171552577
Make TCP read timeouts configurable.
...
This should be helpful on high-latency networks, like Tor or I2P.
Also gofmt.
2018-07-29 14:30:13 +00:00
91a374d698
rearrange tcp reading loop
...
according to documentation of io.Reader interface,
"Callers should always process the n > 0 bytes returned before considering the error err. Doing so correctly handles I/O errors that happen after reading some bytes and also both of the allowed EOF behaviors."
2018-07-19 21:58:53 +00:00
f4bb2aaaeb
More verbose disconnect messages
2018-07-19 01:03:24 +00:00
7695a3fcbf
try using a simpler FIFO order for each backpressure buffer, since there are other mechanisms to penalize the flooding node, leads to better TCP throughput without affecting traffic between other nodes (does affect traffic in the same session, but there's hypothetically workarounds to that)
2018-06-24 20:20:07 -05:00
4b83efa218
more backpressure work, still needs testing
2018-06-23 21:51:32 -05:00
2ae213c255
I'll try sorting, that's a good trick
2018-06-23 01:10:18 -05:00
cceecf4b1a
larger out queue size, make sure linkOut packets always get sent first
2018-06-22 23:46:42 -05:00
0021f3463f
slightly better way for the tcp sender goroutine(s) to block waiting for work
2018-06-22 20:39:57 -05:00
254be42614
gofmt
2018-06-21 10:39:43 -05:00
19014a198e
randomize the delay after tcp disconnects, to prevent synchronization issues
2018-06-21 10:38:31 -05:00
496dc94f02
possibly mitigate livelock bug where lossy links lead to constant connect/disconnect cycles due to disagreement about which of the two duplicate autoconnection attempts to use
2018-06-16 15:31:25 -05:00
d9c9787611
avoid the proxy.SOCK5 connection attempt unless we're actually going to use the dialer
2018-06-14 09:21:35 -05:00
e8eaabf0c8
comment
2018-06-14 09:12:58 -05:00
57837057b7
tcp/socks cleanup
2018-06-14 09:11:34 -05:00
b006748da4
code cleanup
2018-06-12 17:50:08 -05:00
56802d569e
minor documentation updates, code comments, and a couple of bugfixes that I noticed when going through the code to comment it
2018-06-10 18:03:28 -05:00
72cca4ea43
version check/warning adjustments
2018-06-09 18:38:30 -05:00
076350f963
remove old tcp key exchange code
2018-06-09 17:49:02 -05:00
8733099516
add version metadata to key exchange at the start of connections
2018-06-09 17:46:19 -05:00
e5eb6de1f6
add inner crypto to linkProtoTraffic, using ephemeral keys, to prevent replay attacks from spoofing peer connections
2018-06-08 18:42:56 -05:00
bcfeb22915
more tcp debugging
2018-06-07 16:49:51 -05:00
63feed8dc3
adjust tcp timeout and add shadow queues to track dropped packets
2018-06-07 15:04:17 -05:00
deb755e3e9
remove peer.linkIn channel and related logic
2018-06-07 00:49:06 -05:00
85afe187ff
remove peer timeout logic from the switch, so switch peer entrires are only removed when the peer struct is removed
2018-06-06 23:23:16 -05:00
690d29435d
adjust link packet logic so they bypass the lifo stack and are delivered first
2018-06-06 17:44:10 -05:00
bbae9ff8e8
Merge pull request #92 from Arceliar/backpressure
...
Use backpressure instead of estimated bandwidth
2018-06-06 16:58:48 -05:00
4c115de633
De-debug
2018-05-27 22:13:37 +01:00
38e7704161
use backpressure instead of estimated bandwidth, sorted by uptime to break ties
2018-05-27 13:37:35 -05:00
9d9083e373
Update configuration names, fix multicast interface selection
2018-05-23 11:28:20 +01:00
5dac273a3d
rename to 'AllowedBoxPubs' and similar
2018-05-07 17:05:54 -05:00
6026e0a014
Optional peer authentication, if non-empty then incoming TCP and all UDP peers must match one of these box keys
2018-05-06 16:32:34 -05:00
cdedd304af
make removePeers work for TCP connections and minor admin cleanup
2018-05-05 17:14:03 -05:00
7756891510
support socks proxy in peer url and decouple explicit tor/i2p routing
2018-04-26 10:23:21 -04:00
5e23185ddc
use address only not port
2018-04-20 08:41:09 -04:00