Nick Peng 7 лет назад
Родитель
Сommit
5ab3cd86a5

+ 1 - 0
package/debian/DEBIAN/conffiles

@@ -0,0 +1 @@
+/etc/smartdns/smartdns.conf

+ 3 - 0
package/luci/files/luci/i18n/smartdns.zh-cn.po

@@ -25,6 +25,9 @@ msgstr "本地高性能服务器,优化网络访问性能。"
 msgid "Enable or disable smartdns server"
 msgstr "启用或禁用SmartDNS服务"
 
+msgid "Local Port"
+msgstr "本地端口"
+
 msgid "Smartdns local server port"
 msgstr "SmartDNS本地服务端口"
 

+ 20 - 0
package/openwrt/files/etc/init.d/smartdns

@@ -101,6 +101,26 @@ start_service() {
 		conf_append "rr-ttl-max" "$rr_ttl_max"
 	fi
 
+	config_get "log_size" "$section" "log_size" "128K"
+	if [ ! -z "$log_size" ]; then
+		conf_append "log-size" "$log_size"
+	fi
+
+	config_get "log_num" "$section" "log_num" "3"
+	if [ ! -z "$log_num" ]; then
+		conf_append "log-num" "$log_num"
+	fi
+
+	config_get "log_level" "$section" "log_level" "error"
+	if [ ! -z "$log_level" ]; then
+		conf_append "log-level" "$log_level"
+	fi
+
+	config_get "log_file" "$section" "log_file" ""
+	if [ ! -z "$log_file" ]; then
+		conf_append "log-file" "$log_file"
+	fi
+
 	clear_iptable
 	config_get_bool "redirect" "$section" "redirect" '0'
 	if [ "$redirect" -eq 1 ]; then

+ 4 - 2
src/fast_ping.c

@@ -321,12 +321,13 @@ static int _fast_ping_sendping_v6(struct ping_host_struct *ping_host)
 
 	len = sendto(ping.fd_icmp6, &ping_host->packet, sizeof(struct fast_ping_packet), 0, (struct sockaddr *)&ping_host->addr, ping_host->addr_len);
 	if (len < 0 || len != sizeof(struct fast_ping_packet)) {
+		int err = errno;
 		if (errno == ENETUNREACH) {
 			goto errout;
 		}
 		char ping_host_name[PING_MAX_HOSTLEN];
 		tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, (struct sockaddr *)&ping_host->addr, ping_host->addr_len), ping_host->sid,
-			 strerror(errno));
+			 strerror(err));
 		goto errout;
 	}
 
@@ -358,12 +359,13 @@ static int _fast_ping_sendping_v4(struct ping_host_struct *ping_host)
 
 	len = sendto(ping.fd_icmp, packet, sizeof(struct fast_ping_packet), 0, (struct sockaddr *)&ping_host->addr, ping_host->addr_len);
 	if (len < 0 || len != sizeof(struct fast_ping_packet)) {
+		int err = errno;
 		if (errno == ENETUNREACH) {
 			goto errout;
 		}
 		char ping_host_name[PING_MAX_HOSTLEN];
 		tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, (struct sockaddr *)&ping_host->addr, ping_host->addr_len), ping_host->sid,
-			 strerror(errno));
+			 strerror(err));
 		goto errout;
 	}