diff --git a/src/client.c b/src/client.c index aaca719..e8cbc60 100644 --- a/src/client.c +++ b/src/client.c @@ -726,8 +726,8 @@ int client_connection_handler(client_ctx_t *ctx, sock *client, unsigned long cli clock_gettime(CLOCK_MONOTONIC, &begin); - if (dns_server[0] != 0) { - sprintf(buf, "dig @%s +short +time=1 -x %s", dns_server, ctx->addr); + if (config.dns_server[0] != 0) { + sprintf(buf, "dig @%s +short +time=1 -x %s", config.dns_server, ctx->addr); FILE *dig = popen(buf, "r"); if (dig == NULL) { error("Unable to start dig: %s", strerror(errno)); diff --git a/src/lib/config.c b/src/lib/config.c index 3681b8d..25073d1 100644 --- a/src/lib/config.c +++ b/src/lib/config.c @@ -14,7 +14,6 @@ #include config_t config; -char geoip_dir[256], dns_server[256]; int config_load(const char *filename) { FILE *file = fopen(filename, "r"); @@ -77,10 +76,10 @@ int config_load(const char *filename) { } else if (section == 0) { if (len > 10 && strncmp(ptr, "geoip_dir", 9) == 0 && (ptr[9] == ' ' || ptr[9] == '\t')) { source = ptr + 9; - target = geoip_dir; + target = config.geoip_dir; } else if (len > 11 && strncmp(ptr, "dns_server", 10) == 0 && (ptr[10] == ' ' || ptr[10] == '\t')) { source = ptr + 10; - target = dns_server; + target = config.dns_server; } else { goto err; } diff --git a/src/lib/config.h b/src/lib/config.h index b423775..a34c059 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -52,10 +52,11 @@ typedef struct { typedef struct { host_config_t hosts[CONFIG_MAX_HOST_CONFIG]; cert_config_t certs[CONFIG_MAX_CERT_CONFIG]; + char geoip_dir[256]; + char dns_server[256]; } config_t; extern config_t config; -extern char geoip_dir[256], dns_server[256]; int config_load(const char *filename); diff --git a/src/lib/proxy.h b/src/lib/proxy.h index 0009412..99245b4 100644 --- a/src/lib/proxy.h +++ b/src/lib/proxy.h @@ -15,7 +15,7 @@ #define PROXY_COMPRESS 6 #ifndef SERVER_NAME -# define SERVER_NAME "revproxy" +# define SERVER_NAME "reverse proxy" #endif #include "http.h" diff --git a/src/logger.c b/src/logger.c index 5e5a2df..7aa0b66 100644 --- a/src/logger.c +++ b/src/logger.c @@ -20,9 +20,11 @@ #define LOG_MAX_MSG_SIZE 2048 #define LOG_BUF_SIZE 16 -#define LOG_NAME_LEN 8 +#define LOG_NAME_LEN 12 #define LOG_PREFIX_LEN 256 +#define LOG_PREFIX "[%-8s][%-6s]" + typedef struct { log_lvl_t lvl; char name[LOG_NAME_LEN]; @@ -58,7 +60,7 @@ static const char *level_keywords[] = { static void err(const char *restrict msg) { char err_buf[64]; strerror_r(errno, err_buf, sizeof(err_buf)); - fprintf(stderr, ERR_STR "[logger][%6s] %s: %s" CLR_STR "\n", level_keywords[LOG_CRITICAL], msg, err_buf); + fprintf(stderr, ERR_STR LOG_PREFIX " %s: %s" CLR_STR "\n", "logger", level_keywords[LOG_CRITICAL], msg, err_buf); } void logmsgf(log_lvl_t level, const char *restrict format, ...) { @@ -83,7 +85,7 @@ void logmsgf(log_lvl_t level, const char *restrict format, ...) { if (!logger_alive) { // no logger thread running // simply write to stdout without synchronization - printf("%s[%-6s][%-6s]%s%s ", color, (name != NULL) ? (char *) name : "", level_keywords[level], CLR_STR, (prefix != NULL) ? (char *) prefix : ""); + printf("%s" LOG_PREFIX "%s%s ", color, (name != NULL) ? (char *) name : "", level_keywords[level], CLR_STR, (prefix != NULL) ? (char *) prefix : ""); vprintf(buf, args); printf("\n"); } else { @@ -212,7 +214,7 @@ static void *logger_thread(void *arg) { log_msg_t *msg = &buffer.msgs[buffer.wr]; buffer.wr = (buffer.wr + 1) % LOG_BUF_SIZE; - printf("%s[%-6s][%-6s]%s%s %s\n", + printf("%s" LOG_PREFIX "%s%s %s\n", (msg->lvl <= LOG_ERROR) ? ERR_STR : ((msg->lvl <= LOG_WARNING) ? WRN_STR : ""), (msg->name[0] != 0) ? (char *) msg->name : "", level_keywords[msg->lvl], CLR_STR, (msg->prefix[0] != 0) ? (char *) msg->prefix : "", msg->txt); diff --git a/src/server.c b/src/server.c index f2be73c..a185145 100644 --- a/src/server.c +++ b/src/server.c @@ -200,7 +200,7 @@ int main(int argc, char *const argv[]) { signal(SIGINT, terminate_gracefully); signal(SIGTERM, terminate_gracefully); - if ((ret = geoip_init(geoip_dir)) != 0) { + if ((ret = geoip_init(config.geoip_dir)) != 0) { if (ret == -1) { critical("Unable to initialize geoip"); }