diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ot_config.c | 11 | ||||
| -rw-r--r-- | src/ot_http.c | 5 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/ot_config.c b/src/ot_config.c index 6b51c61..dfaef0d 100644 --- a/src/ot_config.c +++ b/src/ot_config.c | |||
| @@ -205,6 +205,7 @@ typedef enum { | |||
| 205 | CONFIG_ACCESS_STATS, | 205 | CONFIG_ACCESS_STATS, |
| 206 | CONFIG_ACCESS_STATS_PATH, | 206 | CONFIG_ACCESS_STATS_PATH, |
| 207 | CONFIG_ACCESS_PROXY, | 207 | CONFIG_ACCESS_PROXY, |
| 208 | CONFIG_ACCESS_FULLSCRAPE, | ||
| 208 | CONFIG_TRACKER_REDIRECT_URL, | 209 | CONFIG_TRACKER_REDIRECT_URL, |
| 209 | CONFIG_LIVESYNC_CLUSTER_NODE_IP, | 210 | CONFIG_LIVESYNC_CLUSTER_NODE_IP, |
| 210 | CONFIG_LIVESYNC_CLUSTER_LISTEN, | 211 | CONFIG_LIVESYNC_CLUSTER_LISTEN, |
| @@ -244,6 +245,9 @@ static const config_key config_keys[] = { | |||
| 244 | #ifdef WANT_IP_FROM_PROXY | 245 | #ifdef WANT_IP_FROM_PROXY |
| 245 | CONFIG_KEY("access.proxy", CONFIG_ACCESS_PROXY), | 246 | CONFIG_KEY("access.proxy", CONFIG_ACCESS_PROXY), |
| 246 | #endif | 247 | #endif |
| 248 | #ifdef WANT_RESTRICT_FULLSCRAPE | ||
| 249 | CONFIG_KEY("access.fullscrape", CONFIG_ACCESS_FULLSCRAPE), | ||
| 250 | #endif | ||
| 247 | CONFIG_KEY("tracker.redirect_url", CONFIG_TRACKER_REDIRECT_URL), | 251 | CONFIG_KEY("tracker.redirect_url", CONFIG_TRACKER_REDIRECT_URL), |
| 248 | #ifdef WANT_SYNC_LIVE | 252 | #ifdef WANT_SYNC_LIVE |
| 249 | CONFIG_KEY("livesync.cluster.node_ip", CONFIG_LIVESYNC_CLUSTER_NODE_IP), | 253 | CONFIG_KEY("livesync.cluster.node_ip", CONFIG_LIVESYNC_CLUSTER_NODE_IP), |
| @@ -376,6 +380,13 @@ static int parse_configfile(char *config_filename) { | |||
| 376 | accesslist_bless_net(&tmpnet, OT_PERMISSION_MAY_PROXY); | 380 | accesslist_bless_net(&tmpnet, OT_PERMISSION_MAY_PROXY); |
| 377 | break; | 381 | break; |
| 378 | #endif | 382 | #endif |
| 383 | #ifdef WANT_RESTRICT_FULLSCRAPE | ||
| 384 | case CONFIG_ACCESS_FULLSCRAPE: | ||
| 385 | if (!scan_ip6_net(p, &tmpnet)) | ||
| 386 | goto parse_error; | ||
| 387 | accesslist_bless_net(&tmpnet, OT_PERMISSION_MAY_FULLSCRAPE); | ||
| 388 | break; | ||
| 389 | #endif | ||
| 379 | case CONFIG_TRACKER_REDIRECT_URL: | 390 | case CONFIG_TRACKER_REDIRECT_URL: |
| 380 | set_config_option(&g_redirecturl, p); | 391 | set_config_option(&g_redirecturl, p); |
| 381 | break; | 392 | break; |
diff --git a/src/ot_http.c b/src/ot_http.c index 533a876..d2dad67 100644 --- a/src/ot_http.c +++ b/src/ot_http.c | |||
| @@ -402,6 +402,11 @@ static ssize_t http_handle_fullscrape(const int64_t sock, struct ot_workstruct * | |||
| 402 | struct http_data *cookie = fdstate_cookie(sock); | 402 | struct http_data *cookie = fdstate_cookie(sock); |
| 403 | int format = 0; | 403 | int format = 0; |
| 404 | 404 | ||
| 405 | #ifdef WANT_RESTRICT_FULLSCRAPE | ||
| 406 | if (!accesslist_is_blessed(cookie->ip, OT_PERMISSION_MAY_FULLSCRAPE)) | ||
| 407 | HTTPERROR_403_IP; | ||
| 408 | #endif | ||
| 409 | |||
| 405 | #ifdef WANT_MODEST_FULLSCRAPES | 410 | #ifdef WANT_MODEST_FULLSCRAPES |
| 406 | { | 411 | { |
| 407 | ot_scrape_log this_peer, *new_peer; | 412 | ot_scrape_log this_peer, *new_peer; |
