<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wg-wrap.git/tests/e2e/race_test.go, branch main</title>
<subtitle>wg-wrap runs commands in network namespaces configured with userspace wireguard tunnels.
</subtitle>
<id>https://git.theodohertyfamily.com/wg-wrap.git/atom?h=main</id>
<link rel='self' href='https://git.theodohertyfamily.com/wg-wrap.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/'/>
<updated>2026-05-30T00:35:31Z</updated>
<entry>
<title>feat: implement robust namespace lifecycle and resilience suite</title>
<updated>2026-05-30T00:35:31Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-30T00:35:31Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=d4cec92f5690a60b3509ab718bdea72dc520110e'/>
<id>urn:sha1:d4cec92f5690a60b3509ab718bdea72dc520110e</id>
<content type='text'>
- Replace marker-file pinning with kernel bind-mount anchors for reliable namespace persistence.
- Implement atomic "last-man-out" cleanup sequence using ProfileLock, preventing namespace leaks and race conditions.
- Add comprehensive resilience test suite covering:
    - Crash recovery from stale runtime state.
    - Host network change stability.
    - Configuration hot-swap session persistence.
    - Resource exhaustion and high-churn lifecycle stress.
- Align documentation and test expectations with rootless session-based persistence.
- Fix argument integrity and isolation leaks.
- Ensure 100% pass rate for all E2E and integration tests.
</content>
</entry>
<entry>
<title>Fix DNS leaks, lifecycle race, and editor arg splitting</title>
<updated>2026-05-29T23:56:45Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-29T23:56:45Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=a7c7fa9e76c9c7015c31378062aa5d0c17b0f38f'/>
<id>urn:sha1:a7c7fa9e76c9c7015c31378062aa5d0c17b0f38f</id>
<content type='text'>
- DNS Leak / Isolation Bypass: Blocked glibc's systemd-resolved and
  D-Bus socket communication within the unprivileged mount namespace by
  introducing BlockHostServices(). This targeted mount-blocking forces
  glibc to fall back to the standard resolv.conf DNS routing path and
  prevents host leaks.
- Lifecycle Race: Reordered and protected the reference-counting
  cleanup routine under the profile flock to ensure that check-and-unpin
  operations are atomic and do not teardown namespaces actively used
  by parallel processes.
- Editor Arguments: Split the EDITOR environment variable into discrete
  field tokens before invocation to support editor configurations
  containing command-line flags.
- Testing: Added E2E regression tests for DNS leak detection,
  namespace unpinning concurrency, and editor argument parsing. All E2E
  tests now compile and pass cleanly.
</content>
</entry>
</feed>
