Change rule domain to lowercase
This commit is contained in:
@@ -344,7 +344,7 @@ static int _config_domain_rule_add(char *domain, enum domain_rule type, void *ru
|
||||
tlog(TLOG_ERROR, "domain name %s too long", domain);
|
||||
goto errout;
|
||||
}
|
||||
reverse_string(domain_key, domain, len);
|
||||
reverse_string(domain_key, domain, len, 1);
|
||||
domain_key[len] = '.';
|
||||
len++;
|
||||
domain_key[len] = 0;
|
||||
@@ -405,7 +405,7 @@ static int _config_domain_rule_flag_set(char *domain, unsigned int flag)
|
||||
tlog(TLOG_ERROR, "domain %s too long", domain);
|
||||
return -1;
|
||||
}
|
||||
reverse_string(domain_key, domain, len);
|
||||
reverse_string(domain_key, domain, len, 1);
|
||||
domain_key[len] = '.';
|
||||
len++;
|
||||
domain_key[len] = 0;
|
||||
|
||||
@@ -1375,7 +1375,7 @@ static void _dns_server_log_rule(char *domain, unsigned char *rule_key, int rule
|
||||
return;
|
||||
}
|
||||
|
||||
reverse_string(rule_name, (char *)rule_key, rule_key_len);
|
||||
reverse_string(rule_name, (char *)rule_key, rule_key_len, 1);
|
||||
rule_name[rule_key_len] = 0;
|
||||
tlog(TLOG_INFO, "RULE-MATCH, domain: %s, rule: %s", domain, rule_name);
|
||||
}
|
||||
@@ -1390,7 +1390,7 @@ static struct dns_domain_rule *_dns_server_get_domain_rule(char *domain)
|
||||
|
||||
/* reverse domain string */
|
||||
domain_len = strlen(domain);
|
||||
reverse_string(domain_key, domain, domain_len);
|
||||
reverse_string(domain_key, domain, domain_len, 1);
|
||||
domain_key[domain_len] = '.';
|
||||
domain_len++;
|
||||
domain_key[domain_len] = 0;
|
||||
|
||||
@@ -350,7 +350,7 @@ int set_fd_nonblock(int fd, int nonblock)
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *reverse_string(char *output, char *input, int len)
|
||||
char *reverse_string(char *output, char *input, int len, int to_lower_case)
|
||||
{
|
||||
char *begin = output;
|
||||
if (len <= 0) {
|
||||
@@ -361,6 +361,12 @@ char *reverse_string(char *output, char *input, int len)
|
||||
len--;
|
||||
while (len >= 0) {
|
||||
*output = *(input + len);
|
||||
if (to_lower_case) {
|
||||
if (*output >= 'A' && *output <= 'Z') {
|
||||
/* To lower case */
|
||||
*output = *output + 32;
|
||||
}
|
||||
}
|
||||
output++;
|
||||
len--;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ int parse_uri(char *value, char *scheme, char *host, int *port, char *path);
|
||||
|
||||
int set_fd_nonblock(int fd, int nonblock);
|
||||
|
||||
char *reverse_string(char *output, char *input, int len);
|
||||
char *reverse_string(char *output, char *input, int len, int to_lower_case);
|
||||
|
||||
void print_stack(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user