diff --git a/package/debian/DEBIAN/conffiles b/package/debian/DEBIAN/conffiles new file mode 100644 index 0000000..8969552 --- /dev/null +++ b/package/debian/DEBIAN/conffiles @@ -0,0 +1 @@ +/etc/smartdns/smartdns.conf diff --git a/package/luci/files/luci/i18n/smartdns.zh-cn.po b/package/luci/files/luci/i18n/smartdns.zh-cn.po index 7824320..94bcc70 100644 --- a/package/luci/files/luci/i18n/smartdns.zh-cn.po +++ b/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本地服务端口" diff --git a/package/openwrt/files/etc/init.d/smartdns b/package/openwrt/files/etc/init.d/smartdns index dfce25c..69103e3 100644 --- a/package/openwrt/files/etc/init.d/smartdns +++ b/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 diff --git a/src/fast_ping.c b/src/fast_ping.c index d9b9739..7777408 100644 --- a/src/fast_ping.c +++ b/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; }