<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wg-wrap.git/Makefile, 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-29T23:56:45Z</updated>
<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>
<entry>
<title>refactor: optimize file cleanups, propagate exit codes, and fix Makefile</title>
<updated>2026-05-29T23:21:49Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-29T23:21:49Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=70096b533d42b684ab13651aaae884047e01e43d'/>
<id>urn:sha1:70096b533d42b684ab13651aaae884047e01e43d</id>
<content type='text'>
- Unlink the temporary bootstrap launcher binary immediately after opening a read-only descriptor to it, then execute via `/proc/self/fd/&lt;fd&gt;` to ensure zero-disk footprint on execution.
- Unlink temporary `/tmp/resolvconf*` files immediately after successful bind-mounting over `/etc/resolv.conf`.
- Prune parent ephemeral profile directories when unpinning a namespace, leaving zero directories behind once empty.
- Propagate the exact exit status of the wrapped command to the host process using `errors.As` and `*exec.ExitError` instead of defaulting to exit code 1.
- Added E2E automated test `TestExitCodePropagation` to verify exit status delivery.
- Added the `$(BINARY)` target to `.PHONY` in the Makefile to delegate dependency tracking to Go's compiler cache, ensuring modified Go files are rebuilt during `make test`.
</content>
</entry>
<entry>
<title>Fix PID lifecycle race and improve CLI routing for diagnostic commands</title>
<updated>2026-05-22T15:37:57Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T15:37:57Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=e5bbb969a15c569cf7d37634234a71783f628390'/>
<id>urn:sha1:e5bbb969a15c569cf7d37634234a71783f628390</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor lifecycle to support XDG_RUNTIME_DIR and fix binary pathing in E2E tests</title>
<updated>2026-05-22T15:20:24Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T15:20:24Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=079e4240534cbdc8751f1a127def20f2d1e58da6'/>
<id>urn:sha1:079e4240534cbdc8751f1a127def20f2d1e58da6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement automatic namespace lifecycle cleanup with last-man-out reference counting</title>
<updated>2026-05-22T15:12:21Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T15:12:21Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=3b56ccecf46b83fa9b0e4b6c54be6ffda395910c'/>
<id>urn:sha1:3b56ccecf46b83fa9b0e4b6c54be6ffda395910c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update Makefile and README to standardize build/test process and lauch fuzzer</title>
<updated>2026-05-22T14:51:00Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T14:51:00Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=cefff85a054d64f124aa1f3e91b9425695aa210b'/>
<id>urn:sha1:cefff85a054d64f124aa1f3e91b9425695aa210b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Security hardening: prevent shell injection and null-byte crashes, implement 8-bit clean argument fuzzing and portable E2E binary discovery</title>
<updated>2026-05-22T14:46:02Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T14:46:02Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=9131b0004e7c640cc028179e1d049a4c62210d94'/>
<id>urn:sha1:9131b0004e7c640cc028179e1d049a4c62210d94</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: implement rootless network isolation bootstrap and C launcher</title>
<updated>2026-05-22T14:05:38Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T14:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=764d3e67fc783c487f42d398d1b85a5a1f0d8ef0'/>
<id>urn:sha1:764d3e67fc783c487f42d398d1b85a5a1f0d8ef0</id>
<content type='text'>
</content>
</entry>
</feed>
