diff --git a/api.c b/api.c index 02d123c2..e17b9fcd 100644 --- a/api.c +++ b/api.c @@ -418,8 +418,8 @@ void getTopClients(char *client_message, int *sock) if(strcmp(getstr(clients[j].ippos), HIDDEN_CLIENT) == 0) continue; - char *client_ip = getstr(clients[j].ippos); - char *client_name = getstr(clients[j].namepos); + const char *client_ip = getstr(clients[j].ippos); + const char *client_name = getstr(clients[j].namepos); // Return this client if either // - "withzero" option is set, and/or @@ -450,12 +450,12 @@ void getTopClients(char *client_message, int *sock) void getForwardDestinations(char *client_message, int *sock) { bool sort = true; - int i, temparray[counters->forwarded][2], totalqueries = 0; + int temparray[counters->forwarded][2], totalqueries = 0; if(command(client_message, "unsorted")) sort = false; - for(i=0; i < counters->forwarded; i++) { + for(int i = 0; i < counters->forwarded; i++) { validate_access("forwarded", i, true, __LINE__, __FUNCTION__, __FILE__); // If we want to print a sorted output, we fill the temporary array with // the values we will use for sorting afterwards @@ -474,10 +474,10 @@ void getForwardDestinations(char *client_message, int *sock) totalqueries = counters->forwardedqueries + counters->cached + counters->blocked; // Loop over available forward destinations - for(i=-2; i < min(counters->forwarded, 8); i++) + for(int i = -2; i < min(counters->forwarded, 8); i++) { - char *ip, *name; float percentage = 0.0f; + const char* ip, *name; if(i == -2) { @@ -797,9 +797,9 @@ void getAllQueries(char *client_message, int *sock) // Ask subroutine for domain. It may return "hidden" depending on // the privacy settings at the time the query was made - char *domain = getDomainString(i); + const char *domain = getDomainString(i); // Similarly for the client - char *client; + const char *client; if(strlen(getstr(clients[queries[i].clientID].namepos)) > 0) client = getClientNameString(i); else @@ -844,7 +844,7 @@ void getAllQueries(char *client_message, int *sock) void getRecentBlocked(char *client_message, int *sock) { - int i, num=1; + int num=1; // Test for integer that specifies number of entries to be shown if(sscanf(client_message, "%*[^(](%i)", &num) > 0) { @@ -855,7 +855,7 @@ void getRecentBlocked(char *client_message, int *sock) // Find most recently blocked query int found = 0; - for(i = counters->queries - 1; i > 0 ; i--) + for(int i = counters->queries - 1; i > 0 ; i--) { validate_access("queries", i, true, __LINE__, __FUNCTION__, __FILE__); @@ -867,7 +867,7 @@ void getRecentBlocked(char *client_message, int *sock) // Ask subroutine for domain. It may return "hidden" depending on // the privacy settings at the time the query was made - char *domain = getDomainString(i); + const char *domain = getDomainString(i); if(istelnet[*sock]) ssend(*sock,"%s\n", domain); @@ -1135,8 +1135,8 @@ void getClientNames(int *sock) if(skipclient[i]) continue; - char *client_ip = getstr(clients[i].ippos); - char *client_name = getstr(clients[i].namepos); + const char *client_ip = getstr(clients[i].ippos); + const char *client_name = getstr(clients[i].namepos); if(istelnet[*sock]) ssend(*sock, "%s %s\n", client_name, client_ip); @@ -1177,7 +1177,7 @@ void getUnknownQueries(int *sock) validate_access("clients", queries[i].clientID, true, __LINE__, __FUNCTION__, __FILE__); - char *client = getstr(clients[queries[i].clientID].ippos); + const char *client = getstr(clients[queries[i].clientID].ippos); if(istelnet[*sock]) ssend(*sock, "%li %i %i %s %s %s %i %s\n", queries[i].timestamp, i, queries[i].id, type, getstr(domains[queries[i].domainID].domainpos), client, queries[i].status, queries[i].complete ? "true" : "false"); diff --git a/api.h b/api.h index 1e2245ea..5c8b8473 100644 --- a/api.h +++ b/api.h @@ -39,6 +39,6 @@ void pack_uint64(int sock, uint64_t value); void pack_int32(int sock, int32_t value); void pack_int64(int sock, int64_t value); void pack_float(int sock, float value); -bool pack_fixstr(int sock, char *string); -bool pack_str32(int sock, char *string); +bool pack_fixstr(int sock, const char *string); +bool pack_str32(int sock, const char *string); void pack_map16_start(int sock, uint16_t length); diff --git a/database.c b/database.c index 89fe0dc8..4dd16307 100644 --- a/database.c +++ b/database.c @@ -490,11 +490,11 @@ void save_to_DB(void) sqlite3_bind_int(stmt, 3, queries[i].status); // DOMAIN - char *domain = getDomainString(i); + const char *domain = getDomainString(i); sqlite3_bind_text(stmt, 4, domain, -1, SQLITE_TRANSIENT); // CLIENT - char *client = getClientIPString(i); + const char *client = getClientIPString(i); sqlite3_bind_text(stmt, 5, client, -1, SQLITE_TRANSIENT); // FORWARD diff --git a/datastructure.c b/datastructure.c index 67b5d705..429fc3b3 100644 --- a/datastructure.c +++ b/datastructure.c @@ -181,7 +181,7 @@ bool isValidIPv6(const char *addr) // Privacy-level sensitive subroutine that returns the domain name // only when appropriate for the requested query -char *getDomainString(int queryID) +const char *getDomainString(int queryID) { if(queries[queryID].privacylevel < PRIVACY_HIDE_DOMAINS) { @@ -194,7 +194,7 @@ char *getDomainString(int queryID) // Privacy-level sensitive subroutine that returns the client IP // only when appropriate for the requested query -char *getClientIPString(int queryID) +const char *getClientIPString(int queryID) { if(queries[queryID].privacylevel < PRIVACY_HIDE_DOMAINS_CLIENTS) { @@ -207,7 +207,7 @@ char *getClientIPString(int queryID) // Privacy-level sensitive subroutine that returns the client host name // only when appropriate for the requested query -char *getClientNameString(int queryID) +const char *getClientNameString(int queryID) { if(queries[queryID].privacylevel < PRIVACY_HIDE_DOMAINS_CLIENTS) { diff --git a/msgpack.c b/msgpack.c index 536749e8..7a9f91c4 100644 --- a/msgpack.c +++ b/msgpack.c @@ -75,7 +75,7 @@ void pack_float(int sock, float value) { } // Return true if successful -bool pack_fixstr(int sock, char *string) { +bool pack_fixstr(int sock, const char *string) { // Make sure that the length is less than 32 size_t length = strlen(string); @@ -86,13 +86,13 @@ bool pack_fixstr(int sock, char *string) { uint8_t format = (uint8_t) (0xA0 | length); swrite(sock, &format, sizeof(format)); - swrite(sock, string, length); + swrite(sock, (char*)string, length); return true; } // Return true if successful -bool pack_str32(int sock, char *string) { +bool pack_str32(int sock, const char *string) { // Make sure that the length is less than 4294967296 size_t length = strlen(string); @@ -105,7 +105,7 @@ bool pack_str32(int sock, char *string) { swrite(sock, &format, sizeof(format)); uint32_t bigELength = htonl((uint32_t) length); swrite(sock, &bigELength, sizeof(bigELength)); - swrite(sock, string, length); + swrite(sock, (char*)string, length); return true; } diff --git a/networktable.c b/networktable.c index d3b8b2b6..5d47f4f0 100644 --- a/networktable.c +++ b/networktable.c @@ -123,7 +123,7 @@ void parse_arp_cache(void) bool clientKnown = clientID >= 0; // Get hostname of this client if the client is known - char *hostname = ""; + const char *hostname = ""; if(clientKnown) { validate_access("clients", clientID, true, __LINE__, __FUNCTION__, __FILE__); diff --git a/routines.h b/routines.h index facea50c..35999889 100644 --- a/routines.h +++ b/routines.h @@ -30,9 +30,9 @@ int findDomainID(const char *domain); int findClientID(const char *client, bool addNew); bool isValidIPv4(const char *addr); bool isValidIPv6(const char *addr); -char *getDomainString(int queryID); -char *getClientIPString(int queryID); -char *getClientNameString(int queryID); +const char *getDomainString(int queryID); +const char *getClientIPString(int queryID); +const char *getClientNameString(int queryID); void close_telnet_socket(void); void close_unix_socket(void); @@ -57,10 +57,10 @@ void check_blocking_status(void); void check_setupVarsconf(void); char * read_setupVarsconf(const char * key); -void getSetupVarsArray(char * input); +void getSetupVarsArray(const char * input); void clearSetupVarsArray(void); -bool insetupVarsArray(char * str); -bool getSetupVarsBool(char * input) __attribute__((pure)); +bool insetupVarsArray(const char * str); +bool getSetupVarsBool(const char * input) __attribute__((pure)); void parse_args(int argc, char* argv[]); @@ -118,7 +118,7 @@ bool in_whitelist(char *domain) __attribute__((pure)); bool init_shmem(void); void destroy_shmem(void); unsigned long long addstr(const char *str); -char *getstr(unsigned long long pos); +const char *getstr(unsigned long long pos); void *enlarge_shmem_struct(char type); /** diff --git a/setupVars.c b/setupVars.c index 1cc9318c..0cc92534 100644 --- a/setupVars.c +++ b/setupVars.c @@ -133,9 +133,9 @@ char * read_setupVarsconf(const char * key) // setupVarsArray[1] = def // setupVarsArray[2] = ghi // setupVarsArray[3] = NULL -void getSetupVarsArray(char * input) +void getSetupVarsArray(const char * input) { - char * p = strtok(input, ","); + char * p = strtok((char*)input, ","); /* split string and append tokens to 'res' */ @@ -182,16 +182,15 @@ void clearSetupVarsArray(void) clearSetupVarsArray(); */ -bool insetupVarsArray(char * str) +bool insetupVarsArray(const char * str) { - int i; // Check for possible NULL pointer // (this is valid input, e.g. if clients[i].name is unspecified) if(str == NULL) return false; // Loop over all entries in setupVarsArray - for (i = 0; i < setupVarsElements; ++i) + for (int i = 0; i < setupVarsElements; ++i) if(setupVarsArray[i][0] == '*') { // Copying strlen-1 chars into buffer of size strlen: OK @@ -221,7 +220,7 @@ bool insetupVarsArray(char * str) return false; } -bool __attribute__((pure)) getSetupVarsBool(char * input) +bool __attribute__((pure)) getSetupVarsBool(const char * input) { if((strcmp(input, "true")) == 0) return true; diff --git a/shmem.c b/shmem.c index 095a9074..e1dd69c9 100644 --- a/shmem.c +++ b/shmem.c @@ -90,11 +90,11 @@ unsigned long long addstr(const char *str) return (shmSettings->next_str_pos - (len + 1)); } -char *getstr(unsigned long long pos) +const char *getstr(unsigned long long pos) { // Only access the string memory if this memory region has already been set if(pos < shmSettings->next_str_pos) - return &((char*)shm_strings.ptr)[pos]; + return &((const char*)shm_strings.ptr)[pos]; else { logg("WARN: Tried to access %llu but next_str_pos is %u", pos, shmSettings->next_str_pos);