diff --git a/src/libxt_ts3init_get_cookie.c b/src/libxt_ts3init_get_cookie.c index 1e33a2b..ba72abc 100644 --- a/src/libxt_ts3init_get_cookie.c +++ b/src/libxt_ts3init_get_cookie.c @@ -50,7 +50,7 @@ static int ts3init_get_cookie_parse(int c, char **argv, int invert, unsigned int xtables_error(PARAMETER_PROBLEM, "ts3init_get_cookie: invalid min-client version"); info->common_options |= CHK_COMMON_CLIENT_VERSION; - info->min_client_version = client_version; + info->min_client_version = client_version - CLIENT_VERSION_OFFSET; return true; case '2': @@ -74,7 +74,7 @@ static void ts3init_get_cookie_save(const void *ip, const struct xt_entry_match const struct xt_ts3init_get_cookie_mtinfo *info = (const void *)match->data; if (info->common_options & CHK_COMMON_CLIENT_VERSION) { - printf("--min-client %u ", info->min_client_version); + printf("--min-client %u ", info->min_client_version + CLIENT_VERSION_OFFSET); } if (info->specific_options & CHK_GET_COOKIE_CHECK_TIMESTAMP) { diff --git a/src/libxt_ts3init_get_puzzle.c b/src/libxt_ts3init_get_puzzle.c index 1b545da..634b191 100644 --- a/src/libxt_ts3init_get_puzzle.c +++ b/src/libxt_ts3init_get_puzzle.c @@ -70,7 +70,7 @@ static int ts3init_get_puzzle_parse(int c, char **argv, int invert, unsigned int xtables_error(PARAMETER_PROBLEM, "ts3init_get_cookie: invalid min-client version"); info->common_options |= CHK_COMMON_CLIENT_VERSION; - info->min_client_version = client_version; + info->min_client_version = client_version - CLIENT_VERSION_OFFSET; return true; case '2': @@ -95,7 +95,7 @@ static void ts3init_get_puzzle_save(const void *ip, const struct xt_entry_match const struct xt_ts3init_get_puzzle_mtinfo *info = (const void *)match->data; if (info->common_options & CHK_COMMON_CLIENT_VERSION) { - printf("--min-client %u ", info->min_client_version); + printf("--min-client %u ", info->min_client_version + CLIENT_VERSION_OFFSET); } if (info->specific_options & CHK_GET_PUZZLE_CHECK_COOKIE) { diff --git a/src/ts3init_match.h b/src/ts3init_match.h index 269c356..6bbd1b7 100644 --- a/src/ts3init_match.h +++ b/src/ts3init_match.h @@ -5,7 +5,9 @@ enum { CHK_COMMON_CLIENT_VERSION = 1 << 0, - CHK_COMMON_VALID_MASK = (1 << 1) -1 + CHK_COMMON_VALID_MASK = (1 << 1) -1, + + CLIENT_VERSION_OFFSET = 1356998400 }; /* Enums and structs for get_cookie */