<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-apple/Sources/WireGuardKit, branch am/default-path</title>
<subtitle>iOS and macOS apps for WireGuard</subtitle>
<id>https://git.zx2c4.com/wireguard-apple/atom/Sources/WireGuardKit?h=am%2Fdefault-path</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-apple/atom/Sources/WireGuardKit?h=am%2Fdefault-path'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/'/>
<updated>2023-03-06T11:51:05Z</updated>
<entry>
<title>Switch NSCondition to DispatchGroup</title>
<updated>2023-03-06T11:51:05Z</updated>
<author>
<name>Andrej Mihajlov</name>
<email>and@mullvad.net</email>
</author>
<published>2023-03-03T15:12:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=2909fdf41eba3b7afa3fb0eb54eb2049d2f386b5'/>
<id>urn:sha1:2909fdf41eba3b7afa3fb0eb54eb2049d2f386b5</id>
<content type='text'>
Signed-off-by: Andrej Mihajlov &lt;and@mullvad.net&gt;
</content>
</entry>
<entry>
<title>Kit: replace path monitor with KVO observer on defaultPath</title>
<updated>2023-03-06T11:50:44Z</updated>
<author>
<name>Andrej Mihajlov</name>
<email>and@mullvad.net</email>
</author>
<published>2023-03-02T09:59:41Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=3149c5029937996dc3fe268ab148cff283fe0656'/>
<id>urn:sha1:3149c5029937996dc3fe268ab148cff283fe0656</id>
<content type='text'>
Signed-off-by: Andrej Mihajlov &lt;and@mullvad.net&gt;
</content>
</entry>
<entry>
<title>App: bump copyright</title>
<updated>2023-02-15T13:20:35Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2023-02-14T15:10:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=7b279383d1f5aeb939bef6507b95b33afbb577e6'/>
<id>urn:sha1:7b279383d1f5aeb939bef6507b95b33afbb577e6</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>WireGuardKit: fix incorrect IP address allocation size</title>
<updated>2023-02-08T16:08:40Z</updated>
<author>
<name>John Biggs</name>
<email>john.biggs@proton.ch</email>
</author>
<published>2022-11-15T19:50:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=12b095470ad29ecea7436088f6e5fa701e6445a6'/>
<id>urn:sha1:12b095470ad29ecea7436088f6e5fa701e6445a6</id>
<content type='text'>
According to [1], the `capacity` parameter is specified as "the number
of instances of T in the re-bound region" and not the total size of the
rebound struct.

Without this patch, there are crashes in the extension with the
following error:

  Fatal error: self must be a properly aligned pointer for types Pointee and T`

Since the subsequent line in the code only reads `sizeof(in_addr)` or
`sizeof(in6_addr)` anyway, change the `capacity` parameter to just be a
count of 1.

[1] https://developer.apple.com/documentation/swift/unsafepointer/withmemoryrebound(to:capacity:_:)

Signed-off-by: John Biggs &lt;john.biggs@proton.ch&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>Global: bump copyright year</title>
<updated>2021-06-17T14:56:46Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2021-06-17T14:56:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=13b720442d47b67a18d6841aa34569633a22b458'/>
<id>urn:sha1:13b720442d47b67a18d6841aa34569633a22b458</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>Kit: add missing import for WireGuardKitC</title>
<updated>2021-06-17T13:15:41Z</updated>
<author>
<name>Andrej Mihajlov</name>
<email>and@mullvad.net</email>
</author>
<published>2021-06-17T11:23:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=c1f509d65bba1c00c6b6ef93826f658ff36a0761'/>
<id>urn:sha1:c1f509d65bba1c00c6b6ef93826f658ff36a0761</id>
<content type='text'>
Signed-off-by: Andrej Mihajlov &lt;and@mullvad.net&gt;
</content>
</entry>
<entry>
<title>Kit: Adapter: use more reliable utun detection technique</title>
<updated>2021-06-16T15:40:12Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2021-06-16T15:09:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=23bf3cfccb5a6fa9faf85c35ca24ec4c3e29c3fe'/>
<id>urn:sha1:23bf3cfccb5a6fa9faf85c35ca24ec4c3e29c3fe</id>
<content type='text'>
Rather than hoping that the AF_SYSTEM fd is of type utun, and then
calling "2" on it to get the name -- which could be defined as something
else for a different AF_SYSTEM socket type -- instead simply query the
AF_SYSTEM control socket ID with getpeername. This has one catch, which
is that the ID is dynamically allocated, so we resolve it using the
qualified name. Normally we'd make a new AF_SYSTEM socket for this, but
since that's not allowed in the sandbox, we reuse the AF_SYSTEM socket
that we're checking. At this point in the flow, we know that it's a
proper AF_SYSTEM one, based on the first sockaddr member; we just don't
know that it's a utun variety.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>Kit: Adapter: iterate through all FDs to find UTUN</title>
<updated>2021-06-16T13:56:21Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2021-06-16T13:56:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=7f5ad3e503f231893dc5d298f703c4b72b83bdb9'/>
<id>urn:sha1:7f5ad3e503f231893dc5d298f703c4b72b83bdb9</id>
<content type='text'>
This is a bit of a kludge, until I find something better. We simply
iterate through all FDs, and call getsockopt on each one until we find
the utun FD. This works, and completes rather quickly (fd is usually 6
or 7). Rather than maintain the old path for older kernels, just use
this for all versions, to get more coverage. Other techniques involve
undocumented APIs; this one has the advantage of using nothing
undocumented.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>SPM: update exclude rules</title>
<updated>2021-06-16T13:23:11Z</updated>
<author>
<name>Andrej Mihajlov</name>
<email>and@mullvad.net</email>
</author>
<published>2021-06-15T13:18:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=820fa55380b529704945b32e5d990f690c03b2e2'/>
<id>urn:sha1:820fa55380b529704945b32e5d990f690c03b2e2</id>
<content type='text'>
Fixes missing excluded file warning in Xcode. api-ios.go was renamed to api-apple.go.

Signed-off-by: Andrej Mihajlov &lt;and@mullvad.net&gt;
</content>
</entry>
<entry>
<title>Kit: Go: bump to latest API</title>
<updated>2021-03-09T16:10:04Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2021-03-08T19:29:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-apple/commit/?id=b7f69d20b6c6560b6cdced961bed428e68c66719'/>
<id>urn:sha1:b7f69d20b6c6560b6cdced961bed428e68c66719</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
</feed>
