From 991d5ea5de07fbb7807805b4eb200a677cca361f Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Tue, 12 Dec 2017 22:43:39 +0100 Subject: [PATCH 01/50] handle deauth --- src/utils/ubus.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 2d09677..15c961e 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -356,10 +356,17 @@ static int handle_probe_req(struct blob_attr *msg) { return 0; } +static int handle_deauth_req(struct blob_attr *msg) { + printf("RECEIVED DEAUTH REQUEST!\n"); + return 0; +} + static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, struct ubus_request_data *req, const char *method, struct blob_attr *msg) { - printf("METHOD new: %s\n", method); + char *str; + str = blobmsg_format_json(msg, true); + printf("METHOD new: %s : %s\n", method, str); // TODO: Only handle probe request and NOT assoc, ... @@ -370,6 +377,8 @@ static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, return handle_auth_req(msg); } else if (strncmp(method, "assoc", 5) == 0) { return handle_assoc_req(msg); + } else if (strncmp(method, "deauth", 6) == 0) { + return handle_deauth_req(msg); } return 0; } From 8edfad21b5fb917fdab4689ff9cc366c8235a45c Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 00:36:58 +0100 Subject: [PATCH 02/50] handle deauth --- src/include/datastorage.h | 5 ++++ src/include/ubus.h | 2 ++ src/utils/ubus.c | 49 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/src/include/datastorage.h b/src/include/datastorage.h index c47e2a4..428782d 100644 --- a/src/include/datastorage.h +++ b/src/include/datastorage.h @@ -72,6 +72,11 @@ typedef struct auth_entry_s { uint32_t freq; } auth_entry; +typedef struct hostapd_notify_entry_s { + uint8_t bssid_addr[ETH_ALEN]; + uint8_t client_addr[ETH_ALEN]; +} hostapd_notify_entry; + typedef struct auth_entry_s assoc_entry; // ---------------- Defines ---------------- diff --git a/src/include/ubus.h b/src/include/ubus.h index 2f1d190..5537dde 100644 --- a/src/include/ubus.h +++ b/src/include/ubus.h @@ -18,6 +18,8 @@ int parse_to_assoc_req(struct blob_attr *msg, assoc_entry *assoc_req); int parse_to_clients(struct blob_attr *msg, int do_kick, uint32_t id); +int parse_to_hostapd_notify(struct blob_attr *msg, hostapd_notify_entry *notify_req); + void del_client_interface(uint32_t id, const uint8_t *client_addr, uint32_t reason, uint8_t deauth, uint32_t ban_time); void del_client_all_interfaces(const uint8_t *client_addr, uint32_t reason, uint8_t deauth, uint32_t ban_time); diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 15c961e..d3a63b4 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -35,6 +35,17 @@ struct uloop_timeout hostapd_timer = { uint32_t hostapd_sock_arr[MAX_HOSTAPD_SOCKETS]; int hostapd_sock_last = -1; +enum { + HOSTAPD_NOTIFY_BSSID_ADDR, + HOSTAPD_NOTIFY_CLIENT_ADDR, + __HOSTAPD_NOTIFY_MAX, +}; + +static const struct blobmsg_policy hostapd_notify_policy[__HOSTAPD_NOTIFY_MAX] = { + [HOSTAPD_NOTIFY_BSSID_ADDR] = {.name = "bssid", .type = BLOBMSG_TYPE_STRING}, + [HOSTAPD_NOTIFY_CLIENT_ADDR] = {.name = "address", .type = BLOBMSG_TYPE_STRING}, +}; + enum { AUTH_BSSID_ADDR, AUTH_CLIENT_ADDR, @@ -231,6 +242,20 @@ static void hostapd_handle_remove(struct ubus_context *ctx, hostapd_array_delete(id); } +int parse_to_hostapd_notify(struct blob_attr *msg, hostapd_notify_entry *notify_req) { + struct blob_attr *tb[__HOSTAPD_NOTIFY_MAX]; + + blobmsg_parse(hostapd_notify_policy, __HOSTAPD_NOTIFY_MAX, tb, blob_data(msg), blob_len(msg)); + + if (hwaddr_aton(blobmsg_data(tb[HOSTAPD_NOTIFY_BSSID_ADDR]), notify_req->bssid_addr)) + return UBUS_STATUS_INVALID_ARGUMENT; + + if (hwaddr_aton(blobmsg_data(tb[HOSTAPD_NOTIFY_CLIENT_ADDR]), notify_req->client_addr)) + return UBUS_STATUS_INVALID_ARGUMENT; + + return 0; +} + int parse_to_auth_req(struct blob_attr *msg, auth_entry *auth_req) { struct blob_attr *tb[__AUTH_MAX]; @@ -357,7 +382,29 @@ static int handle_probe_req(struct blob_attr *msg) { } static int handle_deauth_req(struct blob_attr *msg) { - printf("RECEIVED DEAUTH REQUEST!\n"); + + hostapd_notify_entry notify_req; + parse_to_hostapd_notify(msg, ¬ify_req); + + client client_entry; + memcpy(client_entry.bssid_addr, client_entry.bssid_addr, sizeof(uint8_t) * ETH_ALEN ); + memcpy(client_entry.client_addr, client_entry.client_addr, sizeof(uint8_t) * ETH_ALEN ); + + pthread_mutex_lock(&client_array_mutex); + client_array_delete(client_entry); + pthread_mutex_unlock(&client_array_mutex); + + blob_buf_init(&b, 0); + blobmsg_add_blob(&b, msg); + blobmsg_add_string(&b, "test", "test_attr"); + + + char *str; + str = blobmsg_format_json(b.head, true); + send_string_enc(str); + + printf("[WC] Hostapd-Probe: %s : %s\n", "deauth", str); + return 0; } From 59999d7b0f0c9c4ca7775c6121d83dc020740580 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 01:41:36 +0100 Subject: [PATCH 03/50] add new network json msg, fix a lot of memory leaks, etc. ... --- src/include/ubus.h | 4 + src/network/networksocket.c | 31 +------- src/utils/ubus.c | 152 +++++++++++++++++++++++++++++++++--- 3 files changed, 144 insertions(+), 43 deletions(-) diff --git a/src/include/ubus.h b/src/include/ubus.h index 5537dde..1fdb59d 100644 --- a/src/include/ubus.h +++ b/src/include/ubus.h @@ -36,4 +36,8 @@ void update_hostapd_sockets(struct uloop_timeout *t); void add_client_update_timer(time_t time); +int handle_network_msg(char* msg); + +int send_blob_attr_via_network(struct blob_attr *msg, char* method); + #endif diff --git a/src/network/networksocket.c b/src/network/networksocket.c index ed33e02..ecacc4f 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -148,37 +148,8 @@ void *receive_msg_enc(void *args) { char *dec = gcrypt_decrypt_msg(base64_dec_str, base64_dec_length); - //printf("Free %s: %p\n","base64_dec_str", base64_dec_str); free(base64_dec_str); - - //printf("[WC] Network-Received: %s\n", dec); - - probe_entry prob_req; - struct blob_buf b; - - blob_buf_init(&b, 0); - blobmsg_add_json_from_string(&b, dec); - - char *str; - str = blobmsg_format_json(b.head, true); - - if (str == NULL) { - return 0; - } - - if (strlen(str) <= 0) { - return 0; - } - - if (strstr(str, "clients") != NULL) { - parse_to_clients(b.head, 0, 0); - } else if (strstr(str, "target") != NULL) { - if (parse_to_probe_req(b.head, &prob_req) == 0) { - insert_to_array(prob_req, 0); - } - } - // free encrypted string - //printf("Free %s: %p\n","dec", dec); + handle_network_msg(dec); free(dec); } } diff --git a/src/utils/ubus.c b/src/utils/ubus.c index d3a63b4..9a0f6e1 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -35,6 +35,17 @@ struct uloop_timeout hostapd_timer = { uint32_t hostapd_sock_arr[MAX_HOSTAPD_SOCKETS]; int hostapd_sock_last = -1; +enum { + NETWORK_METHOD, + NETWORK_DATA, + __NETWORK_MAX, +}; + +static const struct blobmsg_policy network_policy[__NETWORK_MAX] = { + [NETWORK_METHOD] = {.name = "method", .type = BLOBMSG_TYPE_STRING}, + [NETWORK_DATA] = {.name = "data", .type = BLOBMSG_TYPE_STRING}, +}; + enum { HOSTAPD_NOTIFY_BSSID_ADDR, HOSTAPD_NOTIFY_CLIENT_ADDR, @@ -362,13 +373,15 @@ static int handle_probe_req(struct blob_attr *msg) { //probe_entry tmp_probe = insert_to_array(prob_req, 1); + send_blob_attr_via_network(msg, "probe"); // send probe via network - char *str; + /*char *str; str = blobmsg_format_json(msg, true); send_string_enc(str); - printf("[WC] Hostapd-Probe: %s : %s\n", "probe", str); + printf("[WC] Hostapd-Probe: %s : %s\n", "probe", str);*/ + //print_probe_array(); /* @@ -394,17 +407,108 @@ static int handle_deauth_req(struct blob_attr *msg) { client_array_delete(client_entry); pthread_mutex_unlock(&client_array_mutex); + printf("[WC] Deauth: %s\n", "deauth"); + + return 0; +} + +int handle_network_msg(char* msg) +{ + printf("HANDLING NETWORK MSG!\n"); + struct blob_attr *tb[__NETWORK_MAX]; + char *method; + char *data; + + printf("TO JSON NETWORK MSG!\n"); blob_buf_init(&b, 0); - blobmsg_add_blob(&b, msg); - blobmsg_add_string(&b, "test", "test_attr"); + blobmsg_add_json_from_string(&b, msg); + + printf("PARSING NETWORK MSG!\n"); + blobmsg_parse(network_policy, __NETWORK_MAX, tb, blob_data(b.head), blob_len(b.head)); + printf("PARSING FINISHED NETWORK MSG!\n"); + + if(!tb[NETWORK_METHOD] ||!tb[NETWORK_DATA] ) + { + return -1; + } + printf("GET STRING NETWORK MSG!\n"); + method = blobmsg_get_string(tb[NETWORK_METHOD]); + data = blobmsg_get_string(tb[NETWORK_DATA]); + printf("GET STRING FINISHED NETWORK MSG!\n"); + + blob_buf_init(&b, 0); + blobmsg_add_json_from_string(&b, data); + printf("JSON PARSING AGAIN FINISHED NETWORK MSG!\n"); + + printf("DO STRINGCOMPARE: %s : %s!\n", method, data); + if(!blob_len(b.head)) + { + printf("NULL?!\n"); + return -1; + } + + if(blob_len(b.head) <= 0) + { + printf("NULL?!\n"); + return -1; + } + + if(strlen(method) < 5) + { + printf("STRING IS LESS THAN 5!\n"); + return -1; + } + + if (strncmp(method, "probe", 5) == 0) { + probe_entry entry; + parse_to_probe_req(b.head, &entry); + probe_array_insert(entry); + } else if (strncmp(method, "clients", 5) == 0) { + printf("PARSING CLIENTS NETWORK MSG!\n"); + parse_to_clients(b.head, 0, 0); + } else if (strncmp(method, "deauth", 5) == 0) { + hostapd_notify_entry entry; + parse_to_hostapd_notify(b.head, &entry); + + client client_entry; + memcpy(client_entry.bssid_addr, client_entry.bssid_addr, sizeof(uint8_t) * ETH_ALEN ); + memcpy(client_entry.client_addr, client_entry.client_addr, sizeof(uint8_t) * ETH_ALEN ); + + pthread_mutex_lock(&client_array_mutex); + client_array_delete(client_entry); + pthread_mutex_unlock(&client_array_mutex); + } + free(method); + free(data); + printf("HANDLING FINISHED NETWORK MSG!\n"); + return 0; +} +int send_blob_attr_via_network(struct blob_attr *msg, char* method) +{ + char *data_str; char *str; + printf("TO JSON\n"); + data_str = blobmsg_format_json(msg, true); + printf("JSON FINISHED\n"); + + printf("ADD STRINGS!\n"); + blob_buf_init(&b, 0); + blobmsg_add_string(&b, "method", method); + blobmsg_add_string(&b, "data", data_str); + printf("ADD FINISHED!\n"); + + + //blobmsg_add_blob(&b, msg); + printf("TO JSON AGAIN\n"); str = blobmsg_format_json(b.head, true); + printf("TO JSON AGAIN FINISHED\n"); + printf("SENDING\n"); send_string_enc(str); - - printf("[WC] Hostapd-Probe: %s : %s\n", "deauth", str); - + printf("SENDING FINISHED!\n"); + free(str); + free(data_str); return 0; } @@ -414,6 +518,7 @@ static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, char *str; str = blobmsg_format_json(msg, true); printf("METHOD new: %s : %s\n", method, str); + free(str); // TODO: Only handle probe request and NOT assoc, ... @@ -617,6 +722,24 @@ dump_client_table(struct blob_attr *head, int len, const char *bssid_addr, uint3 int parse_to_clients(struct blob_attr *msg, int do_kick, uint32_t id) { struct blob_attr *tb[__CLIENT_TABLE_MAX]; + if(!msg) + { + return -1; + } + + if(!blob_data(msg)) + { + printf("DATA IS NULL!!!\n"); + return -1; + } + + printf("BLOB LEN: %d\n", blob_len(msg)); + if(blob_len(msg) <= 0) + { + printf("DATA IS NULL!!!\n"); + return -1; + } + blobmsg_parse(client_table_policy, __CLIENT_TABLE_MAX, tb, blob_data(msg), blob_len(msg)); if (tb[CLIENT_TABLE] && tb[CLIENT_TABLE_BSSID] && tb[CLIENT_TABLE_FREQ] && tb[CLIENT_TABLE_HT] && @@ -644,10 +767,14 @@ static void ubus_get_clients_cb(struct ubus_request *req, int type, struct blob_ if (!msg) return; + printf("PARSE TO CLIENTS!\n"); parse_to_clients(msg, 1, req->peer); - char *str = blobmsg_format_json(msg, true); - send_string_enc(str); + printf("SENDING CLIENTS VIA NETWORK\n"); + send_blob_attr_via_network(msg, "clients"); + printf("SEND CLIENTS FINISHED!\n"); + + print_client_array(); print_ap_array(); } @@ -730,6 +857,8 @@ int ubus_call_umdns() { int ubus_send_probe_via_network(struct probe_entry_s probe_entry) { + printf("SENDING PROBE VIA NETWORK!\n"); + static struct blob_buf b; blob_buf_init(&b, 0); @@ -741,10 +870,7 @@ int ubus_send_probe_via_network(struct probe_entry_s probe_entry) { blobmsg_add_u8(&b, "ht_support", probe_entry.ht_support); blobmsg_add_u8(&b, "vht_support", probe_entry.vht_support); - // send probe via network - char *str; - str = blobmsg_format_json(b.head, 1); - send_string_enc(str); + send_blob_attr_via_network(b.head, "probe"); return 0; } \ No newline at end of file From 93265f967bc6fd383fab7cc97f9c6676b7769929 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 09:51:50 +0100 Subject: [PATCH 04/50] add prints --- src/network/networksocket.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/network/networksocket.c b/src/network/networksocket.c index ecacc4f..3f5962f 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -146,8 +146,11 @@ void *receive_msg_enc(void *args) { char *base64_dec_str = malloc(Base64decode_len(recv_string)); int base64_dec_length = Base64decode(base64_dec_str, recv_string); + char *dec = gcrypt_decrypt_msg(base64_dec_str, base64_dec_length); + printf("NETRWORK RECEIVED: %s\n", dec); + free(base64_dec_str); handle_network_msg(dec); free(dec); @@ -182,6 +185,10 @@ int send_string(char *msg) { int send_string_enc(char *msg) { pthread_mutex_lock(&send_mutex); + + printf("Sending string: %s\n", msg); + + size_t msglen = strlen(msg); int length_enc; From 37257bbd84fdc8c438ccabda7101fd1c1ab4a32c Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 09:57:59 +0100 Subject: [PATCH 05/50] add prints --- src/utils/ubus.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 9a0f6e1..facce06 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -432,8 +432,13 @@ int handle_network_msg(char* msg) return -1; } printf("GET STRING NETWORK MSG!\n"); - method = blobmsg_get_string(tb[NETWORK_METHOD]); - data = blobmsg_get_string(tb[NETWORK_DATA]); + //method = blobmsg_get_string(tb[NETWORK_METHOD]); + //data = blobmsg_get_string(tb[NETWORK_DATA]); + + method = blobmsg_data(tb[NETWORK_METHOD]); + data = blobmsg_data(tb[NETWORK_DATA]); + + printf("GET STRING FINISHED NETWORK MSG!\n"); blob_buf_init(&b, 0); From c332b2555c81b6763e7758f93a026fc102cde2b8 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:06:05 +0100 Subject: [PATCH 06/50] add prints --- src/utils/ubus.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index facce06..40788a9 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -423,6 +423,8 @@ int handle_network_msg(char* msg) blob_buf_init(&b, 0); blobmsg_add_json_from_string(&b, msg); + printf("TO JSON AGAIN PARSING: %s\n",blobmsg_format_json(b.head, true)); + printf("PARSING NETWORK MSG!\n"); blobmsg_parse(network_policy, __NETWORK_MAX, tb, blob_data(b.head), blob_len(b.head)); printf("PARSING FINISHED NETWORK MSG!\n"); From 9f78b5b879f53e8f8947daefc6a2ee0ca359db47 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:10:28 +0100 Subject: [PATCH 07/50] add prints --- src/utils/ubus.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 40788a9..ca69ddc 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -440,6 +440,8 @@ int handle_network_msg(char* msg) method = blobmsg_data(tb[NETWORK_METHOD]); data = blobmsg_data(tb[NETWORK_DATA]); + printf("METHOD! : %s\n", method); + printf("GET STRING FINISHED NETWORK MSG!\n"); From d99f3aed52906b56d41bcb18b3312d51f446c9de Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:12:12 +0100 Subject: [PATCH 08/50] add prints --- src/utils/ubus.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index ca69ddc..4b8ecae 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -441,6 +441,7 @@ int handle_network_msg(char* msg) data = blobmsg_data(tb[NETWORK_DATA]); printf("METHOD! : %s\n", method); + printf("DATA: %s\n", data); printf("GET STRING FINISHED NETWORK MSG!\n"); From 1132e7f66d00040474eb48cae30daef4db08697f Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:15:13 +0100 Subject: [PATCH 09/50] add data buff --- src/utils/ubus.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 4b8ecae..4bb9092 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -446,18 +446,19 @@ int handle_network_msg(char* msg) printf("GET STRING FINISHED NETWORK MSG!\n"); - blob_buf_init(&b, 0); - blobmsg_add_json_from_string(&b, data); + static struct blob_buf data_buf; + blob_buf_init(&data_buf, 0); + blobmsg_add_json_from_string(&data_buf, data); printf("JSON PARSING AGAIN FINISHED NETWORK MSG!\n"); printf("DO STRINGCOMPARE: %s : %s!\n", method, data); - if(!blob_len(b.head)) + if(!blob_len(data_buf.head)) { printf("NULL?!\n"); return -1; } - if(blob_len(b.head) <= 0) + if(blob_len(data_buf.head) <= 0) { printf("NULL?!\n"); return -1; @@ -471,14 +472,14 @@ int handle_network_msg(char* msg) if (strncmp(method, "probe", 5) == 0) { probe_entry entry; - parse_to_probe_req(b.head, &entry); + parse_to_probe_req(data_buf.head, &entry); probe_array_insert(entry); } else if (strncmp(method, "clients", 5) == 0) { printf("PARSING CLIENTS NETWORK MSG!\n"); - parse_to_clients(b.head, 0, 0); + parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { hostapd_notify_entry entry; - parse_to_hostapd_notify(b.head, &entry); + parse_to_hostapd_notify(data_buf.head, &entry); client client_entry; memcpy(client_entry.bssid_addr, client_entry.bssid_addr, sizeof(uint8_t) * ETH_ALEN ); From 7ac7f034540817d53ad8987e71c193a9982133a9 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:18:03 +0100 Subject: [PATCH 10/50] add network buff --- src/utils/ubus.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 4bb9092..f8eb323 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -414,19 +414,21 @@ static int handle_deauth_req(struct blob_attr *msg) { int handle_network_msg(char* msg) { + static struct blob_buf network_buf; + static struct blob_buf data_buf; printf("HANDLING NETWORK MSG!\n"); struct blob_attr *tb[__NETWORK_MAX]; char *method; char *data; printf("TO JSON NETWORK MSG!\n"); - blob_buf_init(&b, 0); - blobmsg_add_json_from_string(&b, msg); + blob_buf_init(&network_buf, 0); + blobmsg_add_json_from_string(&network_buf, msg); - printf("TO JSON AGAIN PARSING: %s\n",blobmsg_format_json(b.head, true)); + printf("TO JSON AGAIN PARSING: %s\n",blobmsg_format_json(network_buf.head, true)); printf("PARSING NETWORK MSG!\n"); - blobmsg_parse(network_policy, __NETWORK_MAX, tb, blob_data(b.head), blob_len(b.head)); + blobmsg_parse(network_policy, __NETWORK_MAX, tb, blob_data(network_buf.head), blob_len(network_buf.head)); printf("PARSING FINISHED NETWORK MSG!\n"); if(!tb[NETWORK_METHOD] ||!tb[NETWORK_DATA] ) @@ -446,7 +448,6 @@ int handle_network_msg(char* msg) printf("GET STRING FINISHED NETWORK MSG!\n"); - static struct blob_buf data_buf; blob_buf_init(&data_buf, 0); blobmsg_add_json_from_string(&data_buf, data); printf("JSON PARSING AGAIN FINISHED NETWORK MSG!\n"); From ae8d2166ac7981db3657c024573287430257b110 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:21:56 +0100 Subject: [PATCH 11/50] add network buff --- src/utils/ubus.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index f8eb323..ef0e3a6 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -22,6 +22,8 @@ static struct ubus_context *ctx_clients; /* own ubus conext otherwise strange be static struct ubus_subscriber hostapd_event; static struct blob_buf b; + + void update_clients(struct uloop_timeout *t); struct uloop_timeout client_timer = { @@ -416,6 +418,7 @@ int handle_network_msg(char* msg) { static struct blob_buf network_buf; static struct blob_buf data_buf; + printf("HANDLING NETWORK MSG!\n"); struct blob_attr *tb[__NETWORK_MAX]; char *method; From 4ca5c91eb91ce4b1236abd86e83bca7ca62fd2b9 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:29:55 +0100 Subject: [PATCH 12/50] add send buffer --- src/utils/ubus.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index ef0e3a6..b7f0cf3 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -502,6 +502,7 @@ int handle_network_msg(char* msg) int send_blob_attr_via_network(struct blob_attr *msg, char* method) { + struct blob_buf b_send_network; char *data_str; char *str; printf("TO JSON\n"); @@ -509,15 +510,15 @@ int send_blob_attr_via_network(struct blob_attr *msg, char* method) printf("JSON FINISHED\n"); printf("ADD STRINGS!\n"); - blob_buf_init(&b, 0); - blobmsg_add_string(&b, "method", method); - blobmsg_add_string(&b, "data", data_str); + blob_buf_init(&b_send_network, 0); + blobmsg_add_string(&b_send_network, "method", method); + blobmsg_add_string(&b_send_network, "data", data_str); printf("ADD FINISHED!\n"); //blobmsg_add_blob(&b, msg); printf("TO JSON AGAIN\n"); - str = blobmsg_format_json(b.head, true); + str = blobmsg_format_json(b_send_network.head, true); printf("TO JSON AGAIN FINISHED\n"); printf("SENDING\n"); send_string_enc(str); From f5ed5db2dfa857fb8726a4f9c3b6ab5b36921a8f Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:33:57 +0100 Subject: [PATCH 13/50] return in functions --- src/network/networksocket.c | 2 ++ src/utils/ubus.c | 1 + 2 files changed, 3 insertions(+) diff --git a/src/network/networksocket.c b/src/network/networksocket.c index 3f5962f..ac379d3 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -134,6 +134,8 @@ void *receive_msg_enc(void *args) { continue; } + return 0; + if (recv_string == NULL) { return 0; } diff --git a/src/utils/ubus.c b/src/utils/ubus.c index b7f0cf3..f396437 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -502,6 +502,7 @@ int handle_network_msg(char* msg) int send_blob_attr_via_network(struct blob_attr *msg, char* method) { + return 0; struct blob_buf b_send_network; char *data_str; char *str; From f55756c9e8f905550651c0f45f0fd83282505a51 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:35:26 +0100 Subject: [PATCH 14/50] return in functions --- src/utils/ubus.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index f396437..b7f0cf3 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -502,7 +502,6 @@ int handle_network_msg(char* msg) int send_blob_attr_via_network(struct blob_attr *msg, char* method) { - return 0; struct blob_buf b_send_network; char *data_str; char *str; From 261a6807637771cbbe51faa124f0c5e4bf364341 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:37:16 +0100 Subject: [PATCH 15/50] return in functions --- src/utils/ubus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index b7f0cf3..67351a5 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -886,7 +886,7 @@ int ubus_send_probe_via_network(struct probe_entry_s probe_entry) { blobmsg_add_u8(&b, "ht_support", probe_entry.ht_support); blobmsg_add_u8(&b, "vht_support", probe_entry.vht_support); - send_blob_attr_via_network(b.head, "probe"); + //send_blob_attr_via_network(b.head, "probe"); return 0; } \ No newline at end of file From eba090c1fbeed19a2944a4e3d790757ac8abff06 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:40:33 +0100 Subject: [PATCH 16/50] return in functions --- src/utils/ubus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 67351a5..41788c0 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -787,7 +787,7 @@ static void ubus_get_clients_cb(struct ubus_request *req, int type, struct blob_ parse_to_clients(msg, 1, req->peer); printf("SENDING CLIENTS VIA NETWORK\n"); - send_blob_attr_via_network(msg, "clients"); + //send_blob_attr_via_network(msg, "clients"); printf("SEND CLIENTS FINISHED!\n"); @@ -886,7 +886,7 @@ int ubus_send_probe_via_network(struct probe_entry_s probe_entry) { blobmsg_add_u8(&b, "ht_support", probe_entry.ht_support); blobmsg_add_u8(&b, "vht_support", probe_entry.vht_support); - //send_blob_attr_via_network(b.head, "probe"); + send_blob_attr_via_network(b.head, "probe"); return 0; } \ No newline at end of file From e4a29767c323f403c07309b302cc4bf00c5b1680 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:41:30 +0100 Subject: [PATCH 17/50] return in functions --- src/utils/ubus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 41788c0..a7bc18a 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -375,7 +375,7 @@ static int handle_probe_req(struct blob_attr *msg) { //probe_entry tmp_probe = insert_to_array(prob_req, 1); - send_blob_attr_via_network(msg, "probe"); + //send_blob_attr_via_network(msg, "probe"); // send probe via network /*char *str; From 579d97c57b3cc65850854686fc39b6363c91bb9b Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:44:06 +0100 Subject: [PATCH 18/50] return in functions --- src/utils/ubus.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index a7bc18a..62ecee8 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -375,7 +375,7 @@ static int handle_probe_req(struct blob_attr *msg) { //probe_entry tmp_probe = insert_to_array(prob_req, 1); - //send_blob_attr_via_network(msg, "probe"); + send_blob_attr_via_network(msg, "probe"); // send probe via network /*char *str; @@ -502,11 +502,17 @@ int handle_network_msg(char* msg) int send_blob_attr_via_network(struct blob_attr *msg, char* method) { + if(!msg) + { + return; + } + struct blob_buf b_send_network; char *data_str; char *str; printf("TO JSON\n"); data_str = blobmsg_format_json(msg, true); + printf("DATA STRING: %s", data_str); printf("JSON FINISHED\n"); printf("ADD STRINGS!\n"); From 0890c6de93a675ab2ce058c097d713ebd63d93cc Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:44:52 +0100 Subject: [PATCH 19/50] return in functions --- src/utils/ubus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 62ecee8..3054473 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -504,7 +504,7 @@ int send_blob_attr_via_network(struct blob_attr *msg, char* method) { if(!msg) { - return; + return -1; } struct blob_buf b_send_network; From 8aa4b116ba295fc88163c894726ca309347f35b5 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:48:04 +0100 Subject: [PATCH 20/50] return in functions --- src/utils/ubus.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 3054473..b338d20 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -512,7 +512,7 @@ int send_blob_attr_via_network(struct blob_attr *msg, char* method) char *str; printf("TO JSON\n"); data_str = blobmsg_format_json(msg, true); - printf("DATA STRING: %s", data_str); + printf("DATA STRING: %s\n", data_str); printf("JSON FINISHED\n"); printf("ADD STRINGS!\n"); @@ -529,8 +529,8 @@ int send_blob_attr_via_network(struct blob_attr *msg, char* method) printf("SENDING\n"); send_string_enc(str); printf("SENDING FINISHED!\n"); - free(str); - free(data_str); + //free(str); + //free(data_str); return 0; } From b52b77b833ab2ca2fdf29ce51f5d55f71675f7a9 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:50:01 +0100 Subject: [PATCH 21/50] return in functions --- src/utils/ubus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index b338d20..b08a5d3 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -21,6 +21,8 @@ static struct ubus_context *ctx_clients; /* own ubus conext otherwise strange be static struct ubus_subscriber hostapd_event; static struct blob_buf b; +static struct blob_buf b_send_network; + @@ -507,7 +509,6 @@ int send_blob_attr_via_network(struct blob_attr *msg, char* method) return -1; } - struct blob_buf b_send_network; char *data_str; char *str; printf("TO JSON\n"); From af75da8046945306a2c3622bbe750dd3fadf3b9b Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:52:57 +0100 Subject: [PATCH 22/50] return in functions --- src/network/networksocket.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/network/networksocket.c b/src/network/networksocket.c index ac379d3..3f5962f 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -134,8 +134,6 @@ void *receive_msg_enc(void *args) { continue; } - return 0; - if (recv_string == NULL) { return 0; } From cafc7419719aa546258672ff1dfa91f23876cbd6 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:54:55 +0100 Subject: [PATCH 23/50] return in functions --- src/utils/ubus.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index b08a5d3..55f6179 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -22,6 +22,8 @@ static struct ubus_context *ctx_clients; /* own ubus conext otherwise strange be static struct ubus_subscriber hostapd_event; static struct blob_buf b; static struct blob_buf b_send_network; +static struct blob_buf network_buf; +static struct blob_buf data_buf; @@ -418,8 +420,7 @@ static int handle_deauth_req(struct blob_attr *msg) { int handle_network_msg(char* msg) { - static struct blob_buf network_buf; - static struct blob_buf data_buf; + printf("HANDLING NETWORK MSG!\n"); struct blob_attr *tb[__NETWORK_MAX]; From 174b2a97cddfc726db8aa967c958c7ba224c5192 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:57:01 +0100 Subject: [PATCH 24/50] return in functions --- src/utils/ubus.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 55f6179..87c9c42 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -882,6 +882,7 @@ int ubus_call_umdns() { int ubus_send_probe_via_network(struct probe_entry_s probe_entry) { printf("SENDING PROBE VIA NETWORK!\n"); + return 0; static struct blob_buf b; From b9ac6227cade96eeb249e0026bb4840ef6503e84 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 10:58:34 +0100 Subject: [PATCH 25/50] return in functions --- src/utils/ubus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 87c9c42..d671820 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -379,7 +379,7 @@ static int handle_probe_req(struct blob_attr *msg) { //probe_entry tmp_probe = insert_to_array(prob_req, 1); - send_blob_attr_via_network(msg, "probe"); + //send_blob_attr_via_network(msg, "probe"); // send probe via network /*char *str; @@ -795,7 +795,7 @@ static void ubus_get_clients_cb(struct ubus_request *req, int type, struct blob_ parse_to_clients(msg, 1, req->peer); printf("SENDING CLIENTS VIA NETWORK\n"); - //send_blob_attr_via_network(msg, "clients"); + send_blob_attr_via_network(msg, "clients"); printf("SEND CLIENTS FINISHED!\n"); From dd9ccf3eb45733e1f181c07d3ae252ad3e65d8a5 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:00:28 +0100 Subject: [PATCH 26/50] return in functions --- src/network/networksocket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/networksocket.c b/src/network/networksocket.c index 3f5962f..f419afc 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -152,7 +152,7 @@ void *receive_msg_enc(void *args) { printf("NETRWORK RECEIVED: %s\n", dec); free(base64_dec_str); - handle_network_msg(dec); + //handle_network_msg(dec); free(dec); } } From b17e4f4786ce74e35a67d35033362b01b00d53a1 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:02:35 +0100 Subject: [PATCH 27/50] return in functions --- src/network/networksocket.c | 2 +- src/utils/ubus.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/network/networksocket.c b/src/network/networksocket.c index f419afc..3f5962f 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -152,7 +152,7 @@ void *receive_msg_enc(void *args) { printf("NETRWORK RECEIVED: %s\n", dec); free(base64_dec_str); - //handle_network_msg(dec); + handle_network_msg(dec); free(dec); } } diff --git a/src/utils/ubus.c b/src/utils/ubus.c index d671820..3b30557 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -420,8 +420,6 @@ static int handle_deauth_req(struct blob_attr *msg) { int handle_network_msg(char* msg) { - - printf("HANDLING NETWORK MSG!\n"); struct blob_attr *tb[__NETWORK_MAX]; char *method; @@ -431,6 +429,8 @@ int handle_network_msg(char* msg) blob_buf_init(&network_buf, 0); blobmsg_add_json_from_string(&network_buf, msg); + return -1; + printf("TO JSON AGAIN PARSING: %s\n",blobmsg_format_json(network_buf.head, true)); printf("PARSING NETWORK MSG!\n"); From 2445e61a3fe15cb9aa82ce7754c76625055a059d Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:05:03 +0100 Subject: [PATCH 28/50] return in functions --- src/utils/ubus.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 3b30557..5ed4e09 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -429,14 +429,15 @@ int handle_network_msg(char* msg) blob_buf_init(&network_buf, 0); blobmsg_add_json_from_string(&network_buf, msg); - return -1; - printf("TO JSON AGAIN PARSING: %s\n",blobmsg_format_json(network_buf.head, true)); printf("PARSING NETWORK MSG!\n"); blobmsg_parse(network_policy, __NETWORK_MAX, tb, blob_data(network_buf.head), blob_len(network_buf.head)); printf("PARSING FINISHED NETWORK MSG!\n"); + return -1; + + if(!tb[NETWORK_METHOD] ||!tb[NETWORK_DATA] ) { return -1; From a7899bf787a106b43ec2966424e4c647a52e1e66 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:06:26 +0100 Subject: [PATCH 29/50] return in functions --- src/utils/ubus.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 5ed4e09..a2f96a6 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -429,13 +429,13 @@ int handle_network_msg(char* msg) blob_buf_init(&network_buf, 0); blobmsg_add_json_from_string(&network_buf, msg); + printf("TO JSON AGAIN PARSING: %s\n",blobmsg_format_json(network_buf.head, true)); printf("PARSING NETWORK MSG!\n"); blobmsg_parse(network_policy, __NETWORK_MAX, tb, blob_data(network_buf.head), blob_len(network_buf.head)); printf("PARSING FINISHED NETWORK MSG!\n"); - return -1; if(!tb[NETWORK_METHOD] ||!tb[NETWORK_DATA] ) @@ -452,6 +452,8 @@ int handle_network_msg(char* msg) printf("METHOD! : %s\n", method); printf("DATA: %s\n", data); + return -1; + printf("GET STRING FINISHED NETWORK MSG!\n"); From de027cadf16f2a3c58aa8bfd1c41749d2613aeeb Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:07:27 +0100 Subject: [PATCH 30/50] return in functions --- src/utils/ubus.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index a2f96a6..e1b2a57 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -452,7 +452,6 @@ int handle_network_msg(char* msg) printf("METHOD! : %s\n", method); printf("DATA: %s\n", data); - return -1; printf("GET STRING FINISHED NETWORK MSG!\n"); @@ -461,6 +460,9 @@ int handle_network_msg(char* msg) blobmsg_add_json_from_string(&data_buf, data); printf("JSON PARSING AGAIN FINISHED NETWORK MSG!\n"); + return -1; + + printf("DO STRINGCOMPARE: %s : %s!\n", method, data); if(!blob_len(data_buf.head)) { From 732bbb84b18175ec01841befe9ee1d4c504e2f31 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:10:00 +0100 Subject: [PATCH 31/50] return in functions --- src/utils/ubus.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index e1b2a57..6d1bc7f 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -460,11 +460,9 @@ int handle_network_msg(char* msg) blobmsg_add_json_from_string(&data_buf, data); printf("JSON PARSING AGAIN FINISHED NETWORK MSG!\n"); - return -1; - printf("DO STRINGCOMPARE: %s : %s!\n", method, data); - if(!blob_len(data_buf.head)) + if(!data_buf.head) { printf("NULL?!\n"); return -1; From 4319a89c0fb95496fcf7454197c7d6d84595608f Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:12:26 +0100 Subject: [PATCH 32/50] return in functions --- src/utils/ubus.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 6d1bc7f..4c2f638 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -481,13 +481,16 @@ int handle_network_msg(char* msg) } if (strncmp(method, "probe", 5) == 0) { + printf("METHOD PROBE\n"); probe_entry entry; parse_to_probe_req(data_buf.head, &entry); probe_array_insert(entry); } else if (strncmp(method, "clients", 5) == 0) { + printf("METHOD CLIENTS\n"); printf("PARSING CLIENTS NETWORK MSG!\n"); parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { + printf("METHOD DEAUTH\n"); hostapd_notify_entry entry; parse_to_hostapd_notify(data_buf.head, &entry); From 13f87a79c05a392cf21e56d60ab4b0851de2f5cb Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:14:21 +0100 Subject: [PATCH 33/50] return in functions --- src/utils/ubus.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 4c2f638..25df27e 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -480,6 +480,8 @@ int handle_network_msg(char* msg) return -1; } + return -1; + if (strncmp(method, "probe", 5) == 0) { printf("METHOD PROBE\n"); probe_entry entry; From 6b3a955cfeb7d6058325ed099a3f516f3d1d407f Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:17:10 +0100 Subject: [PATCH 34/50] return in functions --- src/utils/ubus.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 25df27e..408406f 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -480,8 +480,6 @@ int handle_network_msg(char* msg) return -1; } - return -1; - if (strncmp(method, "probe", 5) == 0) { printf("METHOD PROBE\n"); probe_entry entry; @@ -493,7 +491,7 @@ int handle_network_msg(char* msg) parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { printf("METHOD DEAUTH\n"); - hostapd_notify_entry entry; + /*hostapd_notify_entry entry; parse_to_hostapd_notify(data_buf.head, &entry); client client_entry; @@ -502,7 +500,7 @@ int handle_network_msg(char* msg) pthread_mutex_lock(&client_array_mutex); client_array_delete(client_entry); - pthread_mutex_unlock(&client_array_mutex); + pthread_mutex_unlock(&client_array_mutex);*/ } free(method); free(data); From 1ba2a52edeaa250ec9cd8cea970592647d642081 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:19:23 +0100 Subject: [PATCH 35/50] return in functions --- src/utils/ubus.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 408406f..cfb1c94 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -483,15 +483,15 @@ int handle_network_msg(char* msg) if (strncmp(method, "probe", 5) == 0) { printf("METHOD PROBE\n"); probe_entry entry; - parse_to_probe_req(data_buf.head, &entry); - probe_array_insert(entry); + //parse_to_probe_req(data_buf.head, &entry); + //probe_array_insert(entry); } else if (strncmp(method, "clients", 5) == 0) { printf("METHOD CLIENTS\n"); printf("PARSING CLIENTS NETWORK MSG!\n"); - parse_to_clients(data_buf.head, 0, 0); + //parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { printf("METHOD DEAUTH\n"); - /*hostapd_notify_entry entry; + hostapd_notify_entry entry; parse_to_hostapd_notify(data_buf.head, &entry); client client_entry; @@ -500,7 +500,7 @@ int handle_network_msg(char* msg) pthread_mutex_lock(&client_array_mutex); client_array_delete(client_entry); - pthread_mutex_unlock(&client_array_mutex);*/ + pthread_mutex_unlock(&client_array_mutex); } free(method); free(data); From 75d4e402a7bfd2c01b757cdffdc8c118f6f8a2be Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:20:11 +0100 Subject: [PATCH 36/50] return in functions --- src/utils/ubus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index cfb1c94..be40997 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -482,7 +482,7 @@ int handle_network_msg(char* msg) if (strncmp(method, "probe", 5) == 0) { printf("METHOD PROBE\n"); - probe_entry entry; + //probe_entry entry; //parse_to_probe_req(data_buf.head, &entry); //probe_array_insert(entry); } else if (strncmp(method, "clients", 5) == 0) { From 30a54086f6d9c9dd9e2b1435605a2f370981eca9 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:21:31 +0100 Subject: [PATCH 37/50] return in functions --- src/utils/ubus.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index be40997..f89b925 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -491,7 +491,7 @@ int handle_network_msg(char* msg) //parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { printf("METHOD DEAUTH\n"); - hostapd_notify_entry entry; + /*hostapd_notify_entry entry; parse_to_hostapd_notify(data_buf.head, &entry); client client_entry; @@ -500,10 +500,10 @@ int handle_network_msg(char* msg) pthread_mutex_lock(&client_array_mutex); client_array_delete(client_entry); - pthread_mutex_unlock(&client_array_mutex); + pthread_mutex_unlock(&client_array_mutex);*/ } - free(method); - free(data); + //free(method); + //free(data); printf("HANDLING FINISHED NETWORK MSG!\n"); return 0; } From 51fc50def7335c0d0ac189bc3872916fc0c7c123 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:23:14 +0100 Subject: [PATCH 38/50] return in functions --- src/utils/ubus.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index f89b925..74926a7 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -482,16 +482,16 @@ int handle_network_msg(char* msg) if (strncmp(method, "probe", 5) == 0) { printf("METHOD PROBE\n"); - //probe_entry entry; - //parse_to_probe_req(data_buf.head, &entry); - //probe_array_insert(entry); + probe_entry entry; + parse_to_probe_req(data_buf.head, &entry); + probe_array_insert(entry); } else if (strncmp(method, "clients", 5) == 0) { printf("METHOD CLIENTS\n"); printf("PARSING CLIENTS NETWORK MSG!\n"); - //parse_to_clients(data_buf.head, 0, 0); + parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { printf("METHOD DEAUTH\n"); - /*hostapd_notify_entry entry; + hostapd_notify_entry entry; parse_to_hostapd_notify(data_buf.head, &entry); client client_entry; @@ -500,7 +500,7 @@ int handle_network_msg(char* msg) pthread_mutex_lock(&client_array_mutex); client_array_delete(client_entry); - pthread_mutex_unlock(&client_array_mutex);*/ + pthread_mutex_unlock(&client_array_mutex); } //free(method); //free(data); From 6d371a451490230fdc5500f193012e5373ba8c49 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 11:35:12 +0100 Subject: [PATCH 39/50] return in functions --- src/utils/ubus.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 74926a7..843ce93 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -379,7 +379,7 @@ static int handle_probe_req(struct blob_attr *msg) { //probe_entry tmp_probe = insert_to_array(prob_req, 1); - //send_blob_attr_via_network(msg, "probe"); + send_blob_attr_via_network(msg, "probe"); // send probe via network /*char *str; @@ -888,7 +888,6 @@ int ubus_call_umdns() { int ubus_send_probe_via_network(struct probe_entry_s probe_entry) { printf("SENDING PROBE VIA NETWORK!\n"); - return 0; static struct blob_buf b; From 010445c4eefe59af054f0e2d7ce618ef576ab607 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 12:09:48 +0100 Subject: [PATCH 40/50] try fix probe request --- src/utils/ubus.c | 44 ++++++++------------------------------------ 1 file changed, 8 insertions(+), 36 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 843ce93..04cbc78 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -420,45 +420,28 @@ static int handle_deauth_req(struct blob_attr *msg) { int handle_network_msg(char* msg) { - printf("HANDLING NETWORK MSG!\n"); + printf("HANDLING NETWORK MSG: %s\n"); struct blob_attr *tb[__NETWORK_MAX]; char *method; char *data; - printf("TO JSON NETWORK MSG!\n"); blob_buf_init(&network_buf, 0); blobmsg_add_json_from_string(&network_buf, msg); - - printf("TO JSON AGAIN PARSING: %s\n",blobmsg_format_json(network_buf.head, true)); - - printf("PARSING NETWORK MSG!\n"); blobmsg_parse(network_policy, __NETWORK_MAX, tb, blob_data(network_buf.head), blob_len(network_buf.head)); - printf("PARSING FINISHED NETWORK MSG!\n"); - - if(!tb[NETWORK_METHOD] ||!tb[NETWORK_DATA] ) { return -1; } - printf("GET STRING NETWORK MSG!\n"); //method = blobmsg_get_string(tb[NETWORK_METHOD]); //data = blobmsg_get_string(tb[NETWORK_DATA]); method = blobmsg_data(tb[NETWORK_METHOD]); data = blobmsg_data(tb[NETWORK_DATA]); - printf("METHOD! : %s\n", method); - printf("DATA: %s\n", data); - - - - printf("GET STRING FINISHED NETWORK MSG!\n"); - blob_buf_init(&data_buf, 0); blobmsg_add_json_from_string(&data_buf, data); - printf("JSON PARSING AGAIN FINISHED NETWORK MSG!\n"); printf("DO STRINGCOMPARE: %s : %s!\n", method, data); @@ -483,14 +466,18 @@ int handle_network_msg(char* msg) if (strncmp(method, "probe", 5) == 0) { printf("METHOD PROBE\n"); probe_entry entry; - parse_to_probe_req(data_buf.head, &entry); - probe_array_insert(entry); + if(parse_to_probe_req(data_buf.head, &entry) == 0) + { + probe_array_insert(entry); + print_probe_array(); + } } else if (strncmp(method, "clients", 5) == 0) { printf("METHOD CLIENTS\n"); printf("PARSING CLIENTS NETWORK MSG!\n"); parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { printf("METHOD DEAUTH\n"); + /* hostapd_notify_entry entry; parse_to_hostapd_notify(data_buf.head, &entry); @@ -500,7 +487,7 @@ int handle_network_msg(char* msg) pthread_mutex_lock(&client_array_mutex); client_array_delete(client_entry); - pthread_mutex_unlock(&client_array_mutex); + pthread_mutex_unlock(&client_array_mutex);*/ } //free(method); //free(data); @@ -518,25 +505,15 @@ int send_blob_attr_via_network(struct blob_attr *msg, char* method) char *data_str; char *str; - printf("TO JSON\n"); data_str = blobmsg_format_json(msg, true); - printf("DATA STRING: %s\n", data_str); - printf("JSON FINISHED\n"); - - printf("ADD STRINGS!\n"); blob_buf_init(&b_send_network, 0); blobmsg_add_string(&b_send_network, "method", method); blobmsg_add_string(&b_send_network, "data", data_str); - printf("ADD FINISHED!\n"); //blobmsg_add_blob(&b, msg); - printf("TO JSON AGAIN\n"); str = blobmsg_format_json(b_send_network.head, true); - printf("TO JSON AGAIN FINISHED\n"); - printf("SENDING\n"); send_string_enc(str); - printf("SENDING FINISHED!\n"); //free(str); //free(data_str); return 0; @@ -797,13 +774,8 @@ static void ubus_get_clients_cb(struct ubus_request *req, int type, struct blob_ if (!msg) return; - printf("PARSE TO CLIENTS!\n"); parse_to_clients(msg, 1, req->peer); - - printf("SENDING CLIENTS VIA NETWORK\n"); send_blob_attr_via_network(msg, "clients"); - printf("SEND CLIENTS FINISHED!\n"); - print_client_array(); print_ap_array(); From 804fc0ca8d484c5f22c9bda3d0e7d0331f608d92 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 12:10:28 +0100 Subject: [PATCH 41/50] try fix probe request --- src/utils/ubus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 04cbc78..732b1c6 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -420,7 +420,7 @@ static int handle_deauth_req(struct blob_attr *msg) { int handle_network_msg(char* msg) { - printf("HANDLING NETWORK MSG: %s\n"); + printf("HANDLING NETWORK MSG: %s\n", msg); struct blob_attr *tb[__NETWORK_MAX]; char *method; char *data; From 88152177d5fd468f351cc13cc0cf976db2c6eb8e Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 12:17:03 +0100 Subject: [PATCH 42/50] try fix probe request --- src/utils/ubus.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 732b1c6..6be7878 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -374,12 +374,13 @@ static int handle_assoc_req(struct blob_attr *msg) { static int handle_probe_req(struct blob_attr *msg) { //printf("[WC] Parse Probe Request\n"); probe_entry prob_req; - parse_to_probe_req(msg, &prob_req); + if(parse_to_probe_req(msg, &prob_req) == 0) + { + insert_to_array(prob_req, 1); + send_blob_attr_via_network(msg, "probe"); + } //insert_to_list(prob_req, 1); //probe_entry tmp_probe = - insert_to_array(prob_req, 1); - - send_blob_attr_via_network(msg, "probe"); // send probe via network /*char *str; @@ -525,7 +526,9 @@ static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, char *str; str = blobmsg_format_json(msg, true); printf("METHOD new: %s : %s\n", method, str); - free(str); + + //TODO CHECK IF FREE IS CORREECT! + //free(str); // TODO: Only handle probe request and NOT assoc, ... From e18f42ae4db9ee0224ed8cb80b5bd2e7e32b0a09 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 12:19:21 +0100 Subject: [PATCH 43/50] try fix probe request --- src/utils/ubus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 6be7878..4a256aa 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -377,6 +377,7 @@ static int handle_probe_req(struct blob_attr *msg) { if(parse_to_probe_req(msg, &prob_req) == 0) { insert_to_array(prob_req, 1); + print_probe_array(); send_blob_attr_via_network(msg, "probe"); } //insert_to_list(prob_req, 1); @@ -469,7 +470,7 @@ int handle_network_msg(char* msg) probe_entry entry; if(parse_to_probe_req(data_buf.head, &entry) == 0) { - probe_array_insert(entry); + insert_to_array(entry, 0); print_probe_array(); } } else if (strncmp(method, "clients", 5) == 0) { From 9377c5ab6322264828cb74c4769df7a6ab15824e Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 12:32:41 +0100 Subject: [PATCH 44/50] free string --- src/utils/ubus.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 4a256aa..b0d121e 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -24,6 +24,7 @@ static struct blob_buf b; static struct blob_buf b_send_network; static struct blob_buf network_buf; static struct blob_buf data_buf; +static struct blob_buf b_probe; @@ -529,7 +530,7 @@ static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, printf("METHOD new: %s : %s\n", method, str); //TODO CHECK IF FREE IS CORREECT! - //free(str); + free(str); // TODO: Only handle probe request and NOT assoc, ... @@ -740,14 +741,11 @@ int parse_to_clients(struct blob_attr *msg, int do_kick, uint32_t id) { if(!blob_data(msg)) { - printf("DATA IS NULL!!!\n"); return -1; } - printf("BLOB LEN: %d\n", blob_len(msg)); if(blob_len(msg) <= 0) { - printf("DATA IS NULL!!!\n"); return -1; } @@ -800,7 +798,6 @@ void update_clients(struct uloop_timeout *t) { } void update_hostapd_sockets(struct uloop_timeout *t) { - printf("Updating hostapd sockets!\n"); subscribe_to_hostapd_interfaces(hostapd_dir_glob); uloop_timeout_set(&hostapd_timer, timeout_config.update_hostapd * 1000); } @@ -865,18 +862,16 @@ int ubus_send_probe_via_network(struct probe_entry_s probe_entry) { printf("SENDING PROBE VIA NETWORK!\n"); - static struct blob_buf b; + blob_buf_init(&b_probe, 0); + blobmsg_add_macaddr(&b_probe, "bssid", probe_entry.bssid_addr); + blobmsg_add_macaddr(&b_probe, "address", probe_entry.client_addr); + blobmsg_add_macaddr(&b_probe, "target", probe_entry.target_addr); + blobmsg_add_u32(&b_probe, "signal", probe_entry.signal); + blobmsg_add_u32(&b_probe, "freq", probe_entry.freq); + blobmsg_add_u8(&b_probe, "ht_support", probe_entry.ht_support); + blobmsg_add_u8(&b_probe, "vht_support", probe_entry.vht_support); - blob_buf_init(&b, 0); - blobmsg_add_macaddr(&b, "bssid", probe_entry.bssid_addr); - blobmsg_add_macaddr(&b, "address", probe_entry.client_addr); - blobmsg_add_macaddr(&b, "target", probe_entry.target_addr); - blobmsg_add_u32(&b, "signal", probe_entry.signal); - blobmsg_add_u32(&b, "freq", probe_entry.freq); - blobmsg_add_u8(&b, "ht_support", probe_entry.ht_support); - blobmsg_add_u8(&b, "vht_support", probe_entry.vht_support); - - send_blob_attr_via_network(b.head, "probe"); + send_blob_attr_via_network(b_probe.head, "probe"); return 0; } \ No newline at end of file From 155180692cb5b95eadcd31454d77ad3cc38d8380 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 19:51:43 +0100 Subject: [PATCH 45/50] remove prints --- src/storage/datastorage.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/storage/datastorage.c b/src/storage/datastorage.c index a80cccf..4126702 100644 --- a/src/storage/datastorage.c +++ b/src/storage/datastorage.c @@ -83,7 +83,7 @@ int eval_probe_metric(struct probe_entry_s probe_entry) { score += (probe_entry.signal >= dawn_metric.rssi_val) ? dawn_metric.rssi : 0; score += (probe_entry.signal <= dawn_metric.low_rssi_val) ? dawn_metric.low_rssi : 0; - printf("SCORE: %d\n", score); + printf("SCORE: %d of:\n", score); print_probe_entry(probe_entry); return score; @@ -481,9 +481,6 @@ ap ap_array_get_ap(uint8_t bssid_addr[]) { char bssid_mac_string[20]; sprintf(bssid_mac_string, MACSTR, MAC2STR(bssid_addr)); - printf("Try to find: %s\n", bssid_mac_string); - printf("in\n"); - print_ap_array(); if (ap_entry_last == -1) { return ret; From 3fc9dc41d7da33c4b0f623a814d97223d698b2f0 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 20:03:43 +0100 Subject: [PATCH 46/50] remove probe --- src/network/networksocket.c | 2 +- src/utils/ubus.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/network/networksocket.c b/src/network/networksocket.c index 3f5962f..7cf5f12 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -149,7 +149,7 @@ void *receive_msg_enc(void *args) { char *dec = gcrypt_decrypt_msg(base64_dec_str, base64_dec_length); - printf("NETRWORK RECEIVED: %s\n", dec); + //printf("NETRWORK RECEIVED: %s\n", dec); free(base64_dec_str); handle_network_msg(dec); diff --git a/src/utils/ubus.c b/src/utils/ubus.c index b0d121e..f5cfa97 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -447,27 +447,27 @@ int handle_network_msg(char* msg) blobmsg_add_json_from_string(&data_buf, data); - printf("DO STRINGCOMPARE: %s : %s!\n", method, data); + //printf("DO STRINGCOMPARE: %s : %s!\n", method, data); if(!data_buf.head) { - printf("NULL?!\n"); + //printf("NULL?!\n"); return -1; } if(blob_len(data_buf.head) <= 0) { - printf("NULL?!\n"); + //printf("NULL?!\n"); return -1; } if(strlen(method) < 5) { - printf("STRING IS LESS THAN 5!\n"); + //printf("STRING IS LESS THAN 5!\n"); return -1; } if (strncmp(method, "probe", 5) == 0) { - printf("METHOD PROBE\n"); + //printf("METHOD PROBE\n"); probe_entry entry; if(parse_to_probe_req(data_buf.head, &entry) == 0) { @@ -475,8 +475,8 @@ int handle_network_msg(char* msg) print_probe_array(); } } else if (strncmp(method, "clients", 5) == 0) { - printf("METHOD CLIENTS\n"); - printf("PARSING CLIENTS NETWORK MSG!\n"); + //printf("METHOD CLIENTS\n"); + //printf("PARSING CLIENTS NETWORK MSG!\n"); parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { printf("METHOD DEAUTH\n"); @@ -494,7 +494,7 @@ int handle_network_msg(char* msg) } //free(method); //free(data); - printf("HANDLING FINISHED NETWORK MSG!\n"); + //printf("HANDLING FINISHED NETWORK MSG!\n"); return 0; } From 14c992118fd1e1c6b8d7065f5fac2822d2a46ef6 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 20:05:35 +0100 Subject: [PATCH 47/50] remove prints --- src/network/networksocket.c | 2 +- src/utils/ubus.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/network/networksocket.c b/src/network/networksocket.c index 7cf5f12..3f0a003 100644 --- a/src/network/networksocket.c +++ b/src/network/networksocket.c @@ -186,7 +186,7 @@ int send_string(char *msg) { int send_string_enc(char *msg) { pthread_mutex_lock(&send_mutex); - printf("Sending string: %s\n", msg); + //printf("Sending string: %s\n", msg); size_t msglen = strlen(msg); diff --git a/src/utils/ubus.c b/src/utils/ubus.c index f5cfa97..281fa08 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -423,7 +423,7 @@ static int handle_deauth_req(struct blob_attr *msg) { int handle_network_msg(char* msg) { - printf("HANDLING NETWORK MSG: %s\n", msg); + //printf("HANDLING NETWORK MSG: %s\n", msg); struct blob_attr *tb[__NETWORK_MAX]; char *method; char *data; From 5f0221d08b011ae8b40d9e357a1ef8204fd757fd Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Wed, 13 Dec 2017 20:06:53 +0100 Subject: [PATCH 48/50] remove prints --- src/utils/ubus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 281fa08..a46e0a9 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -527,7 +527,7 @@ static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, struct blob_attr *msg) { char *str; str = blobmsg_format_json(msg, true); - printf("METHOD new: %s : %s\n", method, str); + //printf("METHOD new: %s : %s\n", method, str); //TODO CHECK IF FREE IS CORREECT! free(str); From 6e1de11914904ebd3caaddd8ec3d24eb873abdde Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Thu, 14 Dec 2017 00:59:57 +0100 Subject: [PATCH 49/50] add print --- src/utils/ubus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index a46e0a9..281fa08 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -527,7 +527,7 @@ static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, struct blob_attr *msg) { char *str; str = blobmsg_format_json(msg, true); - //printf("METHOD new: %s : %s\n", method, str); + printf("METHOD new: %s : %s\n", method, str); //TODO CHECK IF FREE IS CORREECT! free(str); From d137ec51177b11a1e68017e8c006fe7f7bdd2731 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Fri, 22 Dec 2017 19:07:43 +0100 Subject: [PATCH 50/50] handle deauth correctly --- src/utils/ubus.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 6151a53..5645f3d 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -493,6 +493,7 @@ int handle_network_msg(char* msg) parse_to_clients(data_buf.head, 0, 0); } else if (strncmp(method, "deauth", 5) == 0) { printf("METHOD DEAUTH\n"); + handle_deauth_req(data_buf.head); /* hostapd_notify_entry entry; parse_to_hostapd_notify(data_buf.head, &entry); @@ -555,6 +556,7 @@ static int hostapd_notify(struct ubus_context *ctx, struct ubus_object *obj, } else if (strncmp(method, "assoc", 5) == 0) { return handle_assoc_req(msg); } else if (strncmp(method, "deauth", 6) == 0) { + send_blob_attr_via_network(msg, "deauth"); return handle_deauth_req(msg); } return 0;