luci: fix auto setting issue
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
|
||||
#define DEFAULT_DNS_CACHE_SIZE 512
|
||||
#define DNS_MAX_REPLY_IP_NUM 8
|
||||
#define DNS_RESOLV_FILE "/etc/resolv.conf"
|
||||
|
||||
/* ipset */
|
||||
struct dns_ipset_table {
|
||||
@@ -133,6 +134,7 @@ char dns_conf_user[DNS_CONF_USRNAME_LEN];
|
||||
|
||||
int dns_save_fail_packet;
|
||||
char dns_save_fail_packet_dir[DNS_MAX_PATH];
|
||||
char dns_resolv_file[DNS_MAX_PATH];
|
||||
|
||||
/* ECS */
|
||||
struct dns_edns_client_subnet dns_conf_ipv4_ecs;
|
||||
@@ -1926,6 +1928,7 @@ static struct config_item _config_item[] = {
|
||||
CONF_STRING("ca-path", (char *)&dns_conf_ca_path, DNS_MAX_PATH),
|
||||
CONF_STRING("user", (char *)&dns_conf_user, sizeof(dns_conf_user)),
|
||||
CONF_YESNO("debug-save-fail-packet", &dns_save_fail_packet),
|
||||
CONF_STRING("resolv-file", (char *)&dns_resolv_file, sizeof(dns_resolv_file)),
|
||||
CONF_STRING("debug-save-fail-packet-dir", (char *)&dns_save_fail_packet_dir, sizeof(dns_save_fail_packet_dir)),
|
||||
CONF_CUSTOM("conf-file", config_addtional_file, NULL),
|
||||
CONF_END(),
|
||||
@@ -2106,6 +2109,10 @@ static int _dns_conf_load_post(void)
|
||||
dns_conf_local_ttl = dns_conf_rr_ttl_min;
|
||||
}
|
||||
|
||||
if (dns_resolv_file[0] == '\0') {
|
||||
safe_strncpy(dns_resolv_file, DNS_RESOLV_FILE, sizeof(dns_resolv_file));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -325,6 +325,7 @@ extern char dns_conf_sni_proxy_ip[DNS_MAX_IPLEN];
|
||||
|
||||
extern int dns_save_fail_packet;
|
||||
extern char dns_save_fail_packet_dir[DNS_MAX_PATH];
|
||||
extern char dns_resolv_file[DNS_MAX_PATH];
|
||||
|
||||
void dns_server_load_exit(void);
|
||||
|
||||
|
||||
@@ -793,7 +793,7 @@ static int _dns_setup_dns_raw_packet(struct dns_server_post_context *context)
|
||||
/* encode to binary data */
|
||||
int encode_len = dns_encode(context->inpacket, context->inpacket_maxlen, context->packet);
|
||||
if (encode_len <= 0) {
|
||||
tlog(TLOG_ERROR, "encode raw packet failed for %s", context->request->domain);
|
||||
tlog(TLOG_DEBUG, "encode raw packet failed for %s", context->request->domain);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
#include <sys/types.h>
|
||||
#include <ucontext.h>
|
||||
|
||||
#define RESOLVE_FILE "/etc/resolv.conf"
|
||||
#define MAX_LINE_LEN 1024
|
||||
#define MAX_KEY_LEN 64
|
||||
#define SMARTDNS_PID_FILE "/var/run/smartdns.pid"
|
||||
@@ -173,9 +172,9 @@ static int _smartdns_load_from_resolv(void)
|
||||
int filed_num = 0;
|
||||
int line_num = 0;
|
||||
|
||||
fp = fopen(RESOLVE_FILE, "r");
|
||||
fp = fopen(dns_resolv_file, "r");
|
||||
if (fp == NULL) {
|
||||
tlog(TLOG_ERROR, "open %s failed, %s", RESOLVE_FILE, strerror(errno));
|
||||
tlog(TLOG_ERROR, "open %s failed, %s", dns_resolv_file, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user