Prevent ClientScan to pick the broadcast address as a client

+ Clarified nameList
This commit is contained in:
N0vaPixel
2017-05-14 19:26:52 +02:00
parent acc0cf83c2
commit 98deeb503b
3 changed files with 27 additions and 18 deletions
+8 -9
View File
@@ -99,7 +99,7 @@ void ClientScan::packetSniffer(uint8_t *buf, uint16_t len) {
for (int i = 0; i < apScan.results; i++) {
if (apScan.isSelected(i)) {
if (apScan.aps._get(i).compare(from)) {
if (apScan.aps._get(i).compare(from) && !broadcast.compare(to)) {
int clientNum = add(to);
connectedToAp[clientNum] = i;
packets[clientNum]++;
@@ -115,12 +115,11 @@ void ClientScan::packetSniffer(uint8_t *buf, uint16_t len) {
}
}
}
}
}
String ClientScan::getClientName(int num) {
return nameList.getName(nameList.get(clients._get(num)));
return nameList.getByMac(getClientMac(num));
}
int ClientScan::getClientPackets(int num) {
return packets[clients.getNum(clients._get(num))];
@@ -169,8 +168,8 @@ size_t ClientScan::getSize(){
json += "\"i\":" + (String)i + ",";
json += "\"p\":" + (String)getClientPackets(i) + ",";
json += "\"m\":\"" + getClientMac(i).toString() + "\",";
json += "\"n\":\"" + (String)nameList.getName(nameList.get(getClientMac(i))) + "\",";
json += "\"l\":" + (String)nameList.get(getClientMac(i)) + ",";
json += "\"n\":\"" + (String)nameList.getByMac(getClientMac(i)) + "\",";
json += "\"l\":" + (String)nameList.getNumByMac(getClientMac(i)) + ",";
json += "\"v\":\"" + (String)getClientVendor(i) + "\",";
json += "\"s\":" + (String)getClientSelected(i) + ",";
if(getClientConnectedAp(i)>=0) json += "\"a\":\"" + (String)apScan.getAPName(getClientConnectedAp(i)) + "\"";
@@ -184,7 +183,7 @@ size_t ClientScan::getSize(){
for (int i = 0; i < nameList.len; i++) {
json = "{";
json += "\"n\":\"" + nameList.getName(i) + "\",";
json += "\"n\":\"" + nameList.get(i) + "\",";
json += "\"m\":\"" + nameList.getMac(i).toString() + "\"";
//json += "\"v\":\"" + data_getVendor(nameList.getMac(i)._get(0), nameList.getMac(i)._get(1), nameList.getMac(i)._get(2)) + "\"";
json += "}";
@@ -208,8 +207,8 @@ void ClientScan::send() {
json += "\"i\":" + (String)i + ",";
json += "\"p\":" + (String)getClientPackets(i) + ",";
json += "\"m\":\"" + getClientMac(i).toString() + "\",";
json += "\"n\":\"" + (String)nameList.getName(nameList.get(getClientMac(i))) + "\",";
json += "\"l\":" + (String)nameList.get(getClientMac(i)) + ",";
json += "\"n\":\"" + (String)nameList.getByMac(getClientMac(i)) + "\",";
json += "\"l\":" + (String)nameList.getNumByMac(getClientMac(i)) + ",";
json += "\"v\":\"" + (String)getClientVendor(i) + "\",";
json += "\"s\":" + (String)getClientSelected(i) + ",";
if(getClientConnectedAp(i)>=0) json += "\"a\":\"" + (String)apScan.getAPName(getClientConnectedAp(i)) + "\"";
@@ -222,7 +221,7 @@ void ClientScan::send() {
for (int i = 0; i < nameList.len; i++) {
json = "{";
json += "\"n\":\"" + nameList.getName(i) + "\",";
json += "\"n\":\"" + nameList.get(i) + "\",";
json += "\"m\":\"" + nameList.getMac(i).toString() + "\"";
//json += "\"v\":\"" + data_getVendor(nameList.getMac(i)._get(0), nameList.getMac(i)._get(1), nameList.getMac(i)._get(2)) + "\"";
json += "}";
+16 -7
View File
@@ -50,13 +50,7 @@ void NameList::add(Mac client, String name) {
NameList::save();
}
int NameList::get(Mac client) {
String returnStr;
int clientNum = clients.getNum(client);
return clientNum;
}
String NameList::getName(int num) {
String NameList::get(int num) {
String returnStr;
if (num >= 0) {
for (int h = 0; h < nameLength; h++) {
@@ -71,6 +65,21 @@ Mac NameList::getMac(int num) {
return clients._get(num);
}
String NameList::getByMac(Mac client) {
String returnStr;
int clientNum = clients.getNum(client);
if (clientNum > -1) {
for (int h = 0; h < nameLength; h++) {
if (names[clientNum][h] != 0x00) returnStr += (char)names[clientNum][h];
}
}
return returnStr;
}
int NameList::getNumByMac(Mac client) {
return clients.getNum(client);
}
void NameList::remove(int num) {
for (int i = num; i < len - 1; i++) {
clients.set(num, clients._get(num + 1));
+3 -2
View File
@@ -25,8 +25,9 @@ class NameList
void clear();
void add(Mac client, String name);
void edit(int num, String name);
int get(Mac client);
String getName(int num);
String get(int num);
String getByMac(Mac client);
int getNumByMac(Mac client);
Mac getMac(int num);
void remove(int num);
int len = 0;