diff --git a/inc/context.h b/inc/context.h index bb348b9..05d08c8 100644 --- a/inc/context.h +++ b/inc/context.h @@ -2,8 +2,9 @@ #include #include /* for offsetof() macro */ #include - +#include typedef struct { uint64_t query_counter; + TS_RESP_CTX *resp_ctx; } rfc3161_context; diff --git a/inc/http.h b/inc/http.h index 6939b25..533f23e 100644 --- a/inc/http.h +++ b/inc/http.h @@ -1,3 +1,4 @@ -#include "context.h" +#include "utils.h" +#include "rfc3161.h" int http_server_start(); diff --git a/inc/rfc3161.h b/inc/rfc3161.h index 1ef5af5..02696bf 100644 --- a/inc/rfc3161.h +++ b/inc/rfc3161.h @@ -3,7 +3,6 @@ #include #include #include -#include "utils.h" #include #include #include diff --git a/inc/utils.h b/inc/utils.h index 573af20..2ea144a 100644 --- a/inc/utils.h +++ b/inc/utils.h @@ -1,2 +1,4 @@ +#include "context.h" + void skeleton_daemon(); -void logger(int priority, char *fmt, ...); +void logger(rfc3161_context *ct, int priority, char *fmt, ...); diff --git a/src/cmd/uts-server.c b/src/cmd/uts-server.c index 52e38bd..fc8291f 100644 --- a/src/cmd/uts-server.c +++ b/src/cmd/uts-server.c @@ -6,7 +6,6 @@ #include #include #include -#include "utils.h" #include "rfc3161.h" #include "http.h" diff --git a/src/lib/http.c b/src/lib/http.c index 39779a9..37da1c4 100644 --- a/src/lib/http.c +++ b/src/lib/http.c @@ -12,41 +12,38 @@ #include #include #include -#include "utils.h" -#include "context.h" -#include "rfc3161.h" +#include "http.h" void log_request_debug(const struct mg_request_info *request_info, - int request_id) { + int request_id, void *context) { for (int i = 0; i < request_info->num_headers; i++) { - logger(LOG_DEBUG, "Request[%d], Header[%s]: %s\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], Header[%s]: %s\n", request_id, request_info->http_headers[i].name, request_info->http_headers[i].value); } - logger(LOG_DEBUG, "Request[%d], request_method: %s\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], request_method: %s\n", request_id, request_info->request_method); - logger(LOG_DEBUG, "Request[%d], request_uri: %s\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], request_uri: %s\n", request_id, request_info->request_uri); - logger(LOG_DEBUG, "Request[%d], local_uri: %s\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], local_uri: %s\n", request_id, request_info->local_uri); - logger(LOG_DEBUG, "Request[%d], http_version: %s\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], http_version: %s\n", request_id, request_info->http_version); - logger(LOG_DEBUG, "Request[%d], query_string: %s\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], query_string: %s\n", request_id, request_info->query_string); - logger(LOG_DEBUG, "Request[%d], remote_addr: %s\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], remote_addr: %s\n", request_id, request_info->remote_addr); - logger(LOG_DEBUG, "Request[%d], is_ssl: %d\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], is_ssl: %d\n", request_id, request_info->is_ssl); - logger(LOG_DEBUG, "Request[%d], content_length: %d\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], content_length: %d\n", request_id, request_info->content_length); - logger(LOG_DEBUG, "Request[%d], remote_port: %d\n", request_id, + logger(context, LOG_DEBUG, "Request[%d], remote_port: %d\n", request_id, request_info->remote_port); } // This function will be called by civetweb on every new request. static int begin_request_handler(struct mg_connection *conn) { const struct mg_request_info *request_info = mg_get_request_info(conn); - log_request_debug(request_info, 0); mg_printf(conn, "HTTP/1.1 200 OK\r\n" @@ -65,7 +62,9 @@ int rfc3161_handler(struct mg_connection *conn, void *context) { const struct mg_request_info *request_info = mg_get_request_info(conn); rfc3161_context *ct = (rfc3161_context *)context; int ret; - log_request_debug(request_info, ct->query_counter); + ct->query_counter++; + uint64_t query_id = ct->query_counter; + log_request_debug(request_info, query_id, ct); bool is_tsq = 0; @@ -98,8 +97,6 @@ int rfc3161_handler(struct mg_connection *conn, void *context) { "uts-server, a simple RFC 3161 timestamp server"); } - ct->query_counter++; - return 1; } diff --git a/src/lib/utils.c b/src/lib/utils.c index 7b3e61d..40f88dc 100644 --- a/src/lib/utils.c +++ b/src/lib/utils.c @@ -5,8 +5,8 @@ #include #include #include -#include "utils.h" #include +#include "context.h" void skeleton_daemon() { pid_t pid; @@ -59,7 +59,7 @@ void skeleton_daemon() { openlog("firstdaemon", LOG_PID, LOG_DAEMON); } -void logger(int priority, char *fmt, ...) { +void logger(rfc3161_context *ct, int priority, char *fmt, ...) { FILE *stream; char *out; size_t len;