char *session_information;
int proto;
int status;
+ int deferring;
unsigned char service_mac[OEM_MACADDR_LEN];
unsigned char group_mac[OEM_MACADDR_LEN];
char wps_pin[OEM_PINSTR_LEN+1];
Name: wifi-direct-manager
Summary: Wi-Fi Direct manger
-Version: 1.2.207
+Version: 1.2.208
Release: 1
Group: Network & Connectivity/Wireless
License: Apache-2.0
#define NETCONFIG_DBUS_REPLY_TIMEOUT (10 * 1000)
-#if defined TIZEN_PROFILE_MOBILE
-#define DEFAULT_MAC_FILE_PATH tzplatform_mkpath(TZ_SYS_ETC, ".mac.info")
-#endif
-
#if defined TIZEN_WIFI_MODULE_BUNDLE
#define DEFAULT_MAC_FILE_PATH "/sys/class/net/wlan0/address"
#endif
dbus_set_method_param(¶ms, "ASPProvisionDiscoveryRequest", g_pd->iface_path, g_dbus);
- g_snprintf(peer_path, DBUS_OBJECT_PATH_MAX, "%s/Peers/"
- COMPACT_MACSTR, g_pd->iface_path, MAC2STR(asp_params->service_mac));
+ if(asp_params->deferring == 0)
+ g_snprintf(peer_path, DBUS_OBJECT_PATH_MAX, "%s/Peers/"
+ COMPACT_MACSTR, g_pd->iface_path, MAC2STR(asp_params->service_mac));
+ else
+ g_snprintf(peer_path, DBUS_OBJECT_PATH_MAX, "%s/Peers/"
+ COMPACT_MACSTR, g_pd->iface_path, MAC2STR(asp_params->session_mac));
WDP_LOGD("get peer path [%s]", peer_path);
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
} else if (prov_params->network_role == WFD_OEM_ASP_SESSION_ROLE_CLIENT) {
res = wfd_session_asp_connect(session, WFD_OEM_ASP_SESSION_ROLE_CLIENT);
} else if (prov_params->network_role == WFD_OEM_ASP_SESSION_ROLE_GO) {
+ res = wfd_session_asp_connect(session, WFD_OEM_ASP_SESSION_ROLE_GO);
WDS_LOGD("don't need to take action.");
} else {
g_variant_get(parameters, "(a{sv})", &iter);
while (g_variant_iter_loop(iter, "{sv}", &key, &var)) {
- if (!g_strcmp0(key, "session_mac")) {
+ if (!g_strcmp0(key, "service_mac")) {
+ g_variant_get(var, "&s", &mac_str);
+ if (mac_str == NULL) {
+ ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
+ g_variant_iter_free(iter);
+ goto failed;
+ }
+ macaddr_atoe(mac_str, prov_params.service_mac);
+ } else if (!g_strcmp0(key, "adv_id")) {
+ g_variant_get(var, "u", &(prov_params.adv_id));
+ } else if (!g_strcmp0(key, "session_mac")) {
g_variant_get(var, "&s", &mac_str);
if (mac_str == NULL) {
ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
macaddr_atoe(mac_str, prov_params.session_mac);
} else if (!g_strcmp0(key, "session_id")) {
g_variant_get(var, "u", &(prov_params.session_id));
- } else if (!g_strcmp0(key, "confirmed")) {
- g_variant_get(var, "y", &(confirmed));
+ } else if (!g_strcmp0(key, "confirm")) {
+ g_variant_get(var, "i", &(confirmed));
} else if (!g_strcmp0(key, "pin")) {
g_variant_get(var, "&s", &(pin));
g_strlcpy(prov_params.wps_pin, pin, PINSTR_LEN);
prov_params->status = 12;
else
prov_params->status = 11;
+ prov_params->deferring = 1;
res = wfd_oem_asp_prov_disc_req(manager->oem_ops, prov_params);
if (res < 0) {
return -1;
}
- if (session->state > SESSION_STATE_GO_NEG) {
- WDS_LOGE("Session already finished GO Negotiation");
+ if (session->state >= SESSION_STATE_GO_NEG) {
+ WDS_LOGE("Session already starting GO Negotiation");
__WDS_LOG_FUNC_EXIT__;
return -1;
}
- session->state = SESSION_STATE_GO_NEG;
+ if (role == WFD_OEM_ASP_SESSION_ROLE_GO) {
+ session->state = SESSION_STATE_WPS;
+ return 0;
+ } else {
+ session->state = SESSION_STATE_GO_NEG;
+ }
+
peer = session->peer;
memset(¶m, 0x00, sizeof(wfd_oem_conn_param_s));
#define TIZEN_P2P_GO_IPADDR "192.168.49.1"
#define MAX_SIZE_ERROR_BUFFER 256
-#if defined TIZEN_PROFILE_MOBILE
-#define DEFAULT_MAC_FILE_PATH tzplatform_mkpath(TZ_SYS_ETC, ".mac.info")
-#endif /* TIZEN_PROFILE_MOBILE */
-
#if defined TIZEN_PROFILE_TV
# if defined TIZEN_WIFI_MODULE_BUNDLE
# define DEFAULT_MAC_FILE_PATH "/sys/class/net/wlan0/address"