<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src/platform, branch master</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=master</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2026-07-14T17:09:51Z</updated>
<entry>
<title>windows: nit: fix build failure.. Let?</title>
<updated>2026-07-14T17:09:51Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-14T17:09:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=5000eb43c2bca82c90fd5a79a8b4251447e3fe88'/>
<id>urn:sha1:5000eb43c2bca82c90fd5a79a8b4251447e3fe88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: touch WinDivert service at start to prevent bad state issue</title>
<updated>2026-07-14T14:02:12Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-14T13:54:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=3d31f775d941f33915c6ef130e42c01019ac30a9'/>
<id>urn:sha1:3d31f775d941f33915c6ef130e42c01019ac30a9</id>
<content type='text'>
Query the service state with `sc query windivert` at startup, as this
is observed to resolve the bad state described in commit 168a88b8
("windows: fix some kind of race").

This is a defensive measure against the driver uninstall introduced by
that commit. Normally the uninstall is attempted only after all
handles opened by the current process are closed, but if another
process still holds an open WinDivert handle at that point, the driver
can remain stuck in a bad state on subsequent runs.

Link: https://github.com/basil00/WinDivert/issues/406
</content>
</entry>
<entry>
<title>windows: use OnceLock for SEND_HANDLE to close only when openned</title>
<updated>2026-07-13T19:48:47Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T19:48:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=4e22bda51e9bcf2ed388c7cfa76a2fec0e284c8d'/>
<id>urn:sha1:4e22bda51e9bcf2ed388c7cfa76a2fec0e284c8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: fix some kind of race</title>
<updated>2026-07-13T19:39:13Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T19:39:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=168a88b84f2fbdaf8a301e1da8da8038d000b29c'/>
<id>urn:sha1:168a88b84f2fbdaf8a301e1da8da8038d000b29c</id>
<content type='text'>
Uninstalling before all handles were closed resulted in a os error
1058 when try to open windivert. (sc stop windivert fixed it)

Assumed the uninstallation would fail if the handle was still
active, but it seems the initial uninstallation actually succeeded,
while the subsequent attempt to close the remaining handles failed.

Closing send handle that hadn't been closed previously and then
explicitly performed the uninstallation fixes the issue.
</content>
</entry>
<entry>
<title>windows: close handles and uninstall WinDivert.sys before exit</title>
<updated>2026-07-13T18:55:12Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T18:51:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=34873f2a27e52d5544009d30cbcde0eb8ff891e7'/>
<id>urn:sha1:34873f2a27e52d5544009d30cbcde0eb8ff891e7</id>
<content type='text'>
This allows the WinDivert.sys can be removed after the program
terminates, without needing to run `sc stop windivert`.

Bug: https://github.com/dilluti0n/dpibreak/issues/21
</content>
</entry>
<entry>
<title>windows: insert handler for console route to shutdown recv handles</title>
<updated>2026-07-13T18:55:12Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T15:37:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7de52af92c92afbe041170dd207052f5b8095e30'/>
<id>urn:sha1:7de52af92c92afbe041170dd207052f5b8095e30</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: WinDivertShutdown() recv handles at service exits</title>
<updated>2026-07-13T18:55:12Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T15:08:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=63516cd11ede5484f00854f9551c59583b9ee533'/>
<id>urn:sha1:63516cd11ede5484f00854f9551c59583b9ee533</id>
<content type='text'>
This inturrupts blocking recv() calls resulting WinDivert service can
be safely removed.
</content>
</entry>
<entry>
<title>windows: use paexit instead std::process::exit</title>
<updated>2026-07-13T13:17:42Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T13:11:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=d62745ca0d20ceaf580ddca76a682bb6a9a65b16'/>
<id>urn:sha1:d62745ca0d20ceaf580ddca76a682bb6a9a65b16</id>
<content type='text'>
See error message
</content>
</entry>
<entry>
<title>windows: fix nit build failure</title>
<updated>2026-07-13T13:17:37Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T12:47:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=207ef6dc214ae2c73848c7be0ed326d5772a931f'/>
<id>urn:sha1:207ef6dc214ae2c73848c7be0ed326d5772a931f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>linux: rxring: fix lifetime issue for Pkt::net()</title>
<updated>2026-07-10T08:32:39Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-10T08:32:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=47971046d4cc8e4964a207758831f6820a805859'/>
<id>urn:sha1:47971046d4cc8e4964a207758831f6820a805859</id>
<content type='text'>
Result should be unusable after Pkt is dropped, not rx is dropped.
</content>
</entry>
</feed>
