mirror of
https://github.com/berlin-open-wireless-lab/DAWN.git
synced 2025-03-09 15:40:12 +00:00
Add metric for deleting clients
This commit is contained in:
parent
7339a6ecbc
commit
e9b02067eb
5 changed files with 171 additions and 78 deletions
|
|
@ -14,60 +14,66 @@
|
|||
#endif
|
||||
|
||||
#define SORT_NUM 5
|
||||
#define TIME_THRESHOLD 5 // every minute
|
||||
#define TIME_THRESHOLD 600 // every minute
|
||||
|
||||
// Probe entrys
|
||||
typedef struct probe_entry_s {
|
||||
uint8_t bssid_addr[ETH_ALEN];
|
||||
uint8_t client_addr[ETH_ALEN];
|
||||
uint8_t target_addr[ETH_ALEN];
|
||||
uint32_t signal;
|
||||
uint32_t freq;
|
||||
uint8_t ht_support;
|
||||
uint8_t vht_support;
|
||||
time_t time;
|
||||
int counter;
|
||||
uint8_t bssid_addr[ETH_ALEN];
|
||||
uint8_t client_addr[ETH_ALEN];
|
||||
uint8_t target_addr[ETH_ALEN];
|
||||
uint32_t signal;
|
||||
uint32_t freq;
|
||||
uint8_t ht_support;
|
||||
uint8_t vht_support;
|
||||
time_t time;
|
||||
int counter;
|
||||
} probe_entry;
|
||||
|
||||
typedef struct {
|
||||
uint32_t freq;
|
||||
uint32_t freq;
|
||||
} client_request;
|
||||
|
||||
typedef struct client_s {
|
||||
uint8_t bssid_addr[ETH_ALEN];
|
||||
uint8_t client_addr[ETH_ALEN];
|
||||
uint8_t ht_supported;
|
||||
uint8_t vht_supported;
|
||||
uint32_t freq;
|
||||
uint8_t auth;
|
||||
uint8_t assoc;
|
||||
uint8_t authorized;
|
||||
uint8_t preauth;
|
||||
uint8_t wds;
|
||||
uint8_t wmm;
|
||||
uint8_t ht;
|
||||
uint8_t vht;
|
||||
uint8_t wps;
|
||||
uint8_t mfp;
|
||||
time_t time;
|
||||
uint32_t aid;
|
||||
uint8_t bssid_addr[ETH_ALEN];
|
||||
uint8_t client_addr[ETH_ALEN];
|
||||
uint8_t ht_supported;
|
||||
uint8_t vht_supported;
|
||||
uint32_t freq;
|
||||
uint8_t auth;
|
||||
uint8_t assoc;
|
||||
uint8_t authorized;
|
||||
uint8_t preauth;
|
||||
uint8_t wds;
|
||||
uint8_t wmm;
|
||||
uint8_t ht;
|
||||
uint8_t vht;
|
||||
uint8_t wps;
|
||||
uint8_t mfp;
|
||||
time_t time;
|
||||
uint32_t aid;
|
||||
} client;
|
||||
|
||||
|
||||
// Array
|
||||
#define ARRAY_CLIENT_LEN 1000
|
||||
#define TIME_THRESHOLD_CLIENT 5
|
||||
#define TIME_THRESHOLD_CLIENT 10
|
||||
#define TIME_THRESHOLD_CLIENT_UPDATE 5
|
||||
|
||||
struct client_s client_array[ARRAY_CLIENT_LEN];
|
||||
pthread_mutex_t client_array_mutex;
|
||||
|
||||
void insert_client_to_array(client entry);
|
||||
|
||||
void kick_clients(uint8_t bssid[]);
|
||||
|
||||
void client_array_insert(client entry);
|
||||
client* client_array_delete(client entry);
|
||||
|
||||
client *client_array_delete(client entry);
|
||||
|
||||
void print_client_array();
|
||||
|
||||
void print_client_entry(client entry);
|
||||
|
||||
void *remove_client_array_thread(void *arg);
|
||||
|
||||
#define ARRAY_LEN 1000
|
||||
|
|
@ -76,38 +82,30 @@ struct probe_entry_s probe_array[ARRAY_LEN];
|
|||
pthread_mutex_t probe_array_mutex;
|
||||
|
||||
void insert_to_array(probe_entry entry, int inc_counter);
|
||||
|
||||
void probe_array_insert(probe_entry entry);
|
||||
probe_entry* probe_array_delete(probe_entry entry);
|
||||
|
||||
probe_entry *probe_array_delete(probe_entry entry);
|
||||
|
||||
void print_array();
|
||||
|
||||
void *remove_array_thread(void *arg);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// List
|
||||
typedef struct node {
|
||||
probe_entry data;
|
||||
struct node *ptr;
|
||||
probe_entry data;
|
||||
struct node *ptr;
|
||||
} node;
|
||||
|
||||
node *insert(node *head, probe_entry entry);
|
||||
|
||||
void free_list(node *head);
|
||||
|
||||
void print_list();
|
||||
|
||||
void insert_to_list(probe_entry entry, int inc_counter);
|
||||
|
||||
int mac_first_in_probe_list(uint8_t bssid_addr[], uint8_t client_addr[]);
|
||||
|
||||
void *remove_thread(void *arg);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
int dawn_init_ubus(const char *ubus_socket, char *hostapd_dir);
|
||||
int parse_to_probe_req(struct blob_attr *msg, probe_entry *prob_req);
|
||||
int parse_to_clients(struct blob_attr *msg);
|
||||
int parse_to_clients(struct blob_attr *msg, int do_kick);
|
||||
void del_client(const uint8_t* client_addr, uint32_t reason, uint8_t deauth, uint32_t ban_time);
|
||||
void *update_clients_thread(void *arg);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue