-
Notifications
You must be signed in to change notification settings - Fork 0
WireGuard transport SDK: release 0.46.0 #222
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
80 commits
Select commit
Hold shift + click to select a range
ab40cf2
KillSwitch Phase 1: KillSwitchFilters WFP wrapper (i221)
TimE4DNSF 740714f
KillSwitch Phase 1: smoke-test console for KillSwitchFilters primitives
TimE4DNSF 8346218
KillSwitch: pull LAN-permit filters forward + add --allow-lan to smok…
TimE4DNSF 3975a45
KillSwitch Phase 2A: add DNS block + DNS-via-tunnel permit filters
TimE4DNSF 8cad062
KillSwitch Phase 2B: AdapterLuidResolver for tunnel-permit filter LUI…
TimE4DNSF 5d9fd51
KillSwitch Phase 2C: KillSwitchService orchestrator + Abstractions types
TimE4DNSF 559b713
KillSwitch Phase 3 (SDK): IPC contract + dispatcher + ClientPipe pass…
TimE4DNSF 73f267c
KillSwitch fix: VPN state never observed — wrong source of truth
TimE4DNSF f373648
KillSwitch alpha.6: tunnel LUID resolver fallbacks + diagnostic dump
TimE4DNSF 63e3e99
KillSwitch alpha.7: permit IKEv2 transport (UDP/500, UDP/4500) outbound
TimE4DNSF 754b2de
KillSwitch alpha.8: switch from 1Hz polling to event-driven RAS state…
TimE4DNSF ee70868
KillSwitch alpha.9: read fresh RAS state in ReevaluateUnsafe
TimE4DNSF a344c2d
KillSwitch alpha.10: fire C# event at watcher arm time, not just on s…
TimE4DNSF 185ad21
KillSwitch alpha.11: status-changed named event for UI auto-refresh
TimE4DNSF 02f1f03
KillSwitch alpha.13: permit IPSec tunnel transport (proto 4 IP-in-IP,…
TimE4DNSF 321bdc7
KillSwitch alpha.14: handle suspend/resume and close ICMP gap
TimE4DNSF f89f737
KillSwitch alpha.15: SDK version bump only
TimE4DNSF 318a60f
KillSwitch alpha.16: SDK version bump only
TimE4DNSF 3dbed80
KillSwitch alpha.17: publish KS state to HKLM for cross-process auto-…
TimE4DNSF 765a095
KillSwitch alpha.18: SDK version bump only
TimE4DNSF 49c5ffd
WireGuard wg-alpha.1: vendor wireguard.dll for win-x64 and win-arm64
TimE4DNSF 32778c5
WireGuard wg-alpha.1: fix x64 DLL path (win-amd64 -> win-x64/wireguar…
TimE4DNSF 72f3051
WireGuard wg-alpha.1: add Win32Calls.WireGuard project + P/Invoke layer
TimE4DNSF af16253
WireGuard wg-alpha.1: implement VpnTunnelManager (Step 4a, crypto only)
TimE4DNSF 5608454
WireGuard wg-alpha.1: adapter IP/DNS/routes for traffic flow (Step 4b)
TimE4DNSF d4140f1
WireGuard wg-alpha.1: fix SetInterfaceDnsSettings DLL (dnsapi -> iphl…
TimE4DNSF 9bf70a9
WireGuard wg-alpha.1: fix DNS_INTERFACE_SETTINGS flag values
TimE4DNSF 95d135c
WireGuard wg-alpha.1: transport selection in dispatcher (Step 6)
TimE4DNSF 2514dc1
WireGuard wg-alpha.1: ship Win32Calls.WireGuard + wireguard.dll (Step 7)
TimE4DNSF 0df4ea7
WireGuard wg-alpha.1: LUID-keyed DNS permit filters (Step 5)
TimE4DNSF 8b50fc8
WireGuard wg-alpha.1: bump VersionSuffix alpha.18 -> wg-alpha.1
TimE4DNSF df32ee0
WireGuard wg-alpha.2: process-wide transport singleton + Exception se…
TimE4DNSF f5e1c8b
WireGuard wg-alpha.3: reject duplicate Connect instead of silently re…
TimE4DNSF 422707e
WireGuard wg-alpha.4: drain service startup ACK in ReopenNamedPipe
TimE4DNSF f309d68
WireGuard wg-alpha.5: route Connect to WG transport via user preference
TimE4DNSF d7e8df0
WireGuard wg-alpha.6: make WG connection state observable to client
TimE4DNSF ca3fe28
WireGuard wg-alpha.7: fix WG Disconnect pipe-protocol race + stop wak…
TimE4DNSF aa15ae5
WireGuard wg-alpha.8: install WFP DNS-leak protection on WG connect
TimE4DNSF 909c32f
WireGuard wg-alpha.9: dynamic config negotiation (Curve25519 + /api/v…
TimE4DNSF 68afdfe
WireGuard wg-alpha.10: wire negotiate path into ConnectVpnWithConfigu…
TimE4DNSF 5f8c039
WireGuard wg-alpha.11: host enumeration + per-host override on negotiate
TimE4DNSF 78e839d
WireGuard wg-alpha.12: move HKLM service-broadcast values to Software…
TimE4DNSF 0672300
WireGuard wg-alpha.13: realign HKCU user-settings root to GuardianFir…
TimE4DNSF efe8b69
SignPath: add curve25519.dll (x64 + arm64) to deep-sign zip filelist
TimE4DNSF dcfe0e4
WireGuard wg-alpha.14: bump for signed curve25519.dll re-release
TimE4DNSF b89bf33
WireGuard wg-alpha.15: honor host override on _hostLookup cache miss
TimE4DNSF 64809cb
WireGuard wg-alpha.16: honor kGuardianPreferredHost on IKEv2 path
TimE4DNSF 80041cf
WireGuard wg-alpha.17: rebuild curve25519.dll with /MT (static CRT)
TimE4DNSF e0def56
WireGuard wg-alpha.18: fix StreamString.ReadStringAsync short-read
TimE4DNSF bd541bf
WireGuard wg-alpha.19: serialize all ClientPipe writes through _pipeIO
TimE4DNSF ee1a4db
WireGuard wg-alpha.20: fix post-disconnect DNS resolution failures
TimE4DNSF 05473ba
WireGuard wg-alpha.21: replace curve25519 (was GPL-2.0 OR MIT) with G…
TimE4DNSF 33e05bd
WireGuard wg-alpha.22: build curve25519.dll in CI for proper provenance
TimE4DNSF 88de81c
WireGuard wg-alpha.23: consolidate transport-protocol enum + registry…
TimE4DNSF d03b4bb
WireGuard wg-alpha.24: unified credentials check + symmetric protocol…
TimE4DNSF a66d6ad
Scrub personal names from code comments — use role aliases instead
TimE4DNSF 00760ff
Per code review, move GRDCredentialManager.ClearMainCredential() call…
TimE4DNSF 4cf73e1
WireGuard wg-alpha.26: bump Go to 1.25, scrub curve25519 NOTICES history
TimE4DNSF e7726c0
Move TransportProtocolStringFor into GRDTransportProtocol
TimE4DNSF 467962a
WireGuard wg-alpha.27: symmetric GetServerStatus + awaitable ClearVpn…
TimE4DNSF 6161461
WireGuard wg-alpha.28: KillSwitchService learns about WireGuard
TimE4DNSF 44b9912
WireGuard wg-alpha.29: KillSwitchService restores user-intent state o…
TimE4DNSF 85ea2f2
WireGuard wg-alpha.30: fix IKEv2 DNS-leak filter pipeline (latent bug)
TimE4DNSF de9df37
WireGuard wg-alpha.31: rename WireGuardDnsPermit -> TunnelDnsPermit
TimE4DNSF a45959b
WireGuard wg-alpha.32: post-Dispose quiet period to mitigate WireGuar…
TimE4DNSF 70f539b
WireGuard wg-alpha.33: async-void hardening (no UI crash on transient…
TimE4DNSF e4e39ad
WireGuard wg-alpha.34: KS rock-and-hard-place recovery + ClientPipeSe…
TimE4DNSF 0977e18
WireGuard wg-alpha.35: back out KS-tear-down-on-unplanned-drop; add c…
TimE4DNSF 6fe2a6c
WireGuard wg-alpha.36: add GRDServerManager.GetAllHostnamesAsync (dev…
TimE4DNSF 89f189c
WireGuard wg-alpha.37: GetAllHostnamesAsync — log response status + p…
TimE4DNSF 3a2a7cf
WireGuard wg-alpha.38: bound SendVoidCommand response read (fixes UI …
TimE4DNSF 10021ec
WireGuard wg-alpha.39: don't lose region cache on a failed refresh; n…
TimE4DNSF 83f3b1a
WireGuard wg-alpha.40: error-aware geo refresh + re-solicit + swap ga…
TimE4DNSF 7e6cb4d
WireGuard wg-alpha.41: permit WG encrypted carrier under kill switch …
TimE4DNSF b11640f
Release 0.46.0: drop wg-alpha prerelease suffix (WireGuard transport …
TimE4DNSF 63b5f8b
Add 0.46.0 release changelog (changes since 0.46.0-alpha.2)
TimE4DNSF fa1bbaf
Clean up per PR #222 comments
TimE4DNSF 6fd36c1
Made changes to wording in comments or usage of Negotiate where it wa…
TimE4DNSF c83140a
version bump
TimE4DNSF 6b01364
negotiate -> registration,
TimE4DNSF File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
GuardianConnectSDK/GuardianConnect.Abstractions/KillSwitchMode.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| using System.Text.Json.Serialization; | ||
|
|
||
| namespace GuardianConnect.Abstractions; | ||
|
|
||
| /// <summary> | ||
| /// Kill switch mode. v1 ships only Off and OnConnected. Any other mode (e.g. Always-On - here meaning | ||
| /// survive process exit and reboot), is not implemented at this time. | ||
| /// </summary> | ||
| public enum KillSwitchMode | ||
| { | ||
| /// <summary>No filters installed. Default.</summary> | ||
| Off = 0, | ||
|
|
||
| /// <summary> | ||
| /// Filters active while VPN is connecting/connected/reconnecting. Removed on | ||
| /// user-initiated disconnect; kept across unexpected drops so traffic stays | ||
| /// blocked until the user either re-establishes the tunnel or disables the | ||
| /// kill switch. | ||
| /// </summary> | ||
| OnConnected = 1, | ||
| } | ||
|
|
||
| /// <summary> | ||
| /// Snapshot of kill switch state, returned over IPC to the client UI. | ||
| /// </summary> | ||
| public sealed class KillSwitchStatus | ||
| { | ||
| public KillSwitchMode Mode { get; init; } | ||
| public bool AllowLan { get; init; } | ||
|
|
||
| /// <summary> | ||
| /// True when filters are currently installed (block-all is in force). Read-only; | ||
| /// driven by the service based on Mode and the live VPN state. | ||
| /// </summary> | ||
| public bool IsActive { get; init; } | ||
| } | ||
|
|
||
| [JsonSerializable(typeof(KillSwitchStatus))] | ||
| [JsonSerializable(typeof(KillSwitchMode))] | ||
| public partial class KillSwitchStatusJsonContext : JsonSerializerContext | ||
| { | ||
| } | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.