summary refs log tree commit diff
path: root/main.c
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-07-01 16:33:45 +0200
committerRory& <root@rory.gay>2025-07-01 16:33:45 +0200
commit380f5d5b60999be8edb766dc6016662497639f13 (patch)
tree1803ddf58a31c4c1ca6782581dae82898e0cc977 /main.c
parentVarious changes (diff)
downloadBlockScrapersC-master.tar.xz
Bugfixes HEAD master
Diffstat (limited to 'main.c')
-rw-r--r--main.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/main.c b/main.c

index d94c50d..0feacdc 100644 --- a/main.c +++ b/main.c
@@ -305,11 +305,11 @@ void process_line(char* line, void* cbData) if (check_already_banned_ip) for (size_t j = 0; j < rules->banned_ip_count; j++) { - if (strlen(rules->banned_ips[j]) < 5) + if (strlen(rules->banned_ips[j]) < 2) { for (size_t k = 0; k < rules->banned_ip_count; k++) { - printf("rules->banned_ips[%lu] = \"%s\" (#%s)\n", k, rules->banned_ips[k], str_to_hex(rules->banned_ips[k])); + printf("rules->banned_ips[%lu] = \"%s\" (#%s) x %d\n", k, rules->banned_ips[k], str_to_hex(rules->banned_ips[k]), rules->banned_ip_hits[k * sizeof(int)]); } printf("ASSERT: Broken rule #%lu: \"%s\" (#%s)\n", j, rules->banned_ips[j], str_to_hex(rules->banned_ips[j])); abort(); @@ -327,6 +327,9 @@ void process_line(char* line, void* cbData) abort(); } + rules->banned_ip_hits[j * sizeof(int)]++; + fprintf(stderr, "DBG CHK: %s -> %d hits\n", rules->banned_ips[j], rules->banned_ip_hits[j * sizeof(int)]); + free(ip); return; } @@ -354,12 +357,11 @@ void process_line(char* line, void* cbData) rules->banned_ip_hits = grow_int_array(rules->banned_ip_hits, rules->banned_ip_size); } - rules->banned_ips[rules->banned_ip_count][strcspn(rules->banned_ips[rules->banned_ip_count], "\n")] = 0; - rules->banned_ips[rules->banned_ip_count + 1] = nullptr; rules->banned_ips[rules->banned_ip_count] = ip; - rules->banned_ip_hits[rules->banned_ip_count]++; - fprintf(stderr, "DBG: %s -> %d hits\n", rules->banned_ips[rules->banned_ip_count], rules->banned_ip_hits[rules->banned_ip_count]); + rules->banned_ip_hits[rules->banned_ip_count * sizeof(int)] = 1; + fprintf(stderr, "DBG PTN: %s -> %d hits\n", rules->banned_ips[rules->banned_ip_count], rules->banned_ip_hits[rules->banned_ip_count * sizeof(int)]); rules->banned_ip_count++; + if (print_bans) printf("[Bans=%6lu] %15s matched pattern %4d (\"%s\"): %s\n", rules->banned_ip_count, ip, i, rules->patterns[i], line); @@ -502,8 +504,8 @@ int main(int argc, char* argv[]) rules.allowed_ips = read_lines(allowed_ips_path); rules.banned_ip_size = 8; rules.banned_ip_count = 0; - rules.banned_ips = xmalloc(sizeof(char**) * rules.banned_ip_size); - rules.banned_ip_hits = xmalloc(sizeof(int*) * rules.banned_ip_size); + rules.banned_ips = xmalloc(rules.banned_ip_size * sizeof(char**)); + rules.banned_ip_hits = xmalloc(rules.banned_ip_size * sizeof(int)); //rules.bannedIps[0] = ; if (dump_patterns) @@ -531,14 +533,7 @@ int main(int argc, char* argv[]) for (int i = 0; i < rules.banned_ip_count; i++) { printf("[BAN %4d] %s: %d hits\n", i, rules.banned_ips[i], rules.banned_ip_hits[i * sizeof(int)]); - free(rules.banned_ips[i]); } - // for (int i = 0; rules.banned_ips[i] != NULL; i++) - // { - // printf("[BANNED IP %4d] %s\n", i, rules.banned_ips[i]); - // free(rules.banned_ips[i]); - // } - free(rules.banned_ips); for (int i = 0; rules.patterns[i] != NULL; i++) { @@ -546,7 +541,7 @@ int main(int argc, char* argv[]) } free(rules.patterns); free(rules.allowed_ips); - for (int i = 0; rules.banned_ips[i] != NULL; i++) + for (int i = 0; i < rules.banned_ip_count; i++) { free(rules.banned_ips[i]); }