Alex 'AdUser' Z
8 years ago
2 changed files with 60 additions and 0 deletions
@ -0,0 +1,58 @@ |
|||||||
|
#include "../src/common.h" |
||||||
|
#include "../src/ipaddr.h" |
||||||
|
#include "../src/statefile.h" |
||||||
|
|
||||||
|
int main() { |
||||||
|
const char matches = 4; |
||||||
|
bool res = false; |
||||||
|
f2b_ipaddr_t *list = NULL; |
||||||
|
f2b_statefile_t *sf = NULL; |
||||||
|
char jailname[64] = ""; |
||||||
|
struct stat st; |
||||||
|
time_t banned_at = 0, release_at = 0; |
||||||
|
|
||||||
|
UNUSED(list); |
||||||
|
|
||||||
|
snprintf(jailname, sizeof(jailname), "%lu", time(NULL)); /* gen unique jailname */ |
||||||
|
|
||||||
|
sf = f2b_statefile_create("/tmp", jailname); |
||||||
|
assert(sf != NULL); |
||||||
|
|
||||||
|
list = f2b_statefile_load(sf, matches); |
||||||
|
assert(list == NULL); |
||||||
|
|
||||||
|
banned_at = time(NULL) - 60; |
||||||
|
release_at = banned_at + 60 * 2; |
||||||
|
|
||||||
|
list = f2b_ipaddr_create("1.2.3.4", matches); |
||||||
|
list->banned = true; |
||||||
|
list->banned_at = banned_at; |
||||||
|
list->release_at = release_at; |
||||||
|
|
||||||
|
/* empty file should be created after f2b_statefile_create() call */ |
||||||
|
stat(sf->path, &st); |
||||||
|
assert(st.st_size == 0); |
||||||
|
|
||||||
|
res = f2b_statefile_save(sf, list); |
||||||
|
assert(res == true); |
||||||
|
|
||||||
|
stat(sf->path, &st); |
||||||
|
assert(st.st_size > 0); |
||||||
|
|
||||||
|
f2b_ipaddr_destroy(list); |
||||||
|
list = NULL; |
||||||
|
|
||||||
|
list = f2b_statefile_load(sf, matches); |
||||||
|
assert(list != NULL); |
||||||
|
assert(list->banned == true); |
||||||
|
assert(list->banned_at == banned_at); |
||||||
|
assert(list->release_at == release_at); |
||||||
|
|
||||||
|
f2b_ipaddr_destroy(list); |
||||||
|
|
||||||
|
unlink(sf->path); |
||||||
|
|
||||||
|
f2b_statefile_destroy(sf); |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
Loading…
Reference in new issue