From a1dd9ab5113fd2cbe47a6011a724b8d89adb82b6 Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Sat, 6 Jan 2024 21:06:18 +0800 Subject: [PATCH] mdns: fix test case issue and clean temp file after download --- package/openwrt/files/etc/init.d/smartdns | 13 ++++++++----- test/cases/test-mdns.cc | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/package/openwrt/files/etc/init.d/smartdns b/package/openwrt/files/etc/init.d/smartdns index aab02afe82..cdd8f37d40 100644 --- a/package/openwrt/files/etc/init.d/smartdns +++ b/package/openwrt/files/etc/init.d/smartdns @@ -27,6 +27,7 @@ if [ ! -d "/run" ]; then SERVICE_PID_FILE="/var/run/smartdns.pid" fi +SMARTDNS_DOWNLOAD_TMP_DIR="/tmp/smartdns-download" SMARTDNS_DEFAULT_FORWARDING_FILE="/etc/smartdns/domain-forwarding.list" SMARTDNS_DEFAULT_DOMAIN_BLOCK_FILE="/etc/smartdns/domain-block.list" SMARTDNS_CONF_DIR="/etc/smartdns" @@ -850,7 +851,7 @@ download_file() { export https_proxy="$proxy" } } - wget --timeout 120 -q -O "/tmp/$name" "$url" + wget --timeout 120 -q -O "$SMARTDNS_DOWNLOAD_TMP_DIR/$name" "$url" if [ $? -ne 0 ]; then echo "download file $name failed" return 1 @@ -858,13 +859,13 @@ download_file() { echo "download file $name success" if [ "$filetype" = "list" ]; then - mv "/tmp/$name" "$SMARTDNS_DOMAIN_LIST_DOWNLOAD_DIR/$name" + mv "$SMARTDNS_DOWNLOAD_TMP_DIR/$name" "$SMARTDNS_DOMAIN_LIST_DOWNLOAD_DIR/$name" elif [ "$filetype" = "config" ]; then - mv "/tmp/$name" "$SMARTDNS_CONF_DOWNLOAD_DIR/$name" + mv "$SMARTDNS_DOWNLOAD_TMP_DIR/$name" "$SMARTDNS_CONF_DOWNLOAD_DIR/$name" elif [ "$filetype" = "ip-set" ]; then - mv "/tmp/$name" "$SMARTDNS_IP_SET_DOWNLOAD_DIR/$name" + mv "$SMARTDNS_DOWNLOAD_TMP_DIR/$name" "$SMARTDNS_IP_SET_DOWNLOAD_DIR/$name" else - mv "/tmp/$name" "$SMARTDNS_DOWNLOAD_DIR/$name" + mv "$SMARTDNS_DOWNLOAD_TMP_DIR/$name" "$SMARTDNS_DOWNLOAD_DIR/$name" fi } @@ -903,7 +904,9 @@ check_and_add_entry() { updatefiles() { config_load "smartdns" + [ ! -d "$SMARTDNS_DOWNLOAD_TMP_DIR" ] && mkdir -p "$SMARTDNS_DOWNLOAD_TMP_DIR" config_foreach download_file "download-file" + rm -rf "$SMARTDNS_DOWNLOAD_TMP_DIR" >/dev/null 2>&1 reload_service } diff --git a/test/cases/test-mdns.cc b/test/cases/test-mdns.cc index d50acaeabc..2b26ff5ae0 100644 --- a/test/cases/test-mdns.cc +++ b/test/cases/test-mdns.cc @@ -139,10 +139,10 @@ dualstack-ip-selection no mdns-lookup yes )"""); smartdns::Client client; - ASSERT_TRUE(client.Query("-x 192.168.1.1", 60053)); + ASSERT_TRUE(client.Query("-x 127.0.0.9", 60053)); std::cout << client.GetResult() << std::endl; ASSERT_EQ(client.GetAnswerNum(), 1); EXPECT_EQ(client.GetStatus(), "NOERROR"); - EXPECT_EQ(client.GetAnswer()[0].GetName(), "1.1.168.192.in-addr.arpa"); + EXPECT_EQ(client.GetAnswer()[0].GetName(), "9.0.0.127.in-addr.arpa"); EXPECT_EQ(client.GetAnswer()[0].GetData(), "host.local."); }