diff --git a/bundle.json b/bundle.json index ffe98f2817e952ca0f6971607f29aa1117db0ddc..af7dca7b44b480db4d3895651f3e5c8c38cfb5be 100644 --- a/bundle.json +++ b/bundle.json @@ -26,6 +26,7 @@ "wpa_supplicant_ohos_certmgr", "wpa_supplicant_config_openssl", "wpa_supplicant_config_wfd", + "wpa_supplicant_miracast_sink_opt", "wpa_supplicant_config_mlo", "wpa_supplicant_ieee80211be", "wpa_supplicant_config_okc_roam" diff --git a/wpa_supplicant-2.9_standard/src/p2p/p2p.c b/wpa_supplicant-2.9_standard/src/p2p/p2p.c index c352e510c7569509c1a6c5a4b1264c0bcff1ff67..bcdef24c830fe9c4864f586d576e21e0aa360238 100644 --- a/wpa_supplicant-2.9_standard/src/p2p/p2p.c +++ b/wpa_supplicant-2.9_standard/src/p2p/p2p.c @@ -20,7 +20,7 @@ #include "p2p_i.h" #include "p2p.h" -#ifdef OPEN_HARMONY_MIRACAST_SINK_OPT +#ifdef CONFIG_MIRACAST_SINK_OPT #include "hm_miracast_sink.h" #endif @@ -2398,8 +2398,8 @@ struct wpabuf * p2p_build_probe_resp_ies(struct p2p_data *p2p, if (p2p->vendor_elem && p2p->vendor_elem[VENDOR_ELEM_PROBE_RESP_P2P]) wpabuf_put_buf(buf, p2p->vendor_elem[VENDOR_ELEM_PROBE_RESP_P2P]); -//resp增加字段 -#if defined(CONFIG_OPEN_HARMONY_PATCH) && defined(OPEN_HARMONY_MIRACAST_SINK_OPT) +#ifdef CONFIG_MIRACAST_SINK_OPT + //resp增加字段 if (hm_p2p_add_pvt_vendor_ie(buf)) wpa_printf(MSG_ERROR, "add pvt vendor IE fail"); #endif @@ -2767,6 +2767,10 @@ static int p2p_assoc_req_ie_wlan_ap(struct p2p_data *p2p, const u8 *bssid, p2p->cross_connect) group_capab |= P2P_GROUP_CAPAB_CROSS_CONN; } +#ifdef CONFIG_MIRACAST_SINK_OPT + p2p_dbg(p2p, "p2p_build_probe_resp_ies:num_groups:%lu.group_capab:%x", + (unsigned long)p2p->num_groups, group_capab); +#endif p2p_buf_add_capability(tmp, p2p->dev_capab, group_capab); if ((p2p->dev_capab & P2P_DEV_CAPAB_CONCURRENT_OPER) && (p2p->dev_capab & P2P_DEV_CAPAB_INFRA_MANAGED)) diff --git a/wpa_supplicant-2.9_standard/src/p2p/p2p_group.c b/wpa_supplicant-2.9_standard/src/p2p/p2p_group.c index 74612d6676987de824d40dd5ea5b22904dadc8a3..70a9be4ded8471cee6677f01d7a6e73f664747e3 100644 --- a/wpa_supplicant-2.9_standard/src/p2p/p2p_group.c +++ b/wpa_supplicant-2.9_standard/src/p2p/p2p_group.c @@ -42,11 +42,9 @@ struct p2p_group { struct wpabuf *wfd_ie; }; -#ifdef CONFIG_OPEN_HARMONY_PATCH -#ifdef OPEN_HARMONY_MIRACAST_SINK_OPT +#ifdef CONFIG_MIRACAST_SINK_OPT #include "hm_miracast_sink.h" #endif -#endif struct p2p_group * p2p_group_init(struct p2p_data *p2p, struct p2p_group_config *config) @@ -217,7 +215,7 @@ static struct wpabuf * p2p_group_build_beacon_ie(struct p2p_group *group) u8 *len; size_t extra = 0; -#if defined(CONFIG_OPEN_HARMONY_PATCH) && defined(OPEN_HARMONY_MIRACAST_SINK_OPT) +#ifdef CONFIG_MIRACAST_SINK_OPT struct wpabuf *pvt_vendor_ie = NULL; #endif @@ -234,7 +232,7 @@ static struct wpabuf * p2p_group_build_beacon_ie(struct p2p_group *group) if (ie == NULL) return NULL; -#if defined(CONFIG_OPEN_HARMONY_PATCH) && defined(OPEN_HARMONY_MIRACAST_SINK_OPT) +#ifdef CONFIG_MIRACAST_SINK_OPT pvt_vendor_ie = wpabuf_alloc(HM_MAX_P2P_VENDOR_IE_LEN); hm_p2p_add_pvt_vendor_ie(pvt_vendor_ie); wpabuf_put_buf(ie, pvt_vendor_ie); @@ -461,7 +459,7 @@ static struct wpabuf * p2p_group_build_probe_resp_ie(struct p2p_group *group) { struct wpabuf *p2p_subelems, *ie; -#if defined(CONFIG_OPEN_HARMONY_PATCH) && defined(OPEN_HARMONY_MIRACAST_SINK_OPT) +#ifdef CONFIG_MIRACAST_SINK_OPT struct wpabuf *pvt_vendor_ie = NULL; #endif @@ -496,7 +494,7 @@ static struct wpabuf * p2p_group_build_probe_resp_ie(struct p2p_group *group) } #endif /* CONFIG_WIFI_DISPLAY */ -#if defined(CONFIG_OPEN_HARMONY_PATCH) && defined(OPEN_HARMONY_MIRACAST_SINK_OPT) +#ifdef CONFIG_MIRACAST_SINK_OPT pvt_vendor_ie = wpabuf_alloc(HM_MAX_P2P_VENDOR_IE_LEN); hm_p2p_add_pvt_vendor_ie(pvt_vendor_ie); ie = wpabuf_concat(pvt_vendor_ie, ie); diff --git a/wpa_supplicant-2.9_standard/wpa.gni b/wpa_supplicant-2.9_standard/wpa.gni index c6d1864a018ea414a5ea40767feb0c5c841e232b..563ab34a6d0f32249cc9859b0eae8d0a3c3a653c 100644 --- a/wpa_supplicant-2.9_standard/wpa.gni +++ b/wpa_supplicant-2.9_standard/wpa.gni @@ -16,6 +16,7 @@ declare_args() { wpa_supplicant_vendor_ext = false wpa_supplicant_wapi = false wpa_supplicant_ieee80211be = true + wpa_supplicant_miracast_sink_opt = false } WPA_ROOT_DIR = "//third_party/wpa_supplicant/wpa_supplicant-2.9_standard" diff --git a/wpa_supplicant-2.9_standard/wpa_supplicant/ctrl_iface.c b/wpa_supplicant-2.9_standard/wpa_supplicant/ctrl_iface.c index eab9c9e3e5ac2f930bd3a9ad94408d5f43d59abc..f37f8ce6ca982fcc19f2c8adf7bf57c9517c7fb4 100644 --- a/wpa_supplicant-2.9_standard/wpa_supplicant/ctrl_iface.c +++ b/wpa_supplicant-2.9_standard/wpa_supplicant/ctrl_iface.c @@ -80,7 +80,7 @@ #ifdef CONFIG_OPEN_HARMONY_PATCH #include "p2p/p2p_i.h" -#ifdef OPEN_HARMONY_MIRACAST_SINK_OPT +#ifdef CONFIG_MIRACAST_SINK_OPT #include "hm_miracast_sink.h" #endif #endif @@ -13587,6 +13587,11 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s, reply_len = wifi_display_subelem_get(wpa_s->global, buf + 16, reply, reply_size); #endif /* CONFIG_WIFI_DISPLAY */ +#ifdef CONFIG_MIRACAST_SINK_OPT + } else if (os_strncmp(buf, "SINK_CONFIG_SET ", 16) == 0) { + if (hm_p2p_set_listen_param(wpa_s, buf + 16, 0) < 0) + reply_len = -1; +#endif /* CONFIG_MIRACAST_SINK_OPT */ #ifdef CONFIG_INTERWORKING } else if (os_strcmp(buf, "FETCH_ANQP") == 0) { if (interworking_fetch_anqp(wpa_s) < 0) diff --git a/wpa_supplicant-2.9_standard/wpa_vendor_ext.gni b/wpa_supplicant-2.9_standard/wpa_vendor_ext.gni index fdaa2edeb10b0920da4820949cae9118e2d675be..627a619144da6abdc6d7c99ab518261514ece5e9 100644 --- a/wpa_supplicant-2.9_standard/wpa_vendor_ext.gni +++ b/wpa_supplicant-2.9_standard/wpa_vendor_ext.gni @@ -45,6 +45,9 @@ if (wpa_supplicant_vendor_ext && wpa_vendor_gni != "") { "-DLE", ] } + if (wpa_supplicant_miracast_sink_opt) { + ext_cflags += [ "-DCONFIG_MIRACAST_SINK_OPT" ] + } if (defined(global_parts_info.hiviewdfx_hisysevent)) { ext_cflags += [ "-DHISYSEVENT_EXIST" ] }