90 Commits

Author SHA1 Message Date
Neil Alexander
eb22ed44ac
Add new reject channel to router so we can send back rejected packets to adapter (e.g. for ICMPv6 Packet Too Big), implement ICMPv6 PTB in TUN/TAP instead of router 2019-03-28 09:50:13 +00:00
Neil Alexander
0b494a8255
Refactoring: move tuntap and icmpv6 into separate package 2019-03-28 00:30:25 +00:00
Neil Alexander
61774aed3b
Show proto in admin socket, link linkInfo from peer, other fixes 2019-03-04 20:33:08 +00:00
Arceliar
304f22dc1d re-enable session workers in a way that doesn't block and drops packets before decrypting if necessary 2019-02-28 20:05:21 -06:00
Arceliar
042adb0516 make sure the only place traffic is ever dropped is in the switch. this currently disables the dedicated crypto workers 2019-02-23 00:07:00 -06:00
Arceliar
2f8dd5dde0 remove race condition in setting peer.close by requiring it as an argument to newPeer 2019-02-03 15:50:25 -06:00
Neil Alexander
0838928668
Add support for flexible logging levels 2019-01-27 13:31:43 +00:00
Neil Alexander
c85dbaea95
Fix missing nodeinfo.init 2019-01-16 13:23:26 +00:00
Neil Alexander
9e486ed4fe
Move nodeinfo into router 2019-01-14 19:05:16 +00:00
Neil Alexander
5cde3b5efc
Update nodeinfo in router reconfigure 2019-01-14 18:51:49 +00:00
Neil Alexander
9e186bdd67
Remove mutexes from CKR and use router goroutine/doAdmin for update config 2019-01-14 18:34:15 +00:00
Neil Alexander
bd04124e43
Reconfigure support for crypto-key routing 2019-01-14 18:06:41 +00:00
Neil Alexander
7fae1c993a
Handle errors from reconfigure tasks 2018-12-30 12:04:42 +00:00
Neil Alexander
219fb96553
Support notifying components for config reload, listen for SIGHUP 2018-12-29 18:51:51 +00:00
Arceliar
dfcdafa55c move special peer/dht insert logic form router.go to dht.go 2018-12-20 17:37:59 -06:00
Arceliar
28c7d75a20 fix conflicts with nodeinfo and update that for new crypto type names 2018-12-15 18:11:02 -06:00
Neil Alexander
e0ff3ca587
Rename Metadata to NodeInfo 2018-12-15 22:37:11 +00:00
Arceliar
ea4ca02681 fix code after moving address/crypto/util 2018-12-14 20:49:18 -06:00
Neil Alexander
cdd2e7910a
Merge remote-tracking branch 'origin/develop' into metadata 2018-12-15 00:48:54 +00:00
Neil Alexander
d5031a5cb6
Metadata exchange without sessions 2018-12-15 00:48:27 +00:00
Neil Alexander
f9dc300787
Define Adapter base type/interface 2018-12-14 18:29:00 +00:00
Neil Alexander
8045cb4dc3
Define generic adapter type, rename tunDevice to tunAdapter 2018-12-14 18:21:08 +00:00
Neil Alexander
2a38ad07cd
Don't send ICMPv6 back when tun disabled 2018-12-14 18:08:40 +00:00
Neil Alexander
9eaa2566c1
Parameterise tun.init 2018-12-14 18:08:13 +00:00
Neil Alexander
10157483f9
Move tunDevice into router 2018-12-14 17:35:02 +00:00
Neil Alexander
64060a447c
Remove metadata-peer association until we have some sensible way to cache it 2018-12-12 22:58:16 +00:00
Neil Alexander
74de8c9416
Consistent function naming for metadata 2018-12-12 22:48:04 +00:00
Neil Alexander
042a3400fe
Wrap the metadata with a mutex to guarantee thread safety across core/router/sessions 2018-12-12 22:40:49 +00:00
Neil Alexander
97464feba9
Working metadata exchange 2018-12-12 19:51:28 +00:00
Neil Alexander
6200136fce
Merge branch 'descriptive' into metadata 2018-12-12 18:04:49 +00:00
Arceliar
9046dbde4f remove sigManager, it seems safer to just burn the CPU than to store a map of strings of potentially arbitrary length 2018-11-25 13:06:54 -06:00
Arceliar
5fa23b1e38 move router.recvPacket calls into the main router goroutine, to make the ckr checks threadsafe 2018-11-20 22:04:18 -06:00
Neil Alexander
fc5a5830aa
Merge pull request #203 from Arceliar/chord
Chord
2018-11-14 20:13:42 +00:00
Arceliar
8cf8b0ec41 fix bug in recvPacket for packets coming from a subnet 2018-11-11 00:00:47 -06:00
Neil Alexander
685b565512
Check IP header lengths correctly per protocol 2018-11-07 10:29:08 +00:00
Neil Alexander
9542bfa902
Check the session perm pub key against the CKR key 2018-11-07 10:16:46 +00:00
Neil Alexander
fbfae473d4
Use full node ID for CKR routes instead of truncated node IDs from the address/subnet 2018-11-07 10:04:31 +00:00
Neil Alexander
39dab53ac7
Update comments in configuration and some godoc descriptions 2018-11-06 22:57:53 +00:00
Neil Alexander
0240375417
IPv4 CKR support in router 2018-11-06 20:49:19 +00:00
Neil Alexander
424faa1c51
Support IPv4 in ckr.go 2018-11-06 20:04:49 +00:00
Neil Alexander
cb7a5f17d9
Check destination address upon receive in router 2018-11-06 19:23:20 +00:00
Neil Alexander
19e6aaf9f5
Remove sourceSubnet from router 2018-11-06 00:06:37 +00:00
Neil Alexander
8c2327a2bf
Add source addresses option and more intelligent source checking 2018-11-05 23:59:41 +00:00
Neil Alexander
cfdbc481a5
Modify source address check for CKR 2018-11-05 23:22:45 +00:00
Neil Alexander
c7f2427de1
Check CKR routes when receiving packets in router 2018-11-05 22:58:58 +00:00
Neil Alexander
87b0f5fe24
Use CKR in router when sending packets 2018-11-05 22:39:30 +00:00
Neil Alexander
52206dc381
Add initial crypto-key routing handlers 2018-11-05 16:40:47 +00:00
Arceliar
671c7f2a47 don't update recv time for known nodes that ping us or known peers 2018-10-28 15:04:44 -05:00
Neil Alexander
aab0502a4a
Remove friendlyname traces, preserve endpoints 2018-10-21 23:20:14 +01:00
Neil Alexander
a1b72c16d8
Some attempt at exchanging session metadata over the wire (broken) 2018-10-21 22:58:27 +01:00