Codebase list golang-github-mdlayher-wifi-upstream / 954ff73
fix connecting to WiFi: SSID is not 0-terminated, ATTR_MAC unwanted (#39) Michael Stapelberg authored 2 years ago GitHub committed 2 years ago
1 changed file(s) with 12 addition(s) and 9 deletion(s). Raw diff Collapse all Expand all
9292 netlink.Acknowledge,
9393 ifi,
9494 func(ae *netlink.AttributeEncoder) {
95 ae.String(unix.NL80211_ATTR_SSID, ssid)
95 ae.Bytes(unix.NL80211_ATTR_SSID, []byte(ssid))
9696 ae.Uint32(unix.NL80211_ATTR_AUTH_TYPE, unix.NL80211_AUTHTYPE_OPEN_SYSTEM)
9797 },
9898 )
126126 akmSuites = 0xfac02
127127 )
128128
129 ae.String(unix.NL80211_ATTR_SSID, ssid)
129 ae.Bytes(unix.NL80211_ATTR_SSID, []byte(ssid))
130130 ae.Uint32(unix.NL80211_ATTR_WPA_VERSIONS, unix.NL80211_WPA_VERSION_2)
131131 ae.Uint32(unix.NL80211_ATTR_CIPHER_SUITE_GROUP, cipherSuites)
132132 ae.Uint32(unix.NL80211_ATTR_CIPHER_SUITES_PAIRWISE, cipherSuites)
152152 unix.NL80211_CMD_GET_SCAN,
153153 netlink.Dump,
154154 ifi,
155 nil,
155 func(ae *netlink.AttributeEncoder) {
156 if ifi.HardwareAddr != nil {
157 ae.Bytes(unix.NL80211_ATTR_MAC, ifi.HardwareAddr)
158 }
159 },
156160 )
157161 if err != nil {
158162 return nil, err
168172 unix.NL80211_CMD_GET_STATION,
169173 netlink.Dump,
170174 ifi,
171 nil,
175 func(ae *netlink.AttributeEncoder) {
176 if ifi.HardwareAddr != nil {
177 ae.Bytes(unix.NL80211_ATTR_MAC, ifi.HardwareAddr)
178 }
179 },
172180 )
173181 if err != nil {
174182 return nil, err
265273
266274 // Mandatory.
267275 ae.Uint32(unix.NL80211_ATTR_IFINDEX, uint32(ifi.Index))
268
269 // Optional parameters.
270 if ifi.HardwareAddr != nil {
271 ae.Bytes(unix.NL80211_ATTR_MAC, ifi.HardwareAddr)
272 }
273276 }
274277
275278 // idAttrs returns the netlink attributes required from an Interface to retrieve