Commit graph

96 commits

Author SHA1 Message Date
fb50ee7113 UDP virtual interface skeleton 2021-10-20 18:06:35 -04:00
cc91cce169 Basic UDP port pool 2021-10-20 16:49:24 -04:00
11c5ec99fd Replace lockfree with tokio::sync 2021-10-20 16:05:04 -04:00
5cec6d4943 Index ports with protocol in WG. Start writing UDP tunnel code with plans. 2021-10-19 01:55:04 -04:00
703f261344 Move TCP tunneling code to separate module 2021-10-19 01:00:05 -04:00
c2d0b9719a Refactor TCP virtual interface code out of main. Removed unused server socket buffer. 2021-10-19 00:43:59 -04:00
070c0f5162 Use Vec instead of static mut for socket storage. Update smoltcp to fix #17 2021-10-18 22:13:13 -04:00
dbced52070 Attempt reconnection in virtual client 2021-10-18 06:04:02 -04:00
ed835c47d3 Spawn tunnels in entirely separate threads 2021-10-18 03:54:13 -04:00
651ddaec49 Implement port-forwarder configuration parsing 2021-10-18 02:57:52 -04:00
cb09bb8857 WIP on UDP and multi-port-forward support 2021-10-17 21:57:45 -04:00
9da88a0d46 Close interface after server FIN; no more data to send.
Potential fix for #14
2021-10-16 23:34:55 -04:00
5e6cfe8955 Don't break TCP connection until all data is flushed
Potential fix for #14
2021-10-16 21:12:14 -04:00
fa92c75497 Attempt to not cause graceful shutdown too quickly 2021-10-16 20:45:17 -04:00
84fbcd4fad Clean-up unused code for TCP RST 2021-10-16 19:43:27 -04:00
2bcb9e714b Implement IP sink interface 2021-10-16 19:38:47 -04:00
cfdbdc8f51 Remove broadcasting logic to fix simultaneous connection issues. 2021-10-16 19:16:10 -04:00
07edf9d2da Remove unnecessary (and expensive) logic to stack packets together 2021-10-16 17:00:33 -04:00
5debcca268 Fix numerous issues with fragmentation of large packets. 2021-10-16 16:34:19 -04:00
64dc79656b Support hostnames for SOURCE_ADDR, endpoint-addr
See #7
2021-10-16 02:57:26 -04:00
a956a43c3f Update doc 2021-10-16 02:06:20 -04:00
660183b1c4 Use IPv6 'next header' for TCP routing 2021-10-16 02:06:03 -04:00
25bcedc855 Drain IP broadcast sink receiver 2021-10-16 01:03:05 -04:00
7132841876 bugfix: Pass IP version when routing incoming TCP segment 2021-10-15 23:59:33 -04:00
b4317dad1a Dockerize, and switch back to main boringtun repo 2021-10-15 20:05:18 -04:00
006a1b0b4e Graceful shutdown. Docs. 2021-10-15 19:26:26 -04:00
8243945970 Send IP packet to WireGuard asynchronously 2021-10-15 18:55:41 -04:00
0bb6c27d86 Ipv6 support for RST packets. Clippy 2021-10-15 18:52:27 -04:00
3318e30d98 Cleanup 2021-10-14 22:06:58 -04:00
ccb51fe5f8 yippee 2021-10-14 21:31:09 -04:00
bf489900e6 Use tokio select for polling client socket 2021-10-14 19:31:29 -04:00
5ba111002f Reduce sleepers 2021-10-13 22:22:17 -04:00
4f10afd323 Working (slow for some reason) 2021-10-13 21:54:54 -04:00
f65a1e4e89 Getting there 2021-10-13 21:52:06 -04:00
8f5f8670af Virtual interface thread 2021-10-13 21:03:23 -04:00
7b5aefa623 Virtual interface task 2021-10-13 20:32:56 -04:00
492875c392 Consumption task, and keep-alive 2021-10-13 20:23:12 -04:00
99a0d4370e Cleanup 2021-10-13 19:50:42 -04:00
7693666855 Start move to Tokio 2021-10-13 19:39:17 -04:00
f2e6ec1e3f One interface/server for all. Doesn't quite work for repeats. 2021-10-13 03:19:56 -04:00
da8b216fb0 LFG 2021-10-13 01:20:29 -04:00
8ef748bd4e Getting there 2021-10-12 00:00:50 -04:00
95f929c00b WIP with virtual sockets 2021-10-11 23:24:56 -04:00
f3976be852 WIP 2021-10-10 20:49:40 -04:00
65032b2311 Basic implementation (source ip not set) 2021-10-10 19:23:20 -04:00
d82b496937 Initial commit 2021-10-10 17:52:10 -04:00