Skip to content

Commit bea318b

Browse files
committed
correct route dispatch defaults and validation
1 parent af147ba commit bea318b

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/routes.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1991,6 +1991,9 @@ WOLFSENTRY_API wolfsentry_errcode_t wolfsentry_route_table_default_policy_set(
19911991
{
19921992
if (WOLFSENTRY_MASKOUT_BITS(default_policy, WOLFSENTRY_ROUTE_DEFAULT_POLICY_MASK) != WOLFSENTRY_ACTION_RES_NONE)
19931993
WOLFSENTRY_ERROR_RETURN(INVALID_ARG);
1994+
if ((default_policy != WOLFSENTRY_ACTION_RES_NONE) &&
1995+
(! WOLFSENTRY_MASKIN_BITS(default_policy, WOLFSENTRY_ACTION_RES_ACCEPT | WOLFSENTRY_ACTION_RES_REJECT)))
1996+
WOLFSENTRY_ERROR_RETURN(INVALID_ARG);
19941997
WOLFSENTRY_MUTEX_OR_RETURN();
19951998
table->default_policy = default_policy;
19961999
if (table == wolfsentry->routes)
@@ -2500,7 +2503,9 @@ static wolfsentry_errcode_t wolfsentry_route_event_dispatch_0(
25002503
(void)ret;
25012504
}
25022505

2503-
if (! (current_rule_route_flags & WOLFSENTRY_ROUTE_FLAG_DONT_COUNT_CURRENT_CONNECTIONS)) {
2506+
if ((! (current_rule_route_flags & WOLFSENTRY_ROUTE_FLAG_DONT_COUNT_CURRENT_CONNECTIONS)) &&
2507+
(config->config.max_connection_count > 0))
2508+
{
25042509
if (*action_results & WOLFSENTRY_ACTION_RES_CONNECT) {
25052510
if (rule_route->meta.connection_count >= config->config.max_connection_count) {
25062511
*action_results |= WOLFSENTRY_ACTION_RES_REJECT;

0 commit comments

Comments
 (0)