Просмотр исходного кода

dnsmasq: always inform about disabled dhcp service

Init script checks for an already active DHCP server on the interface
and if such DHCP server is found, then it logs "refusing to start DHCP"
message, starts dnsmasq without DHCP service unless `option force 1` is
set and caches the DHCP server check result.

Each consecutive service start then uses this cached DHCP server check
result, but doesn't provide log feedback about disabled DHCP service
anymore.

So this patch ensures, that the log message about disabled DHCP service
on particular interface is always provided.

Acked-by: Hans Dedecker <[email protected]>
Signed-off-by: Petr Štetiar <[email protected]>
Petr Štetiar 5 лет назад
Родитель
Сommit
b17a5a9bdb
1 измененных файлов с 6 добавлено и 6 удалено
  1. 6 6
      package/network/services/dnsmasq/files/dnsmasq.init

+ 6 - 6
package/network/services/dnsmasq/files/dnsmasq.init

@@ -110,11 +110,6 @@ dhcp_check() {
 
 	udhcpc -n -q -s /bin/true -t 1 -i "$ifname" >&- && rv=1 || rv=0
 
-	[ $rv -eq 1 ] && \
-		logger -t dnsmasq \
-			"found already running DHCP-server on interface '$ifname'" \
-			"refusing to start, use 'option force 1' to override"
-
 	echo $rv > "$stamp"
 	return $rv
 }
@@ -517,7 +512,12 @@ dhcp_add() {
 
 	#check for an already active dhcp server on the interface, unless 'force' is set
 	config_get_bool force "$cfg" force 0
-	[ $force -gt 0 ] || dhcp_check "$ifname" || return 0
+	[ $force -gt 0 ] || dhcp_check "$ifname" || {
+		logger -t dnsmasq \
+			"found already running DHCP-server on interface '$ifname'" \
+			"refusing to start, use 'option force 1' to override"
+		return 0
+	}
 
 	config_get start "$cfg" start 100
 	config_get limit "$cfg" limit 150