add domain rule "root or sub"
This commit is contained in:
@@ -917,6 +917,10 @@ static int _config_domain_rule_add(const char *domain, enum domain_rule type, vo
|
|||||||
len--;
|
len--;
|
||||||
if (domain[1] == '.') {
|
if (domain[1] == '.') {
|
||||||
sub_rule_only = 1;
|
sub_rule_only = 1;
|
||||||
|
} else if ((domain[1] == '-') && (domain[2] == '.')) {
|
||||||
|
len--;
|
||||||
|
sub_rule_only = 1;
|
||||||
|
root_rule_only = 1;
|
||||||
}
|
}
|
||||||
} else if (domain[0] == '-') {
|
} else if (domain[0] == '-') {
|
||||||
/* root match only */
|
/* root match only */
|
||||||
|
|||||||
@@ -4046,14 +4046,16 @@ static int _dns_server_get_rules(unsigned char *key, uint32_t key_len, int is_su
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* only subkey rule */
|
if (domain_rule->sub_rule_only != domain_rule->root_rule_only) {
|
||||||
if (domain_rule->sub_rule_only == 1 && is_subkey == 0) {
|
/* only subkey rule */
|
||||||
return 0;
|
if (domain_rule->sub_rule_only == 1 && is_subkey == 0) {
|
||||||
}
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* only root key rule */
|
/* only root key rule */
|
||||||
if (domain_rule->root_rule_only == 1 && is_subkey == 1) {
|
if (domain_rule->root_rule_only == 1 && is_subkey == 1) {
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < DOMAIN_RULE_MAX; i++) {
|
for (i = 0; i < DOMAIN_RULE_MAX; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user