Commit graph

69 commits

Author SHA1 Message Date
47c6c588d2 udp: remove extra socket iteration in virtual iface 2022-01-10 00:46:52 -05:00
782f5e74bf Apply TcpStream fix to UdpSocket as well 2022-01-10 00:35:14 -05:00
11f86c49d6 Ensure all bytes are written to TcpStream
Fixes #22
2022-01-09 22:52:48 -05:00
e06b6526b7 Process more than one UDP socket per poll 2022-01-08 17:49:07 -05:00
ff0f5b967e Add optional IP packet capture for WireGuard tunnel 2022-01-08 17:30:10 -05:00
953bc18279 Remove some clippy suppressions for udp files 2022-01-08 15:20:21 -05:00
d9bccb79e5 Process all TCP virtual client sockets in one poll 2022-01-08 15:11:59 -05:00
025c001abb Remove event tracing when reading from bus 2022-01-08 14:48:04 -05:00
2b18bd4ec3 Remove unused dependency. Improve trace logging perf. 2022-01-08 14:41:12 -05:00
abd9df6be4 Implement event-based UDP interface 2022-01-08 03:40:20 -05:00
51788c9557 Improve reliability using event-based synchronization 2022-01-08 02:18:51 -05:00
7b6229ca1e
Merge pull request #25 from tilosp/mtu 2021-12-20 15:02:37 -05:00
Tilo Spannagel
ce9cfce8fc Fix ipv6 endpoints 2021-12-20 17:39:01 +00:00
Tilo Spannagel
23af49dde5 Allow configuration of max transmission unit 2021-12-20 17:21:43 +00:00
d51144b693 Formatting 2021-12-20 02:19:54 -05:00
Tilo Spannagel
af803ffc6a Update to smoltcp 0.8.0 2021-12-20 02:16:40 +00:00
c50fe8233a Wireguard -> WireGuard 2021-10-26 03:05:03 -04:00
75d6a0a11c Allow passing private key using file.
Adds warning about passing key directly in CLI.
On *nix systems, checks file permissions for warnings.

Fixes #19
2021-10-26 02:49:14 -04:00
1493feb184 Reduce udp client socket meta buffer 2021-10-26 01:20:02 -04:00
0da6fa51de udp: use tokio select instead of 1ms loop 2021-10-26 00:38:22 -04:00
faf157cfeb UDP port re-use during flooding 2021-10-26 00:03:44 -04:00
d975efefaf End-to-end UDP implementation
Port re-use still needs to be implemented to prevent exhaustion over
time, and flooding.
2021-10-25 19:05:42 -04:00
282d4f48eb Checkpoint 2021-10-20 19:04:56 -04:00
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