diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | https_response.h | 14 | ||||
-rw-r--r-- | https_server.h | 6 | ||||
-rw-r--r-- | https_server_structs.h | 4 | ||||
-rw-r--r-- | load_config.h | 24 | ||||
-rw-r--r-- | load_webhooks.h | 4 | ||||
-rw-r--r-- | log.h | 2 | ||||
-rw-r--r-- | socket_init.h | 2 |
8 files changed, 30 insertions, 30 deletions
@@ -6,7 +6,7 @@ MAX_HEADER_LENGTH=32767 MAX_CONTENT_LENGTH=524288 rel: - $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -Wall -pedantic-errors -Werror cwebhook.c -o cwebhook -lssl -lcrypto -lcjson + $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -fPIE -Wall -pedantic-errors -Werror cwebhook.c -o cwebhook -lssl -lcrypto -lcjson debug: - $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -Wall -pedantic-errors -Werror -ggdb cwebhook.c -o cwebhook -lssl -lcrypto -lcjson + $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -fPIE -Wall -pedantic-errors -Werror -ggdb cwebhook.c -o cwebhook -lssl -lcrypto -lcjson diff --git a/https_response.h b/https_response.h index 58be84b..ce17197 100644 --- a/https_response.h +++ b/https_response.h @@ -19,28 +19,28 @@ int send_response( server_socket_t *sdata, server_config_t *scf, webhooks_data_t clear_request_copy( hdata ); clear_request_data( hdata ); log_write( scf, lfd, "Error: failed to read headers" ); - if ( (long long int)SSL_write(sdata->tls_session, HTTP_ERROR_HEADERS, (size_t)strlen(HTTP_ERROR_HEADERS)) <= 0 ) + if ( (int64_t)SSL_write(sdata->tls_session, HTTP_ERROR_HEADERS, (size_t)strlen(HTTP_ERROR_HEADERS)) <= 0 ) return RES_FAILED; return RES_SUCCESS; } if ( strcmp((const char*)hdata->request_method, "GET") != 0 && strcmp((const char*)hdata->request_method, "POST") != 0 ){ clear_request_copy( hdata ); clear_request_data( hdata ); - if ( (long long int)SSL_write(sdata->tls_session, HTTP_DISALLOWED_METHOD, (size_t)strlen(HTTP_DISALLOWED_METHOD)) <= 0 ) + if ( (int64_t)SSL_write(sdata->tls_session, HTTP_DISALLOWED_METHOD, (size_t)strlen(HTTP_DISALLOWED_METHOD)) <= 0 ) return RES_FAILED; return RES_SUCCESS; } if ( hdata->request_body == NULL || (uint64_t)strlen(hdata->request_body) <= 0 ){ clear_request_copy( hdata ); clear_request_data( hdata ); - if ( (long long int)SSL_write(sdata->tls_session, HTTP_UNAUTHORIZED, (size_t)strlen(HTTP_UNAUTHORIZED)) <= 0 ) + if ( (int64_t)SSL_write(sdata->tls_session, HTTP_UNAUTHORIZED, (size_t)strlen(HTTP_UNAUTHORIZED)) <= 0 ) return RES_FAILED; return RES_UNAUTHORIZED; } if ( check_password(hdata->request_body, scf->server_password->valuestring) != AUTH_SUCCESS ){ clear_request_copy( hdata ); clear_request_data( hdata ); - if ( (long long int)SSL_write(sdata->tls_session, HTTP_UNAUTHORIZED, (size_t)strlen(HTTP_UNAUTHORIZED)) <= 0 ) + if ( (int64_t)SSL_write(sdata->tls_session, HTTP_UNAUTHORIZED, (size_t)strlen(HTTP_UNAUTHORIZED)) <= 0 ) return RES_FAILED; return RES_UNAUTHORIZED; } @@ -51,7 +51,7 @@ int send_response( server_socket_t *sdata, server_config_t *scf, webhooks_data_t r_size = 0; free_wh_output( wdt ); wh_exec_res = NULL; - if ( (long long int)SSL_write(sdata->tls_session, HTTP_MEM_ALLOC_ERROR, (size_t)strlen(HTTP_MEM_ALLOC_ERROR)) <= 0 ) + if ( (int64_t)SSL_write(sdata->tls_session, HTTP_MEM_ALLOC_ERROR, (size_t)strlen(HTTP_MEM_ALLOC_ERROR)) <= 0 ) return RES_FAILED; return RES_SUCCESS; } @@ -60,11 +60,11 @@ int send_response( server_socket_t *sdata, server_config_t *scf, webhooks_data_t r_size = 0; free_wh_output( wdt ); wh_exec_res = NULL; - if ( (long long int)SSL_write(sdata->tls_session, HTTP_MEM_WRITE_ERROR, (size_t)strlen(HTTP_MEM_WRITE_ERROR)) <= 0 ) + if ( (int64_t)SSL_write(sdata->tls_session, HTTP_MEM_WRITE_ERROR, (size_t)strlen(HTTP_MEM_WRITE_ERROR)) <= 0 ) return RES_FAILED; return RES_SUCCESS; } - if ( (long long int)SSL_write(sdata->tls_session, sdata->send_buffer, r_size) <= 0 ){ + if ( (int64_t)SSL_write(sdata->tls_session, sdata->send_buffer, r_size) <= 0 ){ free( sdata->send_buffer ); free_wh_output( wdt ); wh_exec_res = NULL; diff --git a/https_server.h b/https_server.h index 80fb77a..d7ec5e1 100644 --- a/https_server.h +++ b/https_server.h @@ -65,7 +65,7 @@ void https_server_event_loop( server_socket_t *sv, client_info_t *cl, server_con log_write( svcfg, logf, "Error: failed to allocate memory for reading amount of incoming data" ); continue; } - sv->recv_pending_bytes = (long long int)SSL_peek( sv->tls_session, sv->recv_peek, (long long int)MAX_PEEK_BYTES ); + sv->recv_pending_bytes = (int64_t)SSL_peek( sv->tls_session, sv->recv_peek, (int64_t)MAX_PEEK_BYTES ); if ( sv->recv_pending_bytes <= 0 || SSL_get_error(sv->tls_session, sv->recv_pending_bytes) != SSL_ERROR_NONE ){ free( sv->recv_peek ); sv->recv_peek = NULL; @@ -80,7 +80,7 @@ void https_server_event_loop( server_socket_t *sv, client_info_t *cl, server_con } free( sv->recv_peek ); sv->recv_peek = NULL; - if ( sv->recv_pending_bytes > (long long int)MAX_RECV_BYTES ){ + if ( sv->recv_pending_bytes > (int64_t)MAX_RECV_BYTES ){ SSL_shutdown( sv->tls_session ); shutdown( sv->client_socket_fd, SHUT_RDWR ); close( sv->client_socket_fd ); @@ -98,7 +98,7 @@ void https_server_event_loop( server_socket_t *sv, client_info_t *cl, server_con log_write( svcfg, logf, "Error: failed to allocate memory for received bytes" ); continue; } - sv->recv_read_bytes = (long long int)SSL_read( sv->tls_session, sv->recv_data, sv->recv_pending_bytes ); + sv->recv_read_bytes = (int64_t)SSL_read( sv->tls_session, sv->recv_data, sv->recv_pending_bytes ); if ( sv->recv_read_bytes > 0 && SSL_get_error(sv->tls_session, sv->recv_read_bytes) == SSL_ERROR_NONE ){ int res_status = send_response( sv, svcfg, wdata, http_req_data, logf ); if ( res_status == RES_SUCCESS ){ diff --git a/https_server_structs.h b/https_server_structs.h index 09b7074..e00db97 100644 --- a/https_server_structs.h +++ b/https_server_structs.h @@ -6,8 +6,8 @@ typedef struct server_socket{ struct pollfd pstruct[1]; SSL *tls_session; SSL_CTX *tls_context; - long long int recv_pending_bytes; - long long int recv_read_bytes; + int64_t recv_pending_bytes; + int64_t recv_read_bytes; char *recv_peek; char *recv_data; char *send_buffer; diff --git a/load_config.h b/load_config.h index 165c676..65f5e7f 100644 --- a/load_config.h +++ b/load_config.h @@ -4,41 +4,41 @@ #define CONFIG_PARSE_SUCCESS 0 #define CONFIG_PARSE_FAILED -1 -int parse_config( server_config_t *svconfig, long long int cfg_len ){ +int parse_config( server_config_t *svconfig, ssize_t cfg_len ){ if ( svconfig->config_contents == NULL || cfg_len <= 0 ) return CONFIG_PARSE_FAILED; svconfig->config_parsed = cJSON_ParseWithLength( svconfig->config_contents, (size_t)cfg_len ); if ( svconfig->config_parsed == NULL ) return CONFIG_PARSE_FAILED; svconfig->log_enabled = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "log_enabled" ); - if ( svconfig->log_enabled == NULL || (long long int)strlen(svconfig->log_enabled->valuestring) <= 0 ) + if ( svconfig->log_enabled == NULL || (int64_t)strlen(svconfig->log_enabled->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; svconfig->log_file = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "log_file" ); - if ( svconfig->log_file == NULL || (long long int)strlen(svconfig->log_file->valuestring) <= 0 ) + if ( svconfig->log_file == NULL || (int64_t)strlen(svconfig->log_file->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; svconfig->bind_address = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "bind_address" ); - if ( svconfig->bind_address == NULL || (long long int)strlen(svconfig->bind_address->valuestring) <= 0 ) + if ( svconfig->bind_address == NULL || (int64_t)strlen(svconfig->bind_address->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; svconfig->bind_port = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "bind_port" ); - if ( svconfig->bind_port == NULL || (long long int)strlen(svconfig->bind_port->valuestring) <= 0 ) + if ( svconfig->bind_port == NULL || (int64_t)strlen(svconfig->bind_port->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; svconfig->server_password = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "server_password" ); - if ( svconfig->server_password == NULL || (long long int)strlen(svconfig->server_password->valuestring) <= 0 ) + if ( svconfig->server_password == NULL || (int64_t)strlen(svconfig->server_password->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; svconfig->cert_file = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "cert_file" ); - if ( svconfig->cert_file == NULL || (long long int)strlen(svconfig->cert_file->valuestring) <= 0 ) + if ( svconfig->cert_file == NULL || (int64_t)strlen(svconfig->cert_file->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; svconfig->cert_key_file = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "cert_key_file" ); - if ( svconfig->cert_key_file == NULL || (long long int)strlen(svconfig->cert_key_file->valuestring) <= 0 ) + if ( svconfig->cert_key_file == NULL || (int64_t)strlen(svconfig->cert_key_file->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; svconfig->webhooks_file = cJSON_GetObjectItemCaseSensitive( svconfig->config_parsed, "webhooks_file" ); - if ( svconfig->webhooks_file == NULL || (long long int)strlen(svconfig->webhooks_file->valuestring) <= 0 ) + if ( svconfig->webhooks_file == NULL || (int64_t)strlen(svconfig->webhooks_file->valuestring) <= 0 ) return CONFIG_PARSE_FAILED; return CONFIG_PARSE_SUCCESS; } int load_config( char *config_file_name, server_config_t *sv_config ){ - if ( config_file_name == NULL || (long long int)strlen(config_file_name) <= 0 || strcmp((const char*)config_file_name, "") == 0 ) + if ( config_file_name == NULL || (int64_t)strlen(config_file_name) <= 0 || strcmp((const char*)config_file_name, "") == 0 ) return CONFIG_LOAD_FAILED; FILE *cfg_file = fopen( config_file_name, "r" ); if ( cfg_file == NULL ) @@ -47,7 +47,7 @@ int load_config( char *config_file_name, server_config_t *sv_config ){ fclose( cfg_file ); return CONFIG_LOAD_FAILED; } - long long int cfg_file_size = (long long int)ftell( cfg_file ); + ssize_t cfg_file_size = (ssize_t)ftell( cfg_file ); if ( cfg_file_size <= 0 ){ rewind( cfg_file ); fclose( cfg_file ); @@ -60,7 +60,7 @@ int load_config( char *config_file_name, server_config_t *sv_config ){ cfg_file_size = 0; return CONFIG_LOAD_FAILED; } - if ( (long long int)fread(sv_config->config_contents, sizeof(char), (size_t)(cfg_file_size * sizeof(char)), cfg_file) == (long long int)-1 ){ + if ( (int64_t)fread(sv_config->config_contents, sizeof(char), (size_t)(cfg_file_size * sizeof(char)), cfg_file) == (int64_t)-1 ){ free( sv_config->config_contents ); sv_config->config_contents = NULL; fclose( cfg_file ); diff --git a/load_webhooks.h b/load_webhooks.h index 5c3a60b..816e9ba 100644 --- a/load_webhooks.h +++ b/load_webhooks.h @@ -25,7 +25,7 @@ int load_webhooks( char *wh_file_name, webhooks_data_t *wdt ){ fclose( whconf ); return WH_LOAD_FAILED; } - long long int wh_file_size = (long long int)ftell( whconf ); + int64_t wh_file_size = (int64_t)ftell( whconf ); if ( wh_file_size <= 0 ){ wh_file_size = 0; fclose( whconf ); @@ -38,7 +38,7 @@ int load_webhooks( char *wh_file_name, webhooks_data_t *wdt ){ fclose( whconf ); return WH_LOAD_FAILED; } - if ( (long long int)fread(wdt->webhooks_config, sizeof(char), (size_t)(wh_file_size * sizeof(char)), whconf) == (long long int)-1 ){ + if ( (int64_t)fread(wdt->webhooks_config, sizeof(char), (size_t)(wh_file_size * sizeof(char)), whconf) == (int64_t)-1 ){ wh_file_size = 0; free( wdt->webhooks_config ); fclose( whconf ); @@ -4,7 +4,7 @@ int log_init( server_config_t *sc, log_file_t *lf ){ if ( strcmp((const char*)sc->log_enabled->valuestring, "no") == 0 ) return LOG_INIT_SUCCESS; - if ( sc->log_file == NULL || (long long int)strlen(sc->log_file->valuestring) <= 0 ) + if ( sc->log_file == NULL || (int64_t)strlen(sc->log_file->valuestring) <= 0 ) return LOG_INIT_FAILED; lf->log_file = fopen( sc->log_file->valuestring, "a" ); if ( lf->log_file == NULL ) diff --git a/socket_init.h b/socket_init.h index ceddb9c..ab223dc 100644 --- a/socket_init.h +++ b/socket_init.h @@ -4,7 +4,7 @@ int init_socket( server_socket_t *sckdata, server_config_t *scfg ){ if ( (uint16_t)atoi(scfg->bind_port->valuestring) == 0 ) return SOCKET_INIT_FAILED; - if ( scfg->bind_address == NULL || (long long int)strlen(scfg->bind_address->valuestring) <= 0 || strcmp((const char*)scfg->bind_address->valuestring, "") == 0 ) + if ( scfg->bind_address == NULL || (int64_t)strlen(scfg->bind_address->valuestring) <= 0 || strcmp((const char*)scfg->bind_address->valuestring, "") == 0 ) return SOCKET_INIT_FAILED; sckdata->socket_fd = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if ( sckdata->socket_fd == -1 ) |