conf: add ddns-domain options

This commit is contained in:
Nick Peng
2023-07-11 22:30:39 +08:00
parent 1df9d624b4
commit c2b072b523
4 changed files with 147 additions and 1 deletions

View File

@@ -2839,6 +2839,18 @@ errout:
return -1;
}
static int _conf_ddns_domain(void *data, int argc, char *argv[])
{
if (argc <= 1) {
tlog(TLOG_ERROR, "invalid parameter.");
return -1;
}
const char *domain = argv[1];
_config_domain_rule_flag_set(domain, DOMAIN_FLAG_SMARTDNS_DOMAIN, 0);
return 0;
}
static int _conf_domain_rule_rr_ttl(const char *domain, int ttl, int ttl_min, int ttl_max)
{
struct dns_ttl_rule *rr_ttl = NULL;
@@ -3582,6 +3594,7 @@ static struct config_item _config_item[] = {
CONF_CUSTOM("edns-client-subnet", _conf_edns_client_subnet, NULL),
CONF_CUSTOM("domain-rules", _conf_domain_rules, NULL),
CONF_CUSTOM("domain-set", _conf_domain_set, NULL),
CONF_CUSTOM("ddns-domain", _conf_ddns_domain, NULL),
CONF_CUSTOM("dnsmasq-lease-file", _conf_dhcp_lease_dnsmasq_file, NULL),
CONF_CUSTOM("hosts-file", _conf_hosts_file, NULL),
CONF_STRING("ca-file", (char *)&dns_conf_ca_file, DNS_MAX_PATH),

View File

@@ -3630,6 +3630,10 @@ static int _dns_server_get_inet_by_addr(struct sockaddr_storage *localaddr, stru
break;
}
if (ifa == NULL) {
goto errout;
}
freeifaddrs(ifaddr);
return 0;
errout:
@@ -6175,7 +6179,9 @@ static int _dns_server_process_tls(struct dns_server_conn_tls_client *tls_client
} else {
unsigned long ssl_err = ERR_get_error();
int ssl_reason = ERR_GET_REASON(ssl_err);
tlog(TLOG_DEBUG, "Handshake with %s failed, error no: %s(%d, %d, %d)\n", "",
char name[DNS_MAX_CNAME_LEN];
tlog(TLOG_DEBUG, "Handshake with %s failed, error no: %s(%d, %d, %d)\n",
get_host_by_addr(name, sizeof(name), (struct sockaddr *)&tls_client->addr),
ERR_reason_error_string(ssl_err), ret, ssl_ret, ssl_reason);
ret = 0;
goto errout;