}
append_interface() {
- network_get_device ifname "$1" || return
+ network_get_device ifname "$1" || ifname="$1"
xappend "--interface=$ifname"
}
append_notinterface() {
- network_get_device ifname "$1" || return
+ network_get_device ifname "$1" || ifname="$1"
xappend "--except-interface=$ifname"
}
if [ -z "$interface" ]; then
xappend "--dhcp-relay=$local_addr,$server_addr"
else
- xappend "--dhcp-relay=$local_addr,$server_addr,$interface"
+ network_get_device ifname "$interface" || return
+ xappend "--dhcp-relay=$local_addr,$server_addr,$ifname"
fi
}
append_bool "$cfg" boguspriv "--bogus-priv"
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"