diff --git a/dongle_network.c b/dongle_network.c index d0a183d927626ef7fc625e7c92e1af6cd5f996ce..b2568bd0113cd61d5781de01d1737dfec1a571be 100644 --- a/dongle_network.c +++ b/dongle_network.c @@ -26,7 +26,6 @@ int get_signal_strength(struct ubus_context *ctx, struct ubus_object *obj, ip_addr = (char *)blobmsg_data(tb[IP]); response = mobile_get_rssi(ip_addr); - if (!response) goto fail_unknown; @@ -51,8 +50,8 @@ int connect_network(struct ubus_context *ctx, struct ubus_object *obj, goto fail_argument; } ip_addr = (char *)blobmsg_data(tb[IP]); - response = mobile_connect_network(ip_addr); + response = mobile_connect_network(ip_addr); if (!response) goto fail_unknown; @@ -78,8 +77,8 @@ int disconnect(struct ubus_context *ctx, struct ubus_object *obj, goto fail_argument; } ip_addr = (char *)blobmsg_data(tb[IP]); - response = mobile_disconnect_network(ip_addr); + response = mobile_disconnect_network(ip_addr); if (!response) goto fail_unknown; diff --git a/libmobile.c b/libmobile.c index 6d530dcef00454af9a38be01b4997cef0f9cc598..aac4fc0a52dc7557199f27892c78c16cc0b59663 100644 --- a/libmobile.c +++ b/libmobile.c @@ -299,6 +299,7 @@ static struct json_object *prepare_request(char *ip_addr, char *query, int optio else if (option == GET) { query = get_query_wrapper(ip_addr, query); rv = perform_get_request(ip_addr, curl, query, &str); + free(query); } else goto fail_request; @@ -308,7 +309,6 @@ static struct json_object *prepare_request(char *ip_addr, char *query, int optio } if (!str.ptr) goto fail_ptr; - //debug_print("%s\n", str.ptr); parsed_response = json_tokener_parse(str.ptr); if (!parsed_response) { @@ -316,7 +316,6 @@ static struct json_object *prepare_request(char *ip_addr, char *query, int optio goto fail_json; } - free(query); curl_cleaner(curl); free(str.ptr); return parsed_response; @@ -380,12 +379,12 @@ finished: struct json_object *mobile_connect_network(char *ip_addr) { - return prepare_request(ip_addr, "isTest=false&goformId=CONNECT_NETWORK", POST); + return prepare_request(ip_addr, "isTest=false¬Callback=true&goformId=CONNECT_NETWORK", POST); } struct json_object *mobile_disconnect_network(char *ip_addr) { - return prepare_request(ip_addr, "isTest=false&goformId=DISCONNECT_NETWORK", POST); + return prepare_request(ip_addr, "isTest=false¬Callback=true&goformId=DISCONNECT_NETWORK", POST); } struct json_object *mobile_delete_apn(char *ip_addr, char *name) @@ -475,7 +474,7 @@ struct json_object *mobile_get_pin_status(char *ip_addr) struct json_object *mobile_get_rssi(char *ip_addr) { - return prepare_request(ip_addr, "rssi", GET); + return prepare_request(ip_addr, "lte_rssi", GET); } struct json_object *mobile_get_modem_state(char *ip_addr)