Commit graph

75 commits

Author SHA1 Message Date
Conrad Kramer
c8bdf1bcbe Remove unneeded Github Actions step
Xcode will both use and create the cache during the build.
2023-05-13 13:15:41 -04:00
Conrad Kramer
bea8af0d66 Cache Swift packages in Github Actions
This is helpful now that SwiftLint is a package dependency.
2023-05-09 23:01:36 -04:00
Conrad Kramer
3c30a4b336 Enable SwiftLint inside of Xcode
This commit also fixes all linter warnings and errors.
2023-05-09 23:01:36 -04:00
Conrad Kramer
941d465570 Document the Rust Xcode build script
The Bash source is a little hard to read.
2023-05-09 23:01:36 -04: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
c1507ba37f Fix SwiftUI view model updating
The reflection data is needed by SwiftUI in order to operate correctly.
2023-05-09 23:01:36 -04:00
Conrad Kramer
b3a540fc48 Add support for starting and stopping the tunnel
This commit introduces the Tunnel view model object which has
support for asking for permission, starting and stopping the
tunnel. It automatically updates its state and publishes
changes as an ObservableObject.
2023-05-09 23:01:36 -04:00
Conrad Kramer
eeb0130156 Add Swift module for libburrow
This commit also renames the app target to App.
2023-05-09 23:01:36 -04:00
Cara Salter
5e265632a3 tun/test: Add #[throws] to netmask test
Enables tests to avoid using `.unwrap()`.

Co-authored-by: Conrad Kramer <conrad@conradkramer.com>
2023-04-29 20:14:18 -04:00
Cara Salter
4a0d53bdd3 tun: Fix implementation tests for netmask
Note that there needs to be an address set on the interface prior to
assigning a netmask.
2023-04-29 20:14:18 -04:00
Cara Salter
6ea4b596c2 tun: Initial work on getting/setting netmask
Seems to run into an issue with setting netmasks like 255.0.0.0 with an
"AddressNotAvailable" error
2023-04-29 20:14:18 -04:00
Cara Salter
c444bf293e tun: Create integration tests for MTU
Tests are good, y'all :)
2023-04-29 19:07:29 -04:00
Cara Salter
a13b2243e6 tun: Enable setting/getting of MTU
Works similarly to getting and setting IP addresses, can pretty much be
copy-pasted for the rest of the settings.
2023-04-29 19:07:29 -04:00
Conrad Kramer
4b0965b846 Build burrow library into iOS and macOS app
This commit adds a build script, build-rust.sh, which compiles the
burrow crate from inside of Xcode. The network extension then links
against this crate.
2023-04-29 16:46:23 -04:00
Conrad Kramer
d966c0ff77 Add packet tunnel provider entitlement
This entitlement is required to communicate with the VPN API on iOS and
macOS.
2023-04-29 16:46:23 -04:00
Conrad Kramer
4bf0fb639c Switch to the Hack Club development team
This change switches the project over to the Hack Club developer team in
the Hack Club developer account. This is needed to get the app in
TestFlight.
2023-04-29 16:46:23 -04:00
Conrad Kramer
1ffa01df5b Commit Xcode schemes to version control
This commit adds the Burrow and NetworkExtension schemes to version
control so that they can be shared across developers.
2023-04-29 16:46:23 -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
Malted
45499da9c2 🔥 Show .gitignored files in VS Code
This disables a workspace setting that hid .gitignored files
2023-04-22 12:39:40 -04:00
Soumya Kushwaha
25b5ee2458 Create LICENSE.md
This commit adds the GPL-3 license to the repository.
2023-04-18 21:56:01 -04:00
Conrad Kramer
b37086e8f6 Add debugging task for VS Code
This allows you to launch the command line program into a debugger. This
commit also tweaks the CI and fixes a small error in the build script.
2023-04-16 21:19:46 -04:00
dav
02efa85a19 Fix types and fix build + clippy lints for linux
This commit changes `copy_if_name` to take a c_char.
2023-04-16 16:44:18 -04:00
Conrad Kramer
47f1312666 Add initial README
It is short and sweet for now
2023-04-10 18:44:02 -04:00
Conrad Kramer
39c3600022 Update Github Actions to run cargo directly
The cargo action is deprecated so this change switches to using a bash
invocation
2023-04-10 18:43:41 -04:00
Conrad Kramer
c1e7415871 Initial commit 2023-04-10 16:49:23 -04:00