add a default for PKG_BUILD_DIR and PKG_INSTALL_DIR (will use KERNEL_BUILD_DIR if...
[openwrt.git] / package / dnsmasq / files / dnsmasq.init
index cbbee02..5e72fd0 100644 (file)
@@ -1,50 +1,64 @@
-#!/bin/sh
-. /etc/functions.sh
-include /lib/network
-scan_interfaces
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
 
-# The following is to automatically configure the DHCP settings
-# based on config settings. Feel free to replace all this crap
-# with a simple "dnsmasq" and manage everything via the
-# /etc/dnsmasq.conf config file
-
-[ -f /etc/dnsmasq.conf ] || exit
-
-args=""
-iface=lan
-config_get ifname "$iface" ifname
-config_get proto "$iface" proto
-
-[ "$proto" = static ] && dhcp_enable="${dhcp_enable:-1}"
-dhcp_start="${dhcp_start:-100}"
-dhcp_num="${dhcp_num:-50}"
-dhcp_lease="${dhcp_lease:-12h}"
-
-# if dhcp_enable is unset and there is a dhcp server on the network already, default to dhcp_enable=0
-[ -z "$dhcp_enable" ] && udhcpc -n -q -R -s /bin/true -i $ifname >&- && dhcp_enable="${dhcp_enable:-0}"
-
-# dhcp_enable=0 disables the dhcp server
-(
-       [ -z "$dhcp_enable" -o "$dhcp_enable" -eq 1 ] && {
-               # no existing DHCP server?
-
-               # calculate settings
-               config_get ipaddr "$iface" ipaddr
-               config_get netmask "$iface" netmask
-               eval $(ipcalc $ipaddr $netmask ${dhcp_start:-100} ${dhcp_num:-150})
-               
-               # and pass the args via config parser defines
-               echo "${dhcp_enable:+@define dhcp_enable 1}"
-               echo "@define netmask $NETMASK"
-               echo "@define start $START"
-               echo "@define end $END"
-               echo "@define lease ${dhcp_lease:-12h}"
+START=60
+start() {
+       include /lib/network
+       scan_interfaces
+       
+       # The following is to automatically configure the DHCP settings
+       # based on config settings. Feel free to replace all this crap
+       # with a simple "dnsmasq" and manage everything via the
+       # /etc/dnsmasq.conf config file
+       
+       [ -f /etc/dnsmasq.conf ] || exit
+       
+       args=""
+       iface=lan
+       config_get ifname "$iface" ifname
+       config_get proto "$iface" proto
+       
+       [ "$proto" = static ] && dhcp_enable="${dhcp_enable:-1}"
+       dhcp_start="${dhcp_start:-100}"
+       dhcp_num="${dhcp_num:-50}"
+       dhcp_lease="${dhcp_lease:-12h}"
+       
+       # if dhcp_enable is unset and there is a dhcp server on the network already, default to dhcp_enable=0
+       [ -z "$dhcp_enable" ] && udhcpc -n -q -R -s /bin/true -i $ifname >&- && dhcp_enable="${dhcp_enable:-0}"
+       
+       # dhcp_enable=0 disables the dhcp server
+       (
+               [ -z "$dhcp_enable" -o "$dhcp_enable" -eq 1 ] && {
+                       # no existing DHCP server?
+       
+                       # calculate settings
+                       config_get ipaddr "$iface" ipaddr
+                       config_get netmask "$iface" netmask
+                       eval $(ipcalc $ipaddr $netmask ${dhcp_start:-100} ${dhcp_num:-150})
+                       
+                       # and pass the args via config parser defines
+                       echo "${dhcp_enable:+@define dhcp_enable 1}"
+                       echo "@define netmask $NETMASK"
+                       echo "@define start $START"
+                       echo "@define end $END"
+                       echo "@define lease ${dhcp_lease:-12h}"
+               }
+       
+               # ignore requests from wan interface
+               config_get wan_proto wan proto
+               config_get wan_ifname wan ifname
+               [ -z "$wan_proto" -o "$wan_proto" = "none" ] || echo "@define wan_ifname $wan_ifname"
+       
+               cat /etc/dnsmasq.conf
+       ) | awk -f /lib/config/template.awk | dnsmasq -C /proc/self/fd/0 && {
+               rm -f /tmp/resolv.conf
+               cat > /tmp/resolv.conf <<EOF
+nameserver 127.0.0.1
+search lan
+EOF
        }
+}
 
-       # ignore requests from wan interface
-       config_get wan_proto wan proto
-       config_get wan_ifname wan ifname
-       [ -z "$wan_proto" -o "$wan_proto" = "none" ] || echo "@define wan_ifname $wan_ifname"
-
-       cat /etc/dnsmasq.conf
-) | awk -f /usr/lib/parse-config.awk | dnsmasq -C /proc/self/fd/0
+stop() {
+       killall dnsmasq
+}
This page took 0.026906 seconds and 4 git commands to generate.