diff options
| author | Dirk Engling <erdgeist@erdgeist.org> | 2022-11-24 04:20:06 +0100 |
|---|---|---|
| committer | Dirk Engling <erdgeist@erdgeist.org> | 2022-11-24 04:20:06 +0100 |
| commit | be825f57597b0e9dcf07d257e93f03e30935f7db (patch) | |
| tree | 58059fe89c3e2faf8be5999b7cac010e03f1ae31 /opentracker.c | |
| parent | 110868ec4ebe60521d5a4ced63feca6a1cf0aa2a (diff) | |
Add support for dynamic accesslists
Diffstat (limited to 'opentracker.c')
| -rw-r--r-- | opentracker.c | 12 |
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 | ||
| 138 | static size_t header_complete( char * request, ssize_t byte_count ) { | 138 | static 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; |
