<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slstatus/components/wifi.c, branch csobczak</title>
<subtitle>A custom configuration of the suckless status utility</subtitle>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/'/>
<entry>
<title>fix wifi buffer overflows on Linux</title>
<updated>2026-06-23T22:12:47+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-06-23T19:08:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=0dc0c59dbefbd38a8c59004e941260a26fe4bccf'/>
<id>0dc0c59dbefbd38a8c59004e941260a26fe4bccf</id>
<content type='text'>
replace strcpy of interface name into ifr_name (IFNAMSIZ=16) with
bounds-checked snprintf. add one byte to resp buffer so NUL-terminating
the SSID at resp boundary does not write out of bounds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
replace strcpy of interface name into ifr_name (IFNAMSIZ=16) with
bounds-checked snprintf. add one byte to resp buffer so NUL-terminating
the SSID at resp boundary does not write out of bounds.
</pre>
</div>
</content>
</entry>
<entry>
<title>wifi: always retry ioctl for ifindex</title>
<updated>2026-02-12T21:46:02+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-02-12T21:46:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=4f61bbbd8e9278c75f29e7853ae8922717261d2d'/>
<id>4f61bbbd8e9278c75f29e7853ae8922717261d2d</id>
<content type='text'>
ifindex() caches the result of ioctl(SIOCGIFINDEX) and never
retries it, since the interface name strcmp succeeds after the
first call. if the interface does not exist when slstatus starts
(e.g. iwd with default config destroys/recreates interfaces
depending on service state), the ioctl fails and the stale
result is returned on all subsequent calls.

based on a patch by ryhpez, with input from Taha Medhous
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ifindex() caches the result of ioctl(SIOCGIFINDEX) and never
retries it, since the interface name strcmp succeeds after the
first call. if the interface does not exist when slstatus starts
(e.g. iwd with default config destroys/recreates interfaces
depending on service state), the ioctl fails and the stale
result is returned on all subsequent calls.

based on a patch by ryhpez, with input from Taha Medhous
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor wifi on linux</title>
<updated>2025-04-30T02:00:53+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2025-04-30T01:59:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=3db023f13b85de9cd63096d17b025a6cce39ef88'/>
<id>3db023f13b85de9cd63096d17b025a6cce39ef88</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>wifi: switch to nl80211 interface</title>
<updated>2025-04-30T00:59:42+00:00</updated>
<author>
<name>Joakim Sindholt</name>
<email>opensource@zhasha.com</email>
</author>
<published>2024-07-30T20:15:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=0b00c0319c7b4a941b40aa8709bb4c478f9a9b1f'/>
<id>0b00c0319c7b4a941b40aa8709bb4c478f9a9b1f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>radical re-formatting 2/3: Fix blocks</title>
<updated>2022-10-27T23:03:38+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T22:51:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=3251e911878b78b0aad8fc09c782f8d81c878f75'/>
<id>3251e911878b78b0aad8fc09c782f8d81c878f75</id>
<content type='text'>
Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</pre>
</div>
</content>
</entry>
<entry>
<title>radical re-formatting 1/3: Fix spacing</title>
<updated>2022-10-27T23:03:31+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T22:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=2104dc362ca7336d98499a5945ea2a3d371f7568'/>
<id>2104dc362ca7336d98499a5945ea2a3d371f7568</id>
<content type='text'>
Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</pre>
</div>
</content>
</entry>
<entry>
<title>radical re-formatting 0/3: Alphabetic headers</title>
<updated>2022-10-27T23:03:20+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T21:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=0696635bcbad06770cce7d5a4c9e8e4d76868307'/>
<id>0696635bcbad06770cce7d5a4c9e8e4d76868307</id>
<content type='text'>
Except stated otherwise in comment.

Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Except stated otherwise in comment.

Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</pre>
</div>
</content>
</entry>
<entry>
<title>various: Put paths into defines to avoid line wraps</title>
<updated>2022-10-27T23:01:10+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T21:44:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=69b2487650782f135db76078c4a7fb841cb936ac'/>
<id>69b2487650782f135db76078c4a7fb841cb936ac</id>
<content type='text'>
Long, wrapped, multi-line if statements suck to read.
This fixes readability in the worst places by packing format strings for
paths into defines.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Long, wrapped, multi-line if statements suck to read.
This fixes readability in the worst places by packing format strings for
paths into defines.
</pre>
</div>
</content>
</entry>
<entry>
<title>components/*.c: include slstatus.h</title>
<updated>2022-10-26T21:32:07+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2022-10-26T20:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=28ef0b242c32e8ae8b4df2b4b380e30bf581130f'/>
<id>28ef0b242c32e8ae8b4df2b4b380e30bf581130f</id>
<content type='text'>
this gives the compiler a chance to check weather the prototype and
definiton matches or not, which would catch issues like 3c47701.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this gives the compiler a chance to check weather the prototype and
definiton matches or not, which would catch issues like 3c47701.
</pre>
</div>
</content>
</entry>
<entry>
<title>close file descriptors and fix return values</title>
<updated>2019-02-13T14:23:04+00:00</updated>
<author>
<name>Michael Buch</name>
<email>michaelbuch12@gmail.com</email>
</author>
<published>2019-02-13T14:16:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=a9193a757a510e07e69b18ca64d2e50d467f01c1'/>
<id>a9193a757a510e07e69b18ca64d2e50d467f01c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
