<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/src, branch v0.6.2</title>
<subtitle>System-wide DPI circumvention with minimal configuration
</subtitle>
<id>http://git.dilluti0n.com/dpibreak.git/atom?h=v0.6.2</id>
<link rel='self' href='http://git.dilluti0n.com/dpibreak.git/atom?h=v0.6.2'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/'/>
<updated>2026-07-14T18:58:23Z</updated>
<entry>
<title>Change splash message format</title>
<updated>2026-07-14T18:58:23Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-14T18:58:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=8a8c9e06d602e2b0b137d6db799395268a7b3676'/>
<id>urn:sha1:8a8c9e06d602e2b0b137d6db799395268a7b3676</id>
<content type='text'>
</content>
</entry>
<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: defensively check if it is service mode at paexit()</title>
<updated>2026-07-14T05:56:53Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-14T05:56:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=f86f1a024c348557fea320312ea0caa3a6fc1c12'/>
<id>urn:sha1:f86f1a024c348557fea320312ea0caa3a6fc1c12</id>
<content type='text'>
It is unlikely that there is a `paexit` call in the service path, but
there is no harm in checking for it.
</content>
</entry>
<entry>
<title>windows: do not use paexit when there is no error</title>
<updated>2026-07-14T05:47:33Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-14T05:47:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=49fd3f5a0550cca0572348f6b70b7394ba63ca5c'/>
<id>urn:sha1:49fd3f5a0550cca0572348f6b70b7394ba63ca5c</id>
<content type='text'>
loop on CTRL_CLOSE_EVENT handler causes pause occurs when the user
closes the console by clicking the 'X' button, which degrades user
experience.

This change terminates program immediately if no error occurs.
</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>
</feed>
