dnsmasq: make tftp root if not existing
authorAlberto Bursi <alberto.bursi@outlook.it>
Tue, 2 May 2017 17:31:17 +0000 (19:31 +0200)
committerHans Dedecker <dedeckeh@gmail.com>
Thu, 4 May 2017 21:10:09 +0000 (23:10 +0200)
If there's a TFTP root directory configured, create it with mkdir -p
(which does not throw an error if the folder exists already)
before starting dnsmasq. This is useful for TFTP roots in /tmp, for example.

Originally submitted by nfw user aka Nathaniel Wesley Filardo

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
package/network/services/dnsmasq/files/dnsmasq.init

index e6ba7322e3dc63fc2c934e9ab444f359747822f2..3b801303b58813bd34a13215eae0e7f956521573 100644 (file)
@@ -762,7 +762,7 @@ dnsmasq_start()
        append_bool "$cfg" dbus "--enable-dbus"
        append_bool "$cfg" expandhosts "--expand-hosts"
        config_get tftp_root "$cfg" "tftp_root"
-       [ -d "$tftp_root" ] && append_bool "$cfg" enable_tftp "--enable-tftp"
+       [ -n "$tftp_root" ] && mkdir -p "$tftp_root" && append_bool "$cfg" enable_tftp "--enable-tftp"
        append_bool "$cfg" tftp_no_fail "--tftp-no-fail"
        append_bool "$cfg" nonwildcard "--bind-dynamic"
        append_bool "$cfg" fqdn "--dhcp-fqdn"