gboolean rsn_selected;
gboolean privacy;
gboolean wps;
+ int ssid_len;
} bss_info_t;
static gboolean g_ssid_scan_state = FALSE;
char *bssid_str = bssid_buf;
const char *prop_security = "security";
const char *prop_wps = "wps";
+ GVariantBuilder *rawssid_builder = NULL;
+ const char *prop_raw_ssid = "raw_ssid";
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
for (list = bss_info_list; list != NULL; list = list->next) {
bss_info_t *bss_info = (bss_info_t *)list->data;
if (bss_info && g_strcmp0((char *)bss_info->ssid, g_ssid) == 0) {
const gchar *ssid = (char *)bss_info->ssid;
+ int ssid_len = bss_info->ssid_len;
const gchar *bssid = (gchar *)&bss_info->bssid[0];
+ int i = 0;
+
wifi_security_e security = __check_security(bss_info);
gboolean wps = bss_info->wps;
DBG("BSS found; SSID:%s security:%d WPS:%d", ssid, security, wps);
snprintf(bssid_str, sizeof(bssid_buf), MACSTR, MAC2STR(bssid));
DBG("BSSID: %s", bssid_str);
}
+
g_variant_builder_add(builder, "{sv}", prop_ssid, g_variant_new_string(ssid));
+
+ /* append raw SSID in bytes to the specific
+ scan completed signal here */
+ rawssid_builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
+ for (i = 0; i < ssid_len; i++)
+ g_variant_builder_add(rawssid_builder, "y", ssid[i]);
+ g_variant_builder_add(builder, "{sv}", prop_raw_ssid, g_variant_new("ay", rawssid_builder));
+ g_variant_builder_unref(rawssid_builder);
+
g_variant_builder_add(builder, "{sv}", prop_bssid,
g_variant_new_string(bssid));
g_variant_builder_add(builder, "{sv}", prop_security, g_variant_new_int32(security));
const guchar *ssid;
gsize ssid_len;
ssid = g_variant_get_fixed_array(value, &ssid_len, sizeof(guchar));
- if (ssid != NULL && ssid_len > 0 && ssid_len < 33)
+ if (ssid != NULL && ssid_len > 0 && ssid_len < 33) {
memcpy(bss_info->ssid, ssid, ssid_len);
- else
+ bss_info->ssid_len = ssid_len;
+ } else {
memset(bss_info->ssid, 0, sizeof(bss_info->ssid));
+ bss_info->ssid_len = 0;
+ }
} else if (g_strcmp0(key, "Privacy") == 0) {
gboolean privacy = FALSE;
privacy = g_variant_get_boolean(value);