<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-nt, branch master</title>
<subtitle>WireGuard implementation for NT kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-nt/atom/?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-nt/atom/?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/'/>
<updated>2026-04-15T12:13:28Z</updated>
<entry>
<title>version: bump</title>
<updated>2026-04-15T12:13:28Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-15T12:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=9fb22b8694aeaf43c74f4f1b5b59592267c49a04'/>
<id>urn:sha1:9fb22b8694aeaf43c74f4f1b5b59592267c49a04</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: use /DECLSPEC_ALIGN(n) instead of __declspec(align(n))</title>
<updated>2026-04-15T11:34:39Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-15T11:31:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=47f281f5f729e559371074fb7adb07dbbc0126bc'/>
<id>urn:sha1:47f281f5f729e559371074fb7adb07dbbc0126bc</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: enable /std:clatest and use typeof</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-12T16:26:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=3312f666040a88785ae2dc319f02c783759bd9ef'/>
<id>urn:sha1:3312f666040a88785ae2dc319f02c783759bd9ef</id>
<content type='text'>
Use C23 typeof to eliminate redundant type parameters from the RCU
macros.

Also, drop mention of hoping to use alignas in TODO.md. It only goes on
members of structs, not the struct type itself, which I find
syntactically annoying, and it doesn't really confer any additional real
benefits.

Moving to C23 means that we must use __VA_OPT__.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: nsi: filter \Device\Nsi instead of polling in thread</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-12T02:16:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=5705540b349086c3b16f7cc3467bfab3277dc2fe'/>
<id>urn:sha1:5705540b349086c3b16f7cc3467bfab3277dc2fe</id>
<content type='text'>
This restores 217922a ("driver: device: hack around broken IP notifier
by hijacking \Device\Nsi"), but does it right, hopefully.

Since we're attaching to \Device\Nsi as a filter, we increment the
refcount of the driver, which means Unload doesn't get called until we
detach filtering. So we attach and detach on first and last device
creation and destruction.

A limitation of the old commit is that it missed notifications from
netsh, because netsh sets the subinterface mtu, not the interface mtu.
I've now updated the code to catch both updates. For WireGuard, they are
effectively the same.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: containers: tiny SAL nit</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T21:29:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=facf238646a02611ee88034368cf06f615268eb1'/>
<id>urn:sha1:facf238646a02611ee88034368cf06f615268eb1</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: crypto: zero state on MDL failure</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T19:43:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=58d210755b8db2091807ce8c78a5cc0f90cc824b'/>
<id>urn:sha1:58d210755b8db2091807ce8c78a5cc0f90cc824b</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: socket: allow retrying WskInit if it fails for the first user</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T19:21:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=ed1ccd7fbff9ee45f438e96e57e2d2a31f03b943'/>
<id>urn:sha1:ed1ccd7fbff9ee45f438e96e57e2d2a31f03b943</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: timers: set pending false before executing callback</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T18:11:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=da96dddd9972bde2467013bc6b0ad01d7c396d0e'/>
<id>urn:sha1:da96dddd9972bde2467013bc6b0ad01d7c396d0e</id>
<content type='text'>
This makes the re-arm logic work better.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: memory: fix bad parens in NT_SUCCESS</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T17:37:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=1bc4be77318cd33d2b6127ad5e46f767710b7a93'/>
<id>urn:sha1:1bc4be77318cd33d2b6127ad5e46f767710b7a93</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>driver: device: check ndis version first</title>
<updated>2026-04-14T08:26:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-04-11T18:19:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-nt/commit/?id=8edf0cd4550bf4539c384d3131f465a70d5b7c95'/>
<id>urn:sha1:8edf0cd4550bf4539c384d3131f465a70d5b7c95</id>
<content type='text'>
This avoids having to cleanup if the version is wrong.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
</feed>
