From: javiplx Date: Sat, 16 Oct 2010 10:39:10 +0000 (+0000) Subject: Perform early check of interface scanning capabilities X-Git-Tag: cleaned~22 X-Git-Url: http://vcs.maemo.org/git/?p=wifihood;a=commitdiff_plain;h=31e9f85161f8847fa0a49b4b9267f9b99d6799e6 Perform early check of interface scanning capabilities git-svn-id: file:///svnroot/wifihood/trunk@62 c51dfc6a-5949-4919-9c8e-f207a149c383 --- diff --git a/wifiscand/wifiscand.c b/wifiscand/wifiscand.c index 5f94f2f..8aa1d81 100644 --- a/wifiscand/wifiscand.c +++ b/wifiscand/wifiscand.c @@ -188,6 +188,17 @@ gint dbus_req_handler(const gchar * interface, const gchar * method, return OSSO_ERROR; } + /* Get range stuff */ + iwrange range; + int has_range = (iw_get_range_info(appdata->iface.sock, appdata->iface.ifname, &range) >= 0); + + /* Check if the interface could support scanning. */ + if((!has_range) || (range.we_version_compiled < 14)) { + retval->value.s = (gchar *) realloc(retval->value.s,35*sizeof(gchar *)); + snprintf(retval->value.s,35,"Interface doesn't support scanning"); + return OSSO_ERROR; + } + struct ifreq frq; strncpy(frq.ifr_name, appdata->iface.ifname, IFNAMSIZ); if(ioctl(appdata->iface.sock, SIOCGIFFLAGS, &frq)) {