<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wg-wrap.git/go.mod, 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-30T03:35:21Z</updated>
<entry>
<title>refactor: rename module to git.theodohertyfamily.com/wg-wrap and apply public domain license</title>
<updated>2026-05-30T03:35:21Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-30T03:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=da70b10fbd056f19d892acad542ce96c40c58389'/>
<id>urn:sha1:da70b10fbd056f19d892acad542ce96c40c58389</id>
<content type='text'>
- Update go.mod and all internal imports to reflect the new module path
- Add LICENSE file with the Unlicense (public domain dedication)
- Increase timeouts in e2e lifecycle tests to prevent flaky failures
- Verify all tests, linting, and formatting pass with the new module name
</content>
</entry>
<entry>
<title>feat: harden bootstrap and optimize network data path</title>
<updated>2026-05-30T01:07:46Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-30T01:07:46Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=d2173cdbc03884ecd9534e9369f8ebe1634f7e9c'/>
<id>urn:sha1:d2173cdbc03884ecd9534e9369f8ebe1634f7e9c</id>
<content type='text'>
- Security: Eliminate namespace escape risk by removing `HostBind` and enforcing `FDBind` using pre-opened host socket FDs.
- Security: Replace unsafe `atoi` with `strtol` and strict validation in the C launcher to prevent malformed PID joins.
- Stability: Fix PID wraparound by storing session timestamps in PID files to detect recycled PIDs.
- Stability: Resolve DNS mount leaks by implementing proper unmounting of `/etc/resolv.conf` during tunnel shutdown.
- Performance: Optimize `FDBind` throughput by implementing batch packet processing in the receive loop.
- Deployment: Implement `memfd_create` for the C launcher to support `noexec` temporary directories and reduce disk I/O.
- Maintenance: Replace external `ip` CLI dependency with native `netlink` library for robust network configuration.
- Quality: Fix all `golangci-lint` errors and replace remaining panics with explicit error handling.
</content>
</entry>
<entry>
<title>security: upgrade dependencies to remediate transitive vulnerabilities</title>
<updated>2026-05-29T23:33:07Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-29T23:33:07Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=edf4e0f0380b6662ba88cfa00d2d2ff5a43032de'/>
<id>urn:sha1:edf4e0f0380b6662ba88cfa00d2d2ff5a43032de</id>
<content type='text'>
Upgrades several indirect and direct dependencies to their latest safe versions,
successfully resolving 26 dormant vulnerabilities identified by govulncheck.

- Upgraded golang.org/x/crypto from v0.37.0 to v0.52.0 (remediating 13 CVEs)
- Upgraded golang.org/x/net from v0.39.0 to v0.55.0 (remediating 12 CVEs)
- Upgraded golang.org/x/sys from v0.32.0 to v0.45.0 (remediating 1 CVE)
- Upgraded golang.zx2c4.com/wireguard to v0.0.0-20260522210424-ecfc5a8d5446

Ran `go mod tidy` and verified that all unit, integration, and E2E
data-plane tests continue to compile and pass successfully.
</content>
</entry>
<entry>
<title>feat: implement userspace wireguard data-path and unprivileged host fd-passing</title>
<updated>2026-05-29T22:29:12Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-29T22:29:12Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=ee2f5d545825752af63da36e2b9ec7a92985a875'/>
<id>urn:sha1:ee2f5d545825752af63da36e2b9ec7a92985a875</id>
<content type='text'>
- Implement complete rootless network namespace bootstrap via C launcher using unshare(CLONE_NEWUSER | CLONE_NEWNS | CLONE_NEWNET).
- Resolve unprivileged network isolation blackhole via host-socket preservation (FD passing): open client UDP sockets on the host pre-isolation, clear O_CLOEXEC, and ingest them via custom `FDBind` inside the sandbox.
- Implement isolated routing table automation over `tun0` (addresses, MTU, default routes).
- Implement persistent, multi-process namespace sharing and joining using reference-counted PID files and the setns system call.
- Write robust, self-contained E2E data plane test suites in `tests/e2e/e2e_test.go` using a mock UDP listener.
- Update project documentation (`README.md` and `AGENTS.md`) to reflect completed milestones.
- Ensure 100% test passing rate and zero lint/staticcheck warnings.
</content>
</entry>
<entry>
<title>docs: update README and AGENTS.md to reflect embedded launcher architecture</title>
<updated>2026-05-22T14:14:03Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T14:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=5dbc46f3c1c75bf922bcc1c3df342323c23c04ce'/>
<id>urn:sha1:5dbc46f3c1c75bf922bcc1c3df342323c23c04ce</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>
<entry>
<title>Initial commit</title>
<updated>2026-05-22T12:48:02Z</updated>
<author>
<name>James O'Doherty</name>
<email>james@theodohertyfamily.com</email>
</author>
<published>2026-05-22T12:48:02Z</published>
<link rel='alternate' type='text/html' href='https://git.theodohertyfamily.com/wg-wrap.git/commit/?id=a4cd7de209fe90006b3e6e67c69dea5ed0c9f832'/>
<id>urn:sha1:a4cd7de209fe90006b3e6e67c69dea5ed0c9f832</id>
<content type='text'>
</content>
</entry>
</feed>
