Skip to content

Conversation

@ethanndickson
Copy link
Member

@ethanndickson ethanndickson commented Jan 7, 2025

First PR for #2.

This PR adds an abstraction for downloading & validating the dylib from a Coder server, and the network extension scaffolding.

It also adds a TunnelHandle type for owning the pair of pipes passed to the dylib, and the handle to the dylib itself.

You cannot create a unit test target that targets a System Extension. So, this PR extracts the portion of the network extension that we'd like to test into it's own Framework, VPNLib.

Of note is that SwiftProtobuf doesn't have a stable ABI (as it doesn't use library evolution), so the Framework has the Build libraries for distribution setting disabled. This shouldn't effect anything. Exporting the SwiftProtobuf types should be fine provided we don't import SwiftProtobuf in to the VPN target as well.

Copy link
Member Author

ethanndickson commented Jan 7, 2025

@ethanndickson ethanndickson marked this pull request as ready for review January 7, 2025 11:00
@ethanndickson ethanndickson self-assigned this Jan 7, 2025
Copy link
Member Author

ethanndickson commented Jan 14, 2025

Merge activity

  • Jan 13, 11:47 PM EST: A user started a stack merge that includes this pull request via Graphite.
  • Jan 13, 11:48 PM EST: A user merged this pull request with Graphite.

@ethanndickson ethanndickson merged commit 161e5c2 into main Jan 14, 2025
4 checks passed
@ethanndickson ethanndickson deleted the ethan/dylib-download branch January 14, 2025 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants