<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src/platform/windows.rs, branch v0.5.0</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2026-03-01T15:25:37Z</updated>
<entry>
<title>log: add debug!/info!/warn!/error! macros and refactor to use it</title>
<updated>2026-03-01T15:25:37Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T15:22:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=4699bf9afd69d9f2323b1fc0f6abba7aaac23cc2'/>
<id>urn:sha1:4699bf9afd69d9f2323b1fc0f6abba7aaac23cc2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: print log when recv fails</title>
<updated>2026-03-01T15:01:09Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T15:01:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7292d8f0015e65a3621c6ac62f3db9fd6eef9034'/>
<id>urn:sha1:7292d8f0015e65a3621c6ac62f3db9fd6eef9034</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: fix buffer size to 65536</title>
<updated>2026-03-01T14:49:10Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T14:49:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=b8c89f8720cf5648f18afabb574499ca819c7738'/>
<id>urn:sha1:b8c89f8720cf5648f18afabb574499ca819c7738</id>
<content type='text'>
This size is for windivert buffer, not internal pkt buffer capacity.
</content>
</entry>
<entry>
<title>windows: simplify packet handling with recv_loop macro</title>
<updated>2026-03-01T12:45:14Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T12:31:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7944c69c8847883e9efeba0e5687e6f59575f357'/>
<id>urn:sha1:7944c69c8847883e9efeba0e5687e6f59575f357</id>
<content type='text'>
Replace generic spawn_recv with recv_loop macro that encapsulates the
buffer allocation and receive loop. Divert handle now runs directly on
the main thread, while sniff handle spawns a dedicated thread only when
fake_autottl is enabled. This eliminates the mpsc channel, Event enum,
and the race condition where concurrent open_handle calls during driver
initialization could cause error 1058.
</content>
</entry>
<entry>
<title>windows: remove RUNNING flag and trap_exit</title>
<updated>2026-03-01T12:16:38Z</updated>
<author>
<name>hskimse</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T12:16:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=45dac415fc34634132b0d068cb2bf20a3424c7ef'/>
<id>urn:sha1:45dac415fc34634132b0d068cb2bf20a3424c7ef</id>
<content type='text'>
Non-daemon mode exits via process::exit(0) on Ctrl-C, and daemon mode
is managed by SCM, so the RUNNING atomic flag and graceful shutdown
loop are both unnecessary. Remove them along with the ctrlc handler.
</content>
</entry>
<entry>
<title>windows: exit immediately on Ctrl-C in non-daemon mode</title>
<updated>2026-03-01T11:46:05Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T11:46:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=804ed8a27b5bb31a2397e88319c046e18042fe16'/>
<id>urn:sha1:804ed8a27b5bb31a2397e88319c046e18042fe16</id>
<content type='text'>
In non-daemon mode, WinDivert driver closes all handles on process
exit, so explicit cleanup is unnecessary. Call std::process::exit(0)
directly from the Ctrl-C handler instead of relying on RUNNING flag
and graceful shutdown loop.

Also move trap_exit() call before spawn_recv() to ensure the handler
is registered before any threads are spawned.
</content>
</entry>
<entry>
<title>Move cleanup/trap_exit/RUNNING to platform modules</title>
<updated>2026-03-01T08:10:18Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-03-01T08:10:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=50f4d72cac8cec067e2d8b406f651c149d375595'/>
<id>urn:sha1:50f4d72cac8cec067e2d8b406f651c149d375595</id>
<content type='text'>
- Remove global RUNNING, trap_exit, EnsureCleanup, MESSAGE_AT_RUN from main.rs
- Move each into platform-specific modules (linux.rs, windows.rs)
- Move MESSAGE_AT_RUN to platform.rs
- Inline cleanup logic into run() instead of separate cleanup() fn
- Remove service_run_1() indirection in windows.rs
</content>
</entry>
<entry>
<title>windows: spawn syn/ack filter only when `--fake-autottl` is enabled</title>
<updated>2026-02-27T07:20:42Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-27T07:20:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=d7fd12b2fea2547e9b85bd67cd32583435d1ed9b'/>
<id>urn:sha1:d7fd12b2fea2547e9b85bd67cd32583435d1ed9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: add close WinDivert handles on thread exit</title>
<updated>2026-02-27T06:36:46Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-27T06:36:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=f1ef2a6fa8a77e34042e9984b1f529bfdc494538'/>
<id>urn:sha1:f1ef2a6fa8a77e34042e9984b1f529bfdc494538</id>
<content type='text'>
Move handle lifecycle into spawn_recv so each handle is properly
closed when RUNNING becomes false. Filter and flags are passed in
instead of a pre-opened handle.
</content>
</entry>
<entry>
<title>windows: refactor thread spawnings to spawn_recv helper</title>
<updated>2026-02-27T06:10:50Z</updated>
<author>
<name>dilluti0n</name>
<email>hskimse1@gmail.com</email>
</author>
<published>2026-02-27T05:38:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=16818448dc9fea19be56b82f4c07b765b235197a'/>
<id>urn:sha1:16818448dc9fea19be56b82f4c07b765b235197a</id>
<content type='text'>
</content>
</entry>
</feed>
