summaryrefslogtreecommitdiff
path: root/opentracker.c
diff options
context:
space:
mode:
authorDirk Engling <erdgeist@erdgeist.org>2022-11-24 04:20:06 +0100
committerDirk Engling <erdgeist@erdgeist.org>2022-11-24 04:20:06 +0100
commitbe825f57597b0e9dcf07d257e93f03e30935f7db (patch)
tree58059fe89c3e2faf8be5999b7cac010e03f1ae31 /opentracker.c
parent110868ec4ebe60521d5a4ced63feca6a1cf0aa2a (diff)
Add support for dynamic accesslists
Diffstat (limited to 'opentracker.c')
-rw-r--r--opentracker.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/opentracker.c b/opentracker.c
index a5ba7d3..b6d2bb9 100644
--- a/opentracker.c
+++ b/opentracker.c
@@ -135,8 +135,8 @@ static void help( char *name ) {
135} 135}
136#undef HELPLINE 136#undef HELPLINE
137 137
138static size_t header_complete( char * request, ssize_t byte_count ) { 138static ssize_t header_complete( char * request, ssize_t byte_count ) {
139 int i = 0, state = 0; 139 ssize_t i = 0, state = 0;
140 140
141 for( i=1; i < byte_count; i+=2 ) 141 for( i=1; i < byte_count; i+=2 )
142 if( request[i] <= 13 ) { 142 if( request[i] <= 13 ) {
@@ -184,7 +184,7 @@ static void handle_read( const int64 sock, struct ot_workstruct *ws ) {
184 ws->request_size = byte_count; 184 ws->request_size = byte_count;
185 http_handle_request( sock, ws ); 185 http_handle_request( sock, ws );
186 } else 186 } else
187 array_catb( &cookie->request, ws->inbuf, byte_count ); 187 array_catb( &cookie->request, ws->inbuf, (size_t)byte_count );
188 return; 188 return;
189 } 189 }
190 190
@@ -463,6 +463,12 @@ int parse_configfile( char * config_filename ) {
463 } else if(!byte_diff(p, 16, "access.blacklist" ) && isspace(p[16])) { 463 } else if(!byte_diff(p, 16, "access.blacklist" ) && isspace(p[16])) {
464 set_config_option( &g_accesslist_filename, p+17 ); 464 set_config_option( &g_accesslist_filename, p+17 );
465#endif 465#endif
466#ifdef WANT_DYNAMIC_ACCESSLIST
467 } else if(!byte_diff(p, 15, "access.fifo_add" ) && isspace(p[15])) {
468 set_config_option( &g_accesslist_pipe_add, p+16 );
469 } else if(!byte_diff(p, 18, "access.fifo_delete" ) && isspace(p[18])) {
470 set_config_option( &g_accesslist_pipe_delete, p+19 );
471#endif
466#ifdef WANT_RESTRICT_STATS 472#ifdef WANT_RESTRICT_STATS
467 } else if(!byte_diff(p, 12, "access.stats" ) && isspace(p[12])) { 473 } else if(!byte_diff(p, 12, "access.stats" ) && isspace(p[12])) {
468 if( !scan_ip6( p+13, tmpip )) goto parse_error; 474 if( !scan_ip6( p+13, tmpip )) goto parse_error;