Commit graph

17 commits

Author SHA1 Message Date
Conrad Kramer
104f8215ba Fixed a number of warnings 2023-12-17 19:42:31 -08:00
Conrad Kramer
3e5a01ffbe Update locking to be interior to PeerPcb 2023-12-17 01:26:44 +08:00
Jett Chen
261f24d9ef add makefile 2023-12-17 01:26:37 +08:00
Jett Chen
94233874e6 checkpoint 2023-12-17 01:23:42 +08:00
Jett Chen
7f6897f0d6 Fix async problem
remove timeouts
2023-12-17 01:21:08 +08:00
Jett Chen
4038d125db concurrent read write loop working
relies on timeouts. Write to Networks doesn't work yet
2023-12-17 01:21:08 +08:00
Jett Chen
cdc3acdb5e incorporate wireguard daemon with network interface 2023-12-17 01:21:08 +08:00
Jett Chen
6339b6bc4b add makefile 2023-12-17 01:20:56 +08:00
Jett Chen
e643d9dd41 Switch logging to use tracing instead of log
Tracing has support for intervals and a great os_log integration.
2023-09-03 01:06:34 +08:00
Sam Poder
1907b11545 Move tests into a separate directory
Also run these tests on Github Actions as part of the PR request
flow.
2023-08-08 08:03:15 -07:00
JettChenT
beae8c0f79 Add Read and Write for Async TunInterface
Those features are implemented using AsyncFD. While write doesn't
require a mutable reference to self, read does.

Make Async Tun a feature

remove async tun from workspace

rename write/read to send/recv
2023-07-03 09:30:52 -04:00
dav
d3882bd008 TunInterfaceOptions -> TunOptions 2023-06-28 16:13:08 -04:00
dav
84f1d91d5c Implement TunInterfaceOptions 2023-06-28 16:13:08 -04:00
Malted
40cc0ba049 🛂 Check for required permissions
On Linux, checks for the `CAP_NET_ADMIN` capability.
On macOS, checks for root.
2023-06-10 22:01:17 +01:00
JettChenT
82c4d218d7 Add read and write functions for TunInterface
This adds read and write functionality for TunInterface.
2023-06-05 01:15:36 -07:00
Conrad Kramer
cf95ac819c Share *RawFd trait implementations on Unix
They were previously only present on Apple platforms.
2023-05-09 23:01:36 -04:00
Conrad Kramer
1378eb7eb3 Implement IPv4 address configuration on Linux
This involved refactoring the crate structure to share code between
macOS and Linux. The new methods have not yet been implemented on
macOS, but they have todo!() placeholders.
2023-04-22 14:28:42 -04:00