127 Commits

Author SHA1 Message Date
Arceliar
674d8b58b6 get things compiling again 2020-05-25 19:27:17 -05:00
Arceliar
152e9057a0 Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into future 2020-05-25 19:25:05 -05:00
Arceliar
85eec5ba8e tcp ygg-over-ygg debug logging 2020-05-25 19:13:37 -05:00
Arceliar
8345ae1fa3 don't allow ygg tcp connections to/from a local ygg address 2020-05-25 19:08:04 -05:00
Arceliar
07206b5d46 resolve merge conflicts 2020-05-23 11:33:37 -05:00
Arceliar
ef1e506a0c work-in-progress on more cleanup 2020-05-23 10:23:55 -05:00
Neil Alexander
13a2d99fdc
Set SOCKS peer addr to resolved address 2020-05-09 11:26:09 +01:00
Neil Alexander
8b180e941a
Add SOCKS proxy auth (closes #423) 2020-05-09 11:24:32 +01:00
Neil Alexander
58345ac198
Track proxy addr and real peer addr in SOCKS mode 2020-05-09 10:53:58 +01:00
Neil Alexander
e849b3e119
Initial support for pinning public keys in peering strings 2020-05-08 23:23:48 +01:00
Arceliar
710815fed5 add dummy functions for other platforms 2019-10-25 19:32:53 -05:00
Arceliar
bcacfb0638 test adding BindToDevice to linux. if it works then we'll want to rethink slightly how we get the tcpContext on every platform, to make this compile everywhere and look a little cleaner 2019-10-25 18:33:23 -05:00
Neil Alexander
cd77727c1e
Set TCP socket options before upgrading connection 2019-10-23 18:24:08 +01:00
Neil Alexander
6a22e6c9de
Initial connection upgrade/TLS peering support 2019-10-23 17:26:35 +01:00
Arceliar
691192ff5a weird scheduler hack, seems to tend to make things more stable without actually locking streams to any particular link 2019-09-21 14:33:45 -05:00
Arceliar
f9163a56b6 fix race between listener accepting and shutting down 2019-09-19 19:50:45 -05:00
Arceliar
eeb34ce4e4 modify TcpListener 2019-09-19 19:45:17 -05:00
Arceliar
93e81867fd have link.stop signal active links to close, have tcp.stop wait for all listeners and active connections to close 2019-09-19 19:15:59 -05:00
Arceliar
92d9274f3f resolve conflicts 2019-09-18 18:40:01 -05:00
Arceliar
2d64a6380a misc other fixes 2019-09-18 18:33:51 -05:00
Neil Alexander
909e4e29a8
Don't spawn goroutines for addPeerLoop, TCP connect timeout of 5 seconds for now 2019-09-18 23:44:28 +01:00
Neil Alexander
ddaaa865cb
Be more verbose when a peer or listener is badly formatted 2019-09-18 19:58:41 +01:00
Neil Alexander
ae0b2672ff
Fix #539 2019-09-18 19:48:16 +01:00
Neil Alexander
b959f53fee
Shut down listeners when stopping 2019-09-18 16:32:22 +01:00
Neil Alexander
846df4789a
Be more verbose when a peer or listener is badly formatted 2019-09-18 15:01:19 +01:00
Neil Alexander
200b3623b2
Fix #539 2019-09-18 14:32:28 +01:00
Neil Alexander
fc9a1c6c31
Simplify reconfiguration 2019-08-28 19:31:04 +01:00
Arceliar
a3d4d8125b make the main library reconfiguration more actor-friendly 2019-08-25 12:10:59 -05:00
Neil Alexander
ce60609906
Remove wrappedConn as unnecessary 2019-05-18 16:16:32 +01:00
Neil Alexander
f19a4e4398
More godoc improvements 2019-03-29 18:18:31 +00:00
Neil Alexander
7ea4e9575e
Break out multicast into a separate package 2019-03-28 16:13:14 +00:00
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