Commit graph

18 commits

Author SHA1 Message Date
Conrad Kramer
104f8215ba Fixed a number of warnings 2023-12-17 19:42:31 -08:00
Jett Chen
1e7750606f Update dependencies 2023-12-17 02:40:01 +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
02f5a4ef74 WIP async read write implementation 2023-12-17 01:21:08 +08:00
Jett Chen
6339b6bc4b add makefile 2023-12-17 01:20:56 +08:00
Jett Chen
c9f104e523 Generate NetworkSettings with IPC
This generates and applies NetworkSettings object with unix socket IPC.

- domain socket, json-rpc based communication
- switches to anyhow for burrow crate
- adds support for starting daemons on macos
2023-10-14 10:25:24 -07: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
dav
f869cbdb53 Implement sending commands via Unix sockets 2023-08-26 11:51:56 -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
Sam Poder
da065b503f Log "Set" Actions in Tun (Linux)
I've used the log library and its info method.

I've also added but not used env-logger.
2023-06-27 15:42:36 -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
Sam Poder
008ea9ec65 Enable derive on Clap
This let's us use the derive feature.
2023-06-06 18:16:08 -04:00
Sam Poder
d65b9a4c68 Begin CLI Work
Uses the Parser module + it sets up a help & version.
2023-06-06 18:16:08 -04: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
9dc10544b9 Embed wintun inside of the Windows binary
Burrow writes the driver to a temporary file and then loads it.
2023-06-05 01:12:21 -07:00
Conrad Kramer
3c226c81cc Use fewer dependencies in Windows build script
This removes the dependencies on the platform crate as well as the
sha256 crate, opting for the sri crate instead to check file integrity.
2023-05-29 17:13:47 -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
Conrad Kramer
c1e7415871 Initial commit 2023-04-10 16:49:23 -04:00