Hi,
> @@ -2813,6 +2826,7 @@ struct cfg80211_pmk_conf {
> * use %WLAN_STATUS_UNSPECIFIED_FAILURE if user space cannot give you
> * the real status code for failures. Used only for the authentication
> * response command interface (user space to driver).
> + * @pmkid: The identifier to refer a PMKSA.
> */
> struct cfg80211_external_auth_params {
> enum nl80211_external_auth_action action;
> @@ -2820,6 +2834,7 @@ struct cfg80211_external_auth_params {
> struct cfg80211_ssid ssid;
> unsigned int key_mgmt_suite;
> u16 status;
> + const u8 *pmkid;
So, interesting - Andrei also added the PMKID but also the PMK here, in
a separate patch:
https://patchwork.kernel.org/patch/10732093/
> * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the
> user
> - * space supports external authentication. This attribute shall be used
> - * only with %NL80211_CMD_CONNECT request. The driver may offload
> - * authentication processing to user space if this capability is
> indicated
> - * in NL80211_CMD_CONNECT requests from the user space.
> + * space supports external authentication. This attribute shall be used
> + * with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
> + * may offload authentication processing to user space if this capability
> + * is indicated in the respective requests from the user space.
Thanks for indenting this properly.
> @@ -12981,7 +12984,10 @@ static int nl80211_external_auth(struct sk_buff
> *skb, struct genl_info *info)
> if (!rdev->ops->external_auth)
> return -EOPNOTSUPP;
>
> - if (!info->attrs[NL80211_ATTR_SSID])
> + if (!info->attrs[NL80211_ATTR_SSID] &&
> + dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP &&
> + dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP_VLAN &&
> + dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO)
> return -EINVAL;
Hm. do we really expect this on AP_VLAN?
johannes