<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dpibreak.git/crates/windivert, 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-14T19:36:01Z</updated>
<entry>
<title>Publish local windivert crate to crates.io</title>
<updated>2026-07-14T19:36:01Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-14T19:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=458bece530d35e59cf8c59ac26984825506037ea'/>
<id>urn:sha1:458bece530d35e59cf8c59ac26984825506037ea</id>
<content type='text'>
To publish dpibreak to there
</content>
</entry>
<entry>
<title>windivert: relax shutdown() receiver to &amp;self</title>
<updated>2026-07-13T18:55:12Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T14:47:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7840fcd88561ce441c25fbb2e9c88933f4199797'/>
<id>urn:sha1:7840fcd88561ce441c25fbb2e9c88933f4199797</id>
<content type='text'>
Unblocking WinDivertRecv() from another thread is in fact the whole
purpose of WinDivertShutdown(), but &amp;mut self made that impossible on
a shared (Arc) handle. It only reads self.handle and doesn't
invalidate it, so &amp;self is sound.
</content>
</entry>
<entry>
<title>windows: windivert: fix rust str passed as ptr to C ffi</title>
<updated>2026-07-13T18:55:12Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T14:33:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=82c8d8097c6e239a59bd7fa7011366a43ac1c649'/>
<id>urn:sha1:82c8d8097c6e239a59bd7fa7011366a43ac1c649</id>
<content type='text'>
This should be null terminated or OpenServiceA() have no chance to
know where str is stopped.
</content>
</entry>
<entry>
<title>windows: windivert: fix dangling pointer in WinDivert::uninstall()</title>
<updated>2026-07-13T18:54:51Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T14:10:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=e0541485fa3059f114892014b1f6b6bb5e3decb0'/>
<id>urn:sha1:e0541485fa3059f114892014b1f6b6bb5e3decb0</id>
<content type='text'>
MaybeUninit::uninit() is not bound to any variable, so the temporary
is dropped at the end of the statement, leaving `status` as a dangling
pointer into the freed stack slot. Passing it to ControlService() as
an out-pointer then makes the kernel write through a dangling pointer,
which is undefined behavior.

Bind the MaybeUninit&lt;SERVICE_STATUS&gt; to a local so it outlives the
pointer.
</content>
</entry>
<entry>
<title>windows: windivert: nit: add to workspace</title>
<updated>2026-07-13T14:41:43Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T14:40:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=85e786bcbe653204266cb3a1e5f3bb166577ba2b'/>
<id>urn:sha1:85e786bcbe653204266cb3a1e5f3bb166577ba2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>windows: pull windivert-0.6.0 to local crate/ dir from crates.io</title>
<updated>2026-07-13T13:59:08Z</updated>
<author>
<name>dilluti0n</name>
<email>hskim@dilluti0n.com</email>
</author>
<published>2026-07-13T13:59:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/dpibreak.git/commit/?id=7f5456b03fb49b37de688280d23635ba15c9cc82'/>
<id>urn:sha1:7f5456b03fb49b37de688280d23635ba15c9cc82</id>
<content type='text'>
This is pulled from cargo cache:
  cp -r ~/.cargo/registry/src/index.crates.io-*/windivert-0.6.0 \
    crates/windivert
</content>
</entry>
</feed>
