4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-09-17 02:32:31 +00:00
Commit Graph

96 Commits

Author SHA1 Message Date
Neil Alexander
0b494a8255 Refactoring: move tuntap and icmpv6 into separate package 2019-03-28 00:30:25 +00:00
Neil Alexander
dc3a05f13a Correctly classify link-local addresses in the TCP handler, fix AllowedPublicEncryptionKeys warning 2019-03-12 16:03:02 +00:00
Neil Alexander
03eec4b14d Don't leak interface name via multicast, ensure zone is always correct when dialling link-local 2019-03-09 09:24:52 +00:00
Arceliar
426d157025 make sure we don't replace an existing listener 2019-03-08 18:51:07 -06:00
Neil Alexander
917ca6c1c5 Make changes based on review comments 2019-03-08 10:26:46 +00:00
Neil Alexander
b8cabf3212 Support removing Listen interfaces at runtime properly 2019-03-06 16:40:48 +00:00
Neil Alexander
f4e17b9a9f Properly handle multicast interfaces going up and down 2019-03-06 12:07:33 +00:00
Neil Alexander
de2aff2758 Refactor multicast so that it creates a new TCP listener for each interface with LL addresses (so that it will not break if Listen is not set with a wildcard address) 2019-03-06 11:06:13 +00:00
Neil Alexander
2ef823e69c Fix deadlock when reconfiguring multicast 2019-03-04 23:16:46 +00:00
Neil Alexander
88925d3e06 Centralise call/listen functions in link.go 2019-03-04 22:45:35 +00:00
Neil Alexander
61774aed3b Show proto in admin socket, link linkInfo from peer, other fixes 2019-03-04 20:33:08 +00:00
Neil Alexander
eeede4e6d0 Fix some obvious concurrency bugs 2019-03-04 18:47:40 +00:00
Neil Alexander
82bb95b77f Some more (inelegant) multiple listener code plus some reconfigure support 2019-03-04 18:41:32 +00:00
Neil Alexander
be8db0c120 Support multiple TCP listeners 2019-03-04 17:52:57 +00:00
Neil Alexander
ae79246a66 Move TCP under link.go 2019-03-04 17:09:48 +00:00
Neil Alexander
0ca64b0abe Remove ReadTimeout configuration option 2019-02-10 12:13:49 +00:00
Neil Alexander
43f798e82e Check link-local in tcp.go, track direction in link.go, fix compile error for mobile.go 2019-02-01 00:02:17 +00:00
Neil Alexander
1a3a67f205 Merge remote-tracking branch 'origin/develop' into link
Fix merge conflicts from flexible logging branch
2019-01-27 20:54:21 +00:00
Neil Alexander
0838928668 Add support for flexible logging levels 2019-01-27 13:31:43 +00:00
Neil Alexander
81545fd9bf Clean up 2019-01-23 15:16:22 +00:00
Arceliar
f936151f2d correctly clean up various things 2019-01-22 21:48:43 -06:00
Arceliar
eb8951081d fix duplicate connection bug, I think this is also in develop 2019-01-22 21:23:57 -06:00
Arceliar
12c0e019dc only create one interface, but still opens duplicate connections before it catches this, so more work is needed 2019-01-22 21:16:41 -06:00
Arceliar
137212d8cf work in progress, establishes TCP connections and gets through metadata handshake using the link code, but doesn't seem to send traffic yet (no switch peers are created) 2019-01-21 23:08:50 -06:00
Arceliar
5a4d6481dd Work in progress, add a linkInterfaceMsgIO interface type and make stream implement it, this will be used by link 2019-01-21 21:27:52 -06:00
Arceliar
c8e1be0f73 link/stream refactoring bugfixes and gofmt 2019-01-19 16:37:45 -06:00
Neil Alexander
6fe3b01e90 Rename awdl.go to link.go, add stream.go, update tcp.go 2019-01-19 00:14:10 +00:00
Neil Alexander
c839012580 Fix source address selection 2019-01-17 23:06:59 +00:00
Neil Alexander
8baf593b62 Update source address selection when sintf specified 2019-01-16 14:52:27 +00:00
Neil Alexander
4fba558638 Fix concurrent map write in tcp.go 2019-01-16 13:20:12 +00:00
Neil Alexander
53be1b02f3 Check if accepting socket produced an error 2019-01-15 08:53:57 +00:00
Neil Alexander
2cd373fc1e Remove unnecessary selects 2019-01-15 08:51:19 +00:00
Neil Alexander
738a9da796 Merge branch 'develop' into nodeconfig 2019-01-14 14:01:38 +00:00
Neil Alexander
4622a85c34 AWDL support for macOS/iOS 2019-01-13 18:08:41 +00:00
Neil Alexander
cd86c33850 Try to tidy up a bit, move checks for if we are already calling/connected
Something I noticed when working on reconfigure support for the "Listen"
option is that we have some rather huge weaknesses in our multicasting
design. Right now if we change our Listen address, it's not really
possible for remote nodes to know whether they are still connected to
us, so they start connecting in response to our changed beacons. They
can't know that they already know about us until *after* the handshake
but this registers in the local client log as repeated Connect/Disconnects
even though the existing peerings never actually drop.
2018-12-30 21:11:16 +00:00
Neil Alexander
80c9a1bc12 Don't track localAddr in conns as it is irrelevant 2018-12-30 16:48:34 +00:00
Neil Alexander
cb4495902b Allow updating Listen during runtime 2018-12-30 15:21:09 +00:00
Neil Alexander
2925920c70 Use mutex in switch/tcp init 2018-12-29 19:53:31 +00:00
Neil Alexander
fa7c4117b4 Use Core.config in init functions 2018-12-29 19:14:26 +00:00
Arceliar
300f471bab don't SetKeepAlive[Period] on tcp connections, since the behavior is platform specific 2018-12-16 18:32:50 -06:00
Arceliar
28c7d75a20 fix conflicts with nodeinfo and update that for new crypto type names 2018-12-15 18:11:02 -06:00
Arceliar
570e85c297 remove debug code 2018-12-14 21:12:25 -06:00
Arceliar
ea4ca02681 fix code after moving address/crypto/util 2018-12-14 20:49:18 -06:00
Arceliar
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
Neil Alexander
aab0502a4a Remove friendlyname traces, preserve endpoints 2018-10-21 23:20:14 +01:00
Neil Alexander
b809adf981 Add FriendlyName option, show friendly name and real endpoint in admin socket/yggdrasilctl 2018-10-21 17:57:48 +01:00
Neil Alexander
2e2c58bfef Add session firewall (extra security for controlling traffic flow to/from a given node) 2018-10-07 17:13:41 +01:00
Neil Alexander
8eed15b813 Fix merge conflict in tcp.go from d027a9ba75 2018-10-04 12:26:08 +01:00
Neil Alexander
b530916044 Show information about individual active queues 2018-09-27 12:14:55 +01:00
Neil Alexander
b7f2f8b55c Ignore interfaces that are not up 2018-09-25 19:46:06 +01:00