Skip to content

Commit

Permalink
fix: firewall rule permitting dns forward
Browse files Browse the repository at this point in the history
Signed-off-by: Dengfeng Liu <[email protected]>
  • Loading branch information
liudf0716 committed Sep 27, 2024
1 parent 8a949c7 commit e15ddee
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions src/fw4_nft.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ const char *nft_wifidogx_dhcp_pass_script[] = {

const char *nft_wifidogx_dns_pass_script[] = {
"insert rule inet fw4 forward_wifidogx_unknown udp dport 53 counter accept",
"insert rule inet fw4 forward_wifidogx_unknown tcp dport 53 counter reject",
"insert rule inet fw4 forward_wifidogx_unknown tcp dport 53 counter accept",
};

const char *nft_wifidogx_dhcp_redirect_script[] = {
Expand Down Expand Up @@ -168,11 +168,15 @@ generate_nft_wifidogx_init_script()
memset(buf, 0, sizeof(buf));
}

if (!config->enable_dns_forward) {
for (i = 0; i < sizeof(nft_wifidogx_dns_pass_script) / sizeof(nft_wifidogx_dns_pass_script[0]); i++) {
fprintf(output_file, "%s\n", nft_wifidogx_dns_pass_script[i]);
}
} else {
for (i = 0; i < sizeof(nft_wifidogx_dns_pass_script) / sizeof(nft_wifidogx_dns_pass_script[0]); i++) {
fprintf(output_file, "%s\n", nft_wifidogx_dns_pass_script[i]);
}

for (i = 0; i < sizeof(nft_wifidogx_dhcp_pass_script) / sizeof(nft_wifidogx_dhcp_pass_script[0]); i++) {
fprintf(output_file, "%s\n", nft_wifidogx_dhcp_pass_script[i]);
}

if (config->enable_dns_forward) {
while(gw_settings) {

for (i = 0; i < sizeof(nft_wifidogx_dns_redirect_script) / sizeof(nft_wifidogx_dns_redirect_script[0]); i++) {
Expand All @@ -189,9 +193,7 @@ generate_nft_wifidogx_init_script()
}
}

for (i = 0; i < sizeof(nft_wifidogx_dhcp_pass_script) / sizeof(nft_wifidogx_dhcp_pass_script[0]); i++) {
fprintf(output_file, "%s\n", nft_wifidogx_dhcp_pass_script[i]);
}


fclose(output_file);
}
Expand Down

0 comments on commit e15ddee

Please sign in to comment.