Compare commits

..

28 Commits

Author SHA1 Message Date
Linux Build Service Account
00e8d69b78 Merge "wlan: Read ieee80211d param from hostapd.conf file" 2014-10-01 02:11:32 -07:00
Vinay Krishna Eranna
c4bcc0d420 wlan: Read ieee80211d param from hostapd.conf file
Read ieee80211d param from hostapd.conf file instead of reading it
from ini file.

Change-Id: I3773652bc91e2f166111704e70231af6845c5ffc
CRs-Fixed: 727043
2014-09-30 01:14:04 -07:00
Linux Build Service Account
005a67d5ca Merge "wlan:ndc command support." 2014-08-02 01:31:51 -07:00
Subhani Shaik
62ada8bd10 wlan:ndc command support.
Copying the softap sdk include files to TARGET obj
so its easy for other modules to include them.
This is required for system/netd/server/Android.mk
file

Change-Id: Ia581cf93b1849866e22ea3f93350906bc4fb8c71
2014-08-01 10:40:56 -07:00
Subhani Shaik
e42000db1a framework: softap enablement through ndc commands.
The softap libraries were missing for the 64bit enablement
through ndc commands. Makefile change required to point to
right kernel include files.

Change-Id: I03cdd609c2fa18f9926de7d67a2c7d5957a81317
2014-07-24 18:01:09 -07:00
Linux Build Service Account
bcc62d3cca Merge "wlan: Add support for configuration of AKM suite" 2014-04-18 01:20:41 -07:00
Linux Build Service Account
45c32d6e64 Merge "framework: Fix for 64-bit unsafe QCSAP_IOCTL_ASSOC_STA_MACADDR handling" 2014-04-08 12:16:34 -07:00
Ravi Joshi
124fb55d96 framework: Fix for 64-bit unsafe QCSAP_IOCTL_ASSOC_STA_MACADDR handling
Fixes for making SAP SDK 64 bit compliant for QCSAP_IOCTL_ASSOC_STA_MACADDR
ioctl

Change-Id: I161ac3113c01752f627bd876f85342d5a9b20ede
CRs-Fixed: 639046
2014-04-02 16:18:12 -07:00
Linux Build Service Account
1e7bd66054 Merge "softap: Fix for hostapd.conf corruption" 2014-03-08 23:37:26 -08:00
Ravi Joshi
8b0be84bab softap: Fix for hostapd.conf corruption
SoftAP fails to load the default hostapd.conf file
which was left behind as part of failed attempt to
start the softAP. The default hostapd.conf is required
to be copied in case of accidental corruption of
hostapd.conf

Change-Id: I4e6ab7a6bc67fcdcfe225e7e1a811fafe402ebc7
CRs-Fixed: 626022
2014-03-07 15:58:23 -08:00
Linux Build Service Account
083d51563a Merge "Updated string banned functions strncpy and memcpy" 2014-01-25 04:21:15 -08:00
Hanumantha Reddy Pothula
87d01a1158 Updated string banned functions strncpy and memcpy
Banned call strncpy has been updated
with strlcpy

Change-Id: I992c2d3580dce24981a4ec9fd9d50ecca109c044
CRs-Fixed: 554334
2014-01-17 11:56:22 +05:30
Linux Build Service Account
e976b492fe Merge "Revert "wlan: Don't overwrite the channel configured in hostapd.conf"" 2014-01-09 15:54:41 -08:00
Linux Build Service Account
0ecf7a3d93 Merge "Revert "wlan: Don't overwrite the channel configured in hostapd.conf"" 2014-01-07 12:04:43 -08:00
Linux Build Service Account
549156b81d Merge "SAP: Make QSAP SDK compatible w.r.t Android framework." 2013-12-18 09:22:59 -08:00
Mahesh A Saptasagar
4a7a459864 Revert "wlan: Don't overwrite the channel configured in hostapd.conf"
This reverts commit 2addd175cc.

Change-Id: I1b4a145bc1b491d65f49dfc0f5990e52de8a4f37
CRs-Fixed: 589261
2013-12-16 13:48:46 +05:30
Mahesh A Saptasagar
d289ef3449 SAP: Make QSAP SDK compatible w.r.t Android framework.
SAP parameter ignore_broadcast_ssid always set to
"broadcast" due to improper handling of SAP parameters
at SAP SDK.

To mitigate this issue update the ignore_broadcast_ssid
parameter based on the value configured in the framework.

Change-Id: Ia1a35a38464710088921b94269b624d8b1910abc
CRs-Fixed: 588560
2013-12-16 11:50:56 +05:30
Linux Build Service Account
396a3fe49d Merge "wlan: Don't overwrite the channel configured in hostapd.conf" 2013-12-05 09:42:26 -08:00
Mahesh A Saptasagar
2addd175cc wlan: Don't overwrite the channel configured in hostapd.conf
When SAP is turned on through GUI, hostapd.conf file
will be overwritten by the framework parameters.Since
in Kit-Kat framework,channel value is hard coded to 6,
same is getting over written whenever we turn on SAP
through GUI, this will cause SAP to come up always on
channel 6.
To mitigate this issue, avoid overwriting the channel
parameter in hostap.conf file by ignoring the channel
parameter from the framework.

Change-Id: I4d87cf70868ad705f63211b2bd10ac2a67646d09
CRs-Fixed: 584112
2013-12-03 13:32:30 -08:00
Linux Build Service Account
fc7138812d Merge "qcom: softap: Fix potential string null termination and buffer overflow" 2013-11-29 13:30:37 -08:00
Linux Build Service Account
4533339d61 Merge "softap: sscanf sanity check for SoftAP service" 2013-11-26 13:29:20 -08:00
Mingcheng Zhu
69b91cc907 qcom: softap: Fix potential string null termination and buffer overflow
Fix potential string null termination and buffer overflow

Change-Id: I05e28b30a4e3134625d20fb5591b239ea4b9f3a4
CRs-fixed: 554078
2013-11-26 12:23:43 -08:00
Shake M Subhani
ff6440b26f softap: sscanf sanity check for SoftAP service
The sscanf return value is verified whether the three channel
variables, i.e. start channel, end channel and channel band,
are properly updated. If malformed input is given to sscanf, then
these variables may not properly updated. To provide validation
of input,  verifying that sscanf returned a correct value of 3.

Change-Id: Ibd185e7a0ffcf5803927990531fc33f0e8977cc9
CRs-fixed: 554349
2013-11-26 12:06:14 +05:30
Linux Build Service Account
31088846f0 Merge "wlan: make qsap compatible w.r.t ndc implementation." 2013-11-21 23:15:12 -08:00
Mahesh A Saptasagar
41f17f12e4 wlan: make qsap compatible w.r.t ndc implementation.
changes to make qsap compatible w.r.t ndc implementation by
correcting argument mismatch.

Change-Id: I6722ce3fdcf2b4bc45c44d82d56f2c5a14435d7c
CRs-Fixed: 436332
2013-11-21 11:27:03 -08:00
Linux Build Service Account
bd4051d8ff Merge "Fix: SIGPIPE issue while querying softap enabled status" 2013-10-18 00:48:18 -07:00
Vinay Krishna Eranna
1c4304379e Fix: SIGPIPE issue while querying softap enabled status
Before downloading commands to driver through softap SDK we are
checking if SoftAP is enabled are not by running ps in popen.
This sometime throws SIGPIPE error (signal) which is not handled,
due to this we were facing application crash. To fix this we modify
to check the operation mode of the driver through ioctl.

Change-Id: Ia0703ff343d401801655d3b666ade66107a4789e
CRs-Fixed: 535340
2013-10-01 20:14:57 +05:30
Chet Lanctot
7a2827f169 wlan: Add support for configuration of AKM suite
Changes to allow setting the configuration item for
AKM suite (wpa_key_mgmt) in hostapd
configuration file.  This is needed for PMF
(802.11w) to add SHA256 to the list when
necessary.

Change-Id: Ia6fd4976241fb11525f4be6c11801b9c471d4427
CRs-Fixed: 523705
2013-09-09 17:48:58 -07:00
5 changed files with 76 additions and 42 deletions

View File

@@ -11,10 +11,10 @@ LOCAL_MODULE := libQWiFiSoftApCfg
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := $(KERNEL_HEADERS) \
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include \
$(JNI_H_INCLUDE)
LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
LOCAL_SHARED_LIBRARIES := libsysutils libcutils libnetutils libcrypto
include $(BUILD_SHARED_LIBRARY)

View File

@@ -12,6 +12,10 @@ LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -DSDK_VERSION=\"0.0.1.0\"
LOCAL_COPY_HEADERS_TO := sdk/softap/include
LOCAL_COPY_HEADERS := qsap_api.h
LOCAL_COPY_HEADERS += qsap.h
ifdef WIFI_DRIVER_MODULE_PATH
LOCAL_CFLAGS += -DWIFI_DRIVER_MODULE_PATH=\"$(WIFI_DRIVER_MODULE_PATH)\"
endif

0
softap/sdk/qsap.c Executable file → Normal file
View File

View File

@@ -152,6 +152,7 @@ static struct Command cmd_list[eCMD_LAST] = {
{ "setchannelrange", NULL },
{ "autochannel", NULL },
{ "ieee80211w", NULL },
{ "wpa_key_mgmt", NULL },
};
struct Command qsap_str[eSTR_LAST] = {
@@ -304,7 +305,7 @@ static s32 qsap_write_cfg(s8 *pfile, struct Command * pcmd, s8 *pVal, s8 *presp,
s8 buf[MAX_CONF_LINE_LEN+1];
s16 len, result = FALSE;
ALOGV("cmd=%s, Val:%s, INI:%ld \n", pcmd->name, pVal, inifile);
ALOGD("cmd=%s, Val:%s, INI:%ld \n", pcmd->name, pVal, inifile);
/** Open the configuration file */
fcfg = fopen(pfile, "r");
@@ -339,7 +340,7 @@ static s32 qsap_write_cfg(s8 *pfile, struct Command * pcmd, s8 *pVal, s8 *presp,
if(pline[len] == '=') {
qsap_scnprintf(buf, sizeof(buf), "%s=%s\n", pcmd->name, pVal);
result = TRUE;
ALOGV("Updated:%s\n", buf);
ALOGD("Updated:%s\n", buf);
}
}
@@ -354,7 +355,7 @@ static s32 qsap_write_cfg(s8 *pfile, struct Command * pcmd, s8 *pVal, s8 *presp,
/* Add the new line at the end of file */
qsap_scnprintf(buf, sizeof(buf), "%s=%s\n", pcmd->name, pVal);
fprintf(ftmp, "%s", buf);
ALOGV("Adding a new line in %s file: [%s] \n", inifile ? "inifile" : "hostapd.conf", buf);
ALOGD("Adding a new line in %s file: [%s] \n", inifile ? "inifile" : "hostapd.conf", buf);
}
if(inifile) {
@@ -932,7 +933,7 @@ static void qsap_remove_from_file(s8 *pfile, s8 *pVal, s8 *presp, u32 *plen)
*/
static void qsap_update_mac_list(s8 *pfile, esap_cmd_t cNum, s8 *pVal, s8 *presp, u32 *plen)
{
ALOGV("%s : Updating file %s \n", __func__, pfile);
ALOGD("%s : Updating file %s \n", __func__, pfile);
switch(cNum) {
case eCMD_ADD_TO_ALLOW:
@@ -1087,7 +1088,7 @@ static int qsap_read_mac_address(s8 *presp, u32 *plen)
ptr++;
ALOGV("MAC :%s \n", ptr);
ALOGD("MAC :%s \n", ptr);
if(TRUE == isValid_MAC_address(ptr)) {
nRet = eSUCCESS;
}
@@ -1123,7 +1124,7 @@ static void qsap_read_wps_state(s8 *presp, u32 *plen)
if(NULL == (pstate = qsap_get_config_value(pconffile, &cmd_list[eCMD_WPS_STATE], presp, &tlen))) {
/** unable to read the wps configuration, WPS is disabled !*/
ALOGV("%s :wps_state not in cfg file \n", __func__);
ALOGD("%s :wps_state not in cfg file \n", __func__);
status = DISABLE;
}
else {
@@ -1178,9 +1179,9 @@ int qsap_get_operating_channel(s32 *pchan)
goto error;
}
ALOGV("Recv len :%d \n", wrq.u.data.length);
ALOGE("Recv len :%d \n", wrq.u.data.length);
*pchan = *(int *)(&wrq.u.name[0]);
ALOGV("Operating channel :%ld \n", *pchan);
ALOGE("Operating channel :%ld \n", *pchan);
close(sock);
return eSUCCESS;
@@ -1211,7 +1212,7 @@ int qsap_get_sap_auto_channel_selection(s32 *pautochan)
if(NULL == (pif = qsap_get_config_value(pconffile,
&qsap_str[STR_INTERFACE], interface, &len))) {
ALOGV("%s :interface error \n", __func__);
ALOGD("%s :interface error \n", __func__);
goto error;
}
@@ -1219,7 +1220,7 @@ int qsap_get_sap_auto_channel_selection(s32 *pautochan)
sock = socket(AF_INET, SOCK_DGRAM, 0);
if(sock < 0) {
ALOGV("%s :socket error \n", __func__);
ALOGD("%s :socket error \n", __func__);
goto error;
}
@@ -1242,9 +1243,9 @@ int qsap_get_sap_auto_channel_selection(s32 *pautochan)
goto error;
}
ALOGV("Recv len :%d \n", wrq.u.data.length);
ALOGD("Recv len :%d \n", wrq.u.data.length);
*pautochan = *(int *)(&wrq.u.name[0]);
ALOGV("Sap auto channel selection pautochan=%ld \n", *pautochan);
ALOGD("Sap auto channel selection pautochan=%ld \n", *pautochan);
close(sock);
return eSUCCESS;
@@ -1272,7 +1273,7 @@ int qsap_get_mode(s32 *pmode)
*pmode = -1;
if(NULL == (pif = qsap_get_config_value(pconffile,
&qsap_str[STR_INTERFACE], interface, &len))) {
ALOGV("%s :interface error \n", __func__);
ALOGD("%s :interface error \n", __func__);
goto error;
}
@@ -1280,7 +1281,7 @@ int qsap_get_mode(s32 *pmode)
sock = socket(AF_INET, SOCK_DGRAM, 0);
if(sock < 0) {
ALOGV("%s :socket error \n", __func__);
ALOGD("%s :socket error \n", __func__);
goto error;
}
@@ -1384,7 +1385,7 @@ int qsap_set_channel_range(s8 *buf)
goto error;
}
ALOGV("Recv len :%d\n", wrq.u.data.length);
ALOGE("Recv len :%d\n", wrq.u.data.length);
close(sock);
return eSUCCESS;
@@ -1402,7 +1403,7 @@ int qsap_read_channel(s8 *pfile, struct Command *pcmd, s8 *presp, u32 *plen, s8
if(eSUCCESS == qsap_get_operating_channel(&chan)) {
*plen = qsap_scnprintf(presp, len, "%s %s=%lu", SUCCESS, pcmd->name, chan);
ALOGV("presp :%s\n", presp);
ALOGD("presp :%s\n", presp);
} else {
*plen = qsap_scnprintf(presp, len, "%s", ERR_UNKNOWN);
}
@@ -1463,6 +1464,7 @@ void qsap_get_associated_sta_mac(s8 *presp, u32 *plen)
u32 len = MAX_CONF_LINE_LEN;
s8 *pif;
s8 *pbuf, *pout;
u32 buflen;
u32 recvLen;
u32 tlen;
@@ -1482,7 +1484,9 @@ void qsap_get_associated_sta_mac(s8 *presp, u32 *plen)
goto error;
}
pbuf = (s8 *)malloc((MAX_STA_ALLOWED * 6) + 8);
/* response has length field + 6 bytes per STA */
buflen = sizeof(u32) + (MAX_STA_ALLOWED * 6);
pbuf = (s8 *)malloc(buflen);
if(NULL == pbuf) {
ALOGE("%s :No memory \n", __func__);
close(sock);
@@ -1492,7 +1496,7 @@ void qsap_get_associated_sta_mac(s8 *presp, u32 *plen)
#define SIZE_OF_MAC_INT (6)
strlcpy(wrq.ifr_name, pif, sizeof(wrq.ifr_name));
wrq.u.data.length = SIZE_OF_MAC_INT * 8 + 8; /** 8 supported MAC and 7 SPACE separators and a '\0' */
wrq.u.data.length = buflen;
wrq.u.data.pointer = (void *)pbuf;
wrq.u.data.flags = 0;
@@ -1504,13 +1508,14 @@ void qsap_get_associated_sta_mac(s8 *presp, u32 *plen)
goto error;
}
recvLen = *(unsigned long int *)(wrq.u.data.pointer);
recvLen = *(u32 *)(wrq.u.data.pointer);
recvLen -= sizeof(u32);
len = qsap_scnprintf(presp, *plen, "%s %s=", SUCCESS, cmd_list[eCMD_ASSOC_STA_MACS].name);
pout = presp + len;
tlen = *plen - len;
qsap_mac_to_macstr(pbuf+sizeof(unsigned long int), recvLen, pout, &tlen);
qsap_mac_to_macstr(pbuf+sizeof(u32), recvLen, pout, &tlen);
*plen = len + tlen;
@@ -1712,7 +1717,7 @@ static void qsap_get_from_config(esap_cmd_t cNum, s8 *presp, u32 *plen)
break;
case eCMD_REGULATORY_DOMAIN:
qsap_read_cfg(fIni, &qsap_str[STR_802DOT11D_IN_INI], presp, plen, cmd_list[eCMD_REGULATORY_DOMAIN].name, GET_ENABLED_ONLY);
qsap_read_cfg(pconffile, &cmd_list[cNum], presp, plen, NULL, GET_ENABLED_ONLY);
break;
case eCMD_RTS_THRESHOLD:
@@ -1884,7 +1889,7 @@ static s16 is_valid_wep_key(s8 *pwep, s8 *pkey, s16 len)
weplen--;
while(weplen--) {
if(0 == isascii(pwep[weplen])) {
ALOGV("%c not ascii \n", pwep[weplen]);
ALOGD("%c not ascii \n", pwep[weplen]);
return FALSE;
}
}
@@ -1943,11 +1948,6 @@ s16 wifi_qsap_reset_to_default(s8 *pcfgfile, s8 *pdefault)
if(eERR_UNKNOWN == rename(buf, pcfgfile))
status = eERR_CONF_FILE;
if (chown(pcfgfile, AID_WIFI, AID_WIFI) < 0) {
ALOGE("Error changing group ownership of %s to %d: %s",
pcfgfile, AID_WIFI, strerror(errno));
}
/** Remove the temporary file. Dont care the return value */
unlink(buf);
@@ -2030,7 +2030,7 @@ static int qsap_send_cmd_to_hostapd(s8 *pcmd)
goto error;
}
ALOGV("Connect to :%s\n", ptr);
ALOGD("Connect to :%s\n", ptr);
sock = socket(PF_UNIX, SOCK_DGRAM, 0);
if(sock < 0) {
@@ -2050,7 +2050,7 @@ static int qsap_send_cmd_to_hostapd(s8 *pcmd)
ser.sun_family = AF_UNIX;
qsap_scnprintf(ser.sun_path, sizeof(ser.sun_path), "%s", ptr);
ALOGV("Connect to: %s,(%d)\n", ser.sun_path, sock);
ALOGD("Connect to: %s,(%d)\n", ser.sun_path, sock);
ret = connect(sock, (struct sockaddr *)&ser, sizeof(ser));
if(ret < 0) {
@@ -2205,7 +2205,7 @@ static void qsap_config_wps_method(s8 *pVal, s8 *presp, u32 *plen)
qsap_scnprintf(buf, sizeof(buf), "WPS_PBC");
else {
if(strlen(ptr) < WPS_KEY_LEN) {
ALOGV("%s :Invalid WPS key length\n", __func__);
ALOGD("%s :Invalid WPS key length\n", __func__);
*plen = qsap_scnprintf(presp, *plen, "%s", ERR_INVALID_PARAM);
return;
}
@@ -2301,7 +2301,7 @@ void qsap_disassociate_sta(s8 *pVal, s8 *presp, u32 *plen)
goto end;
}
strncpy(wrq.ifr_name, pif, sizeof(wrq.ifr_name));
strlcpy(wrq.ifr_name, pif, sizeof(wrq.ifr_name));
if (TRUE != qsap_get_mac_in_bytes(pVal, (char *) &wrq.u)) {
ALOGE("%s: Invalid input \n", __func__);
@@ -2994,7 +2994,7 @@ static void qsap_handle_set_request(s8 *pcmd, s8 *presp, u32 *plen)
}
if(ini == INI_CONF_FILE) {
ALOGV("WRITE TO INI FILE :%s\n", qsap_str[cNum].name);
ALOGD("WRITE TO INI FILE :%s\n", qsap_str[cNum].name);
qsap_write_cfg(fIni, &qsap_str[cNum], pVal, presp, plen, ini);
}
else {
@@ -3023,7 +3023,7 @@ error:
*/
void qsap_hostd_exec_cmd(s8 *pcmd, s8 *presp, u32 *plen)
{
ALOGV("CMD INPUT [%s][%lu]\n", pcmd, *plen);
ALOGD("CMD INPUT [%s][%lu]\n", pcmd, *plen);
/* Skip any blank spaces */
SKIP_BLANK_SPACE(pcmd);
@@ -3041,7 +3041,7 @@ void qsap_hostd_exec_cmd(s8 *pcmd, s8 *presp, u32 *plen)
*plen = qsap_scnprintf(presp, *plen, "%s", ERR_INVALIDREQ);
}
ALOGV("CMD OUTPUT [%s]\nlen :%lu\n\n", presp, *plen);
ALOGD("CMD OUTPUT [%s]\nlen :%lu\n\n", presp, *plen);
return;
}
@@ -3065,15 +3065,15 @@ int qsapsetSoftap(int argc, char *argv[])
{
char cmdbuf[CMD_BUF_LEN];
char respbuf[RECV_BUF_LEN];
unsigned long int rlen = RECV_BUF_LEN;
u32 rlen = RECV_BUF_LEN;
int i;
int hidden = 0;
int sec = SEC_MODE_NONE;
ALOGV("%s, %s, %s, %d\n", __FUNCTION__, argv[0], argv[1], argc);
ALOGD("%s, %s, %s, %d\n", __FUNCTION__, argv[0], argv[1], argc);
for ( i=0; i<argc;i++) {
ALOGV("ARG: %d - %s\n", i+1, argv[i]);
ALOGD("ARG: %d - %s\n", i+1, argv[i]);
}
/** set SSID */
@@ -3177,6 +3177,20 @@ int qsapsetSoftap(int argc, char *argv[])
return 0;
}
static int check_for_config_file_size(FILE *fp)
{
int length = 0;
if( NULL != fp )
{
fseek(fp, 0L, SEEK_END);
length = ftell(fp);
}
return length;
}
void check_for_configuration_files(void)
{
FILE * fp;
@@ -3189,6 +3203,11 @@ void check_for_configuration_files(void)
wifi_qsap_reset_to_default(CONFIG_FILE, DEFAULT_CONFIG_FILE_PATH);
}
else {
/* The configuration file could be of 0 byte size, replace with default */
if (check_for_config_file_size(fp) <= 0)
wifi_qsap_reset_to_default(CONFIG_FILE, DEFAULT_CONFIG_FILE_PATH);
fclose(fp);
}
@@ -3197,6 +3216,11 @@ void check_for_configuration_files(void)
wifi_qsap_reset_to_default(ACCEPT_LIST_FILE, DEFAULT_ACCEPT_LIST_FILE_PATH);
}
else {
/* The configuration file could be of 0 byte size, replace with default */
if (check_for_config_file_size(fp) <= 0)
wifi_qsap_reset_to_default(ACCEPT_LIST_FILE, DEFAULT_ACCEPT_LIST_FILE_PATH);
fclose(fp);
}
@@ -3205,6 +3229,11 @@ void check_for_configuration_files(void)
wifi_qsap_reset_to_default(DENY_LIST_FILE, DEFAULT_DENY_LIST_FILE_PATH);
}
else {
/* The configuration file could be of 0 byte size, replace with default */
if (check_for_config_file_size(fp) <= 0)
wifi_qsap_reset_to_default(DENY_LIST_FILE, DEFAULT_DENY_LIST_FILE_PATH);
fclose(fp);
}

View File

@@ -98,19 +98,19 @@ enum error_val {
#define DEFAULT_ACCEPT_LIST_FILE_PATH "/system/etc/hostapd/hostapd.accept"
/** Accept list file name */
#define ACCEPT_LIST_FILE "/data/misc/wifi/hostapd.accept"
#define ACCEPT_LIST_FILE "/data/hostapd/hostapd.accept"
/** Default Deny list file name */
#define DEFAULT_DENY_LIST_FILE_PATH "/system/etc/hostapd/hostapd.deny"
/** Deny list file name */
#define DENY_LIST_FILE "/data/misc/wifi/hostapd.deny"
#define DENY_LIST_FILE "/data/hostapd/hostapd.deny"
/** Default Ini file */
#define DEFAULT_INI_FILE "/persist/qcom/softap/qcom_cfg_default.ini"
/** SDK control interface path */
#define SDK_CTRL_IF "/data/misc/wifi/softap_sdk_ctrl"
#define SDK_CTRL_IF "/data/hostapd/softap_sdk_ctrl"
/** Maximum length of the line in the configuration file */
#define MAX_CONF_LINE_LEN (156)
@@ -323,6 +323,7 @@ typedef enum esap_cmd {
eCMD_SET_CHANNEL_RANGE = 62,
eCMD_GET_AUTO_CHANNEL = 63,
eCMD_IEEE80211W = 64,
eCMD_WPA_KEY_MGMT = 65,
eCMD_LAST /** New command numbers should be added above this */
} esap_cmd_t;