diff --git a/getdomains-install.sh b/getdomains-install.sh index 044fad4..130be08 100755 --- a/getdomains-install.sh +++ b/getdomains-install.sh @@ -323,7 +323,20 @@ dnsmasqfull() { opkg remove dnsmasq && opkg install dnsmasq-full --cache /tmp/ [ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp -fi + fi +} + +dnsmasqconfdir() { + openwrt_release=$(cat /etc/openwrt_release | grep -Eo [0-9]{2}[.][0-9]{2}[.][0-9]* | cut -d '.' -f 1 | tail -n 1) + if [ $openwrt_release -ge 24 ]; then + if uci get dhcp.@dnsmasq[0].confdir | grep -q /tmp/dnsmasq.d; then + printf "\033[32;1mconfdir alreadt set\033[0m\n" + else + printf "\033[32;1mSetting confdir\033[0m\n" + uci set dhcp.@dnsmasq[0].confdir='/tmp/dnsmasq.d' + uci commit dhcp + fi + fi } remove_forwarding() { @@ -986,6 +999,8 @@ add_set dnsmasqfull +dnsmasqconfdir + add_dns_resolver add_getdomains diff --git a/tasks/main.yml b/tasks/main.yml index 18a2b6b..7e2a130 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -6,6 +6,15 @@ shell: opkg list-installed | grep dnsmasq-full | awk '{print $3}' register: dnsmasqfull_version + - name: Check confdir option + shell: uci get dhcp.@dnsmasq[0].confdir + register: dnsmasq_confdir + ignore_errors: true + + - name: Get openwrt major release + shell: cat /etc/openwrt_release | grep -Eo [0-9]{2}[.][0-9]{2}[.][0-9]* | cut -d '.' -f 1 | tail -n 1 + register: openwrt_major_release + - name: debug debug: var: ansible_distribution_major_version @@ -63,6 +72,14 @@ when: ansible_distribution_major_version >= "23" and list_domains and not dnsmasqfull_version.stdout ignore_errors: true + - name: set confdir for dnsmasq + uci: + command: set + key: dhcp.@dnsmasq[0] + value: + confdir: "/tmp/dnsmasq.d" + when: dnsmasq_confdir.stdout != "/tmp/dnsmasq.d" and openwrt_major_release >= 24 + # Getdomains script configure - name: getdomains script copy