Loading src/or/config.c +11 −6 Original line number Diff line number Diff line Loading @@ -318,8 +318,9 @@ typedef struct { config_var_t *vars; validate_fn_t validate_fn; config_var_description_t *descriptions; config_var_t *extra; /**< If present, a LINELIST variable for unrecognized /** If present, extra is a LINELIST variable for unrecognized * lines. Otherwise, unrecognized lines are an error. */ config_var_t *extra; } config_format_t; #define CHECK(fmt, cfg) do { \ Loading Loading @@ -3227,10 +3228,14 @@ config_addr_policy_covers(addr_policy_t *a, addr_policy_t *b) /* We can ignore accept/reject, since "accept *:80, reject *:80" reduces to * "accept *:80". */ if (a->msk & ~b->msk) return 0; /* There's a wildcard bit in b->msk that's not a wildcard in a. */ if ((a->addr & a->msk) != (b->addr & a->msk)) return 0; /* There's a fixed bit in a that's set differently in b. */ if (a->msk & ~b->msk) { /* There's a wildcard bit in b->msk that's not a wildcard in a. */ return 0; } if ((a->addr & a->msk) != (b->addr & a->msk)) { /* There's a fixed bit in a that's set differently in b. */ return 0; } return (a->prt_min <= b->prt_min && a->prt_max >= b->prt_max); } Loading Loading
src/or/config.c +11 −6 Original line number Diff line number Diff line Loading @@ -318,8 +318,9 @@ typedef struct { config_var_t *vars; validate_fn_t validate_fn; config_var_description_t *descriptions; config_var_t *extra; /**< If present, a LINELIST variable for unrecognized /** If present, extra is a LINELIST variable for unrecognized * lines. Otherwise, unrecognized lines are an error. */ config_var_t *extra; } config_format_t; #define CHECK(fmt, cfg) do { \ Loading Loading @@ -3227,10 +3228,14 @@ config_addr_policy_covers(addr_policy_t *a, addr_policy_t *b) /* We can ignore accept/reject, since "accept *:80, reject *:80" reduces to * "accept *:80". */ if (a->msk & ~b->msk) return 0; /* There's a wildcard bit in b->msk that's not a wildcard in a. */ if ((a->addr & a->msk) != (b->addr & a->msk)) return 0; /* There's a fixed bit in a that's set differently in b. */ if (a->msk & ~b->msk) { /* There's a wildcard bit in b->msk that's not a wildcard in a. */ return 0; } if ((a->addr & a->msk) != (b->addr & a->msk)) { /* There's a fixed bit in a that's set differently in b. */ return 0; } return (a->prt_min <= b->prt_min && a->prt_max >= b->prt_max); } Loading