mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-22 15:16:43 -08:00
Add memory usage limit
This commit is contained in:
@@ -3135,7 +3135,12 @@ void WiFiScan::apSnifferCallbackFull(void* buf, wifi_promiscuous_pkt_type_t type
|
|||||||
//if (display_obj.display_buffer->size() == 0)
|
//if (display_obj.display_buffer->size() == 0)
|
||||||
//{
|
//{
|
||||||
//display_obj.loading = true;
|
//display_obj.loading = true;
|
||||||
display_obj.display_buffer->add(display_string);
|
if (wifi_scan_obj.checkMem())
|
||||||
|
display_obj.display_buffer->add(display_string);
|
||||||
|
else {
|
||||||
|
String warning_str = "Mem limit reached " + display_string;
|
||||||
|
display_obj.display_buffer->add(warning_str);
|
||||||
|
}
|
||||||
//display_obj.loading = false;
|
//display_obj.loading = false;
|
||||||
//}
|
//}
|
||||||
#endif
|
#endif
|
||||||
@@ -3158,48 +3163,51 @@ void WiFiScan::apSnifferCallbackFull(void* buf, wifi_promiscuous_pkt_type_t type
|
|||||||
false,
|
false,
|
||||||
NULL};*/
|
NULL};*/
|
||||||
|
|
||||||
AccessPoint ap;
|
if (wifi_scan_obj.checkMem()) {
|
||||||
ap.essid = essid;
|
|
||||||
ap.channel = snifferPacket->rx_ctrl.channel;
|
|
||||||
ap.bssid[0] = snifferPacket->payload[10];
|
|
||||||
ap.bssid[1] = snifferPacket->payload[11];
|
|
||||||
ap.bssid[2] = snifferPacket->payload[12];
|
|
||||||
ap.bssid[3] = snifferPacket->payload[13];
|
|
||||||
ap.bssid[4] = snifferPacket->payload[14];
|
|
||||||
ap.bssid[5] = snifferPacket->payload[15];
|
|
||||||
ap.selected = false;
|
|
||||||
ap.stations = new LinkedList<uint8_t>();
|
|
||||||
|
|
||||||
ap.beacon = new LinkedList<char>();
|
AccessPoint ap;
|
||||||
|
ap.essid = essid;
|
||||||
|
ap.channel = snifferPacket->rx_ctrl.channel;
|
||||||
|
ap.bssid[0] = snifferPacket->payload[10];
|
||||||
|
ap.bssid[1] = snifferPacket->payload[11];
|
||||||
|
ap.bssid[2] = snifferPacket->payload[12];
|
||||||
|
ap.bssid[3] = snifferPacket->payload[13];
|
||||||
|
ap.bssid[4] = snifferPacket->payload[14];
|
||||||
|
ap.bssid[5] = snifferPacket->payload[15];
|
||||||
|
ap.selected = false;
|
||||||
|
ap.stations = new LinkedList<uint8_t>();
|
||||||
|
|
||||||
//for (int i = 0; i < len; i++) {
|
ap.beacon = new LinkedList<char>();
|
||||||
// ap.beacon->add(snifferPacket->payload[i]);
|
|
||||||
//}
|
|
||||||
ap.beacon->add(snifferPacket->payload[34]);
|
|
||||||
ap.beacon->add(snifferPacket->payload[35]);
|
|
||||||
|
|
||||||
Serial.print("\nBeacon: ");
|
//for (int i = 0; i < len; i++) {
|
||||||
|
// ap.beacon->add(snifferPacket->payload[i]);
|
||||||
|
//}
|
||||||
|
ap.beacon->add(snifferPacket->payload[34]);
|
||||||
|
ap.beacon->add(snifferPacket->payload[35]);
|
||||||
|
|
||||||
for (int i = 0; i < ap.beacon->size(); i++) {
|
Serial.print("\nBeacon: ");
|
||||||
char hexCar[4];
|
|
||||||
sprintf(hexCar, "%02X", ap.beacon->get(i));
|
for (int i = 0; i < ap.beacon->size(); i++) {
|
||||||
Serial.print(hexCar);
|
char hexCar[4];
|
||||||
if ((i + 1) % 16 == 0)
|
sprintf(hexCar, "%02X", ap.beacon->get(i));
|
||||||
Serial.print("\n");
|
Serial.print(hexCar);
|
||||||
else
|
if ((i + 1) % 16 == 0)
|
||||||
Serial.print(" ");
|
Serial.print("\n");
|
||||||
|
else
|
||||||
|
Serial.print(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
ap.rssi = snifferPacket->rx_ctrl.rssi;
|
||||||
|
|
||||||
|
access_points->add(ap);
|
||||||
|
|
||||||
|
Serial.print(access_points->size());
|
||||||
|
Serial.print(" ");
|
||||||
|
Serial.print(esp_get_free_heap_size());
|
||||||
|
|
||||||
|
Serial.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
ap.rssi = snifferPacket->rx_ctrl.rssi;
|
|
||||||
|
|
||||||
access_points->add(ap);
|
|
||||||
|
|
||||||
Serial.print(access_points->size());
|
|
||||||
Serial.print(" ");
|
|
||||||
Serial.print(esp_get_free_heap_size());
|
|
||||||
|
|
||||||
Serial.println();
|
|
||||||
|
|
||||||
buffer_obj.append(snifferPacket, len);
|
buffer_obj.append(snifferPacket, len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3635,11 +3643,14 @@ void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WiFiScan::stationSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) {
|
void WiFiScan::stationSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) {
|
||||||
|
extern WiFiScan wifi_scan_obj;
|
||||||
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
|
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
|
||||||
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
|
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
|
||||||
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
|
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
|
||||||
int len = snifferPacket->rx_ctrl.sig_len;
|
int len = snifferPacket->rx_ctrl.sig_len;
|
||||||
|
|
||||||
|
bool mem_check = wifi_scan_obj.checkMem();
|
||||||
|
|
||||||
String display_string = "";
|
String display_string = "";
|
||||||
String mac = "";
|
String mac = "";
|
||||||
|
|
||||||
@@ -3729,16 +3740,18 @@ void WiFiScan::stationSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t typ
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// Add to list of stations
|
// Add to list of stations
|
||||||
Station sta = {
|
if (mem_check) {
|
||||||
{snifferPacket->payload[frame_offset],
|
Station sta = {
|
||||||
snifferPacket->payload[frame_offset + 1],
|
{snifferPacket->payload[frame_offset],
|
||||||
snifferPacket->payload[frame_offset + 2],
|
snifferPacket->payload[frame_offset + 1],
|
||||||
snifferPacket->payload[frame_offset + 3],
|
snifferPacket->payload[frame_offset + 2],
|
||||||
snifferPacket->payload[frame_offset + 4],
|
snifferPacket->payload[frame_offset + 3],
|
||||||
snifferPacket->payload[frame_offset + 5]},
|
snifferPacket->payload[frame_offset + 4],
|
||||||
false};
|
snifferPacket->payload[frame_offset + 5]},
|
||||||
|
false};
|
||||||
|
|
||||||
stations->add(sta);
|
stations->add(sta);
|
||||||
|
}
|
||||||
|
|
||||||
// Print findings to serial
|
// Print findings to serial
|
||||||
Serial.print((String)stations->size() + ": ");
|
Serial.print((String)stations->size() + ": ");
|
||||||
@@ -3776,7 +3789,12 @@ void WiFiScan::stationSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t typ
|
|||||||
if (display_obj.display_buffer->size() == 0)
|
if (display_obj.display_buffer->size() == 0)
|
||||||
{
|
{
|
||||||
display_obj.loading = true;
|
display_obj.loading = true;
|
||||||
display_obj.display_buffer->add(display_string);
|
if (mem_check)
|
||||||
|
display_obj.display_buffer->add(display_string);
|
||||||
|
else {
|
||||||
|
String warning_str = "Memory lim reached " + display_string;
|
||||||
|
display_obj.display_buffer->add(warning_str);
|
||||||
|
}
|
||||||
display_obj.loading = false;
|
display_obj.loading = false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -3784,10 +3802,12 @@ void WiFiScan::stationSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t typ
|
|||||||
// Add station index to AP in list
|
// Add station index to AP in list
|
||||||
//access_points->get(ap_index).stations->add(stations->size() - 1);
|
//access_points->get(ap_index).stations->add(stations->size() - 1);
|
||||||
|
|
||||||
AccessPoint ap = access_points->get(ap_index);
|
if (mem_check) {
|
||||||
ap.stations->add(stations->size() - 1);
|
AccessPoint ap = access_points->get(ap_index);
|
||||||
|
ap.stations->add(stations->size() - 1);
|
||||||
|
|
||||||
access_points->set(ap_index, ap);
|
access_points->set(ap_index, ap);
|
||||||
|
}
|
||||||
|
|
||||||
buffer_obj.append(snifferPacket, len);
|
buffer_obj.append(snifferPacket, len);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1147,29 +1147,29 @@
|
|||||||
//// MEMORY LOWER LIMIT STUFF
|
//// MEMORY LOWER LIMIT STUFF
|
||||||
// These values are in bytes
|
// These values are in bytes
|
||||||
#ifdef MARAUDER_M5STICKC
|
#ifdef MARAUDER_M5STICKC
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(MARAUDER_MINI)
|
#elif defined(MARAUDER_MINI)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(MARAUDER_V7)
|
#elif defined(MARAUDER_V7)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(MARAUDER_REV_FEATHER)
|
#elif defined(MARAUDER_REV_FEATHER)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(MARAUDER_V4)
|
#elif defined(MARAUDER_V4)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 8500
|
||||||
#elif defined(MARAUDER_V6) || defined(MARAUDER_V6_1)
|
#elif defined(MARAUDER_V6) || defined(MARAUDER_V6_1)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 8500
|
||||||
#elif defined(MARAUDER_KIT)
|
#elif defined(MARAUDER_KIT)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 8500
|
||||||
#elif defined(GENERIC_ESP32)
|
#elif defined(GENERIC_ESP32)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(MARAUDER_FLIPPER)
|
#elif defined(MARAUDER_FLIPPER)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(ESP32_LDDB)
|
#elif defined(ESP32_LDDB)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(MARAUDER_DEV_BOARD_PRO)
|
#elif defined(MARAUDER_DEV_BOARD_PRO)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#elif defined(XIAO_ESP32_S3)
|
#elif defined(XIAO_ESP32_S3)
|
||||||
#define MEM_LOWER_LIM 20000
|
#define MEM_LOWER_LIM 5000
|
||||||
#endif
|
#endif
|
||||||
//// END MEMORY LOWER LIMIT STUFF
|
//// END MEMORY LOWER LIMIT STUFF
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user