| 1 | diff --git a/src/centralserver.c b/src/centralserver.c |
|---|
| 2 | index 50edf2a..e18bd67 100644 |
|---|
| 3 | --- a/src/centralserver.c |
|---|
| 4 | +++ b/src/centralserver.c |
|---|
| 5 | @@ -69,6 +69,7 @@ auth_server_request(t_authresponse *authresponse, const char *request_type, cons |
|---|
| 6 | size_t totalbytes; |
|---|
| 7 | char buf[MAX_BUF]; |
|---|
| 8 | char *tmp; |
|---|
| 9 | + char *safe_token; |
|---|
| 10 | int done, nfds; |
|---|
| 11 | fd_set readfds; |
|---|
| 12 | struct timeval timeout; |
|---|
| 13 | @@ -89,6 +90,7 @@ auth_server_request(t_authresponse *authresponse, const char *request_type, cons |
|---|
| 14 | * everywhere. |
|---|
| 15 | */ |
|---|
| 16 | memset(buf, 0, sizeof(buf)); |
|---|
| 17 | + safe_token=httpdUrlEncode(token); |
|---|
| 18 | snprintf(buf, (sizeof(buf) - 1), |
|---|
| 19 | "GET %s%sstage=%s&ip=%s&mac=%s&token=%s&incoming=%llu&outgoing=%llu&gw_id=%s HTTP/1.0\r\n" |
|---|
| 20 | "User-Agent: WiFiDog %s\r\n" |
|---|
| 21 | @@ -99,7 +101,7 @@ auth_server_request(t_authresponse *authresponse, const char *request_type, cons |
|---|
| 22 | request_type, |
|---|
| 23 | ip, |
|---|
| 24 | mac, |
|---|
| 25 | - token, |
|---|
| 26 | + safe_token, |
|---|
| 27 | incoming, |
|---|
| 28 | outgoing, |
|---|
| 29 | config_get_config()->gw_id, |
|---|
| 30 | @@ -107,6 +109,8 @@ auth_server_request(t_authresponse *authresponse, const char *request_type, cons |
|---|
| 31 | auth_server->authserv_hostname |
|---|
| 32 | ); |
|---|
| 33 | |
|---|
| 34 | + free(safe_token); |
|---|
| 35 | + |
|---|
| 36 | debug(LOG_DEBUG, "Sending HTTP request to auth server: [%s]\n", buf); |
|---|
| 37 | send(sockfd, buf, strlen(buf), 0); |
|---|
| 38 | |
|---|