OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
Line 14... | Line 14... | |||
14 | BASECONFIGFILE="/var/etc/dnsmasq.conf" |
14 | BASECONFIGFILE="/var/etc/dnsmasq.conf" |
|
15 | BASEHOSTFILE="/tmp/hosts/dhcp" |
15 | BASEHOSTFILE="/tmp/hosts/dhcp" |
|
16 | TRUSTANCHORSFILE="/usr/share/dnsmasq/trust-anchors.conf" |
16 | TRUSTANCHORSFILE="/usr/share/dnsmasq/trust-anchors.conf" |
|
17 | TIMEVALIDFILE="/var/state/dnsmasqsec" |
17 | TIMEVALIDFILE="/var/state/dnsmasqsec" |
|
18 | BASEDHCPSTAMPFILE="/var/run/dnsmasq" |
18 | BASEDHCPSTAMPFILE="/var/run/dnsmasq" |
|
19 | DHCPBOGUSHOSTNAMEFILE="/usr/share/dnsmasq/dhcpbogushostname.conf" |
- | ||
20 | RFC6761FILE="/usr/share/dnsmasq/rfc6761.conf" |
19 | RFC6761FILE="/usr/share/dnsmasq/rfc6761.conf" |
|
21 | DHCPSCRIPT="/usr/lib/dnsmasq/dhcp-script.sh" |
20 | DHCPSCRIPT="/usr/lib/dnsmasq/dhcp-script.sh" |
|
Line 22... | Line 21... | |||
22 | |
21 | |
|
Line 729... | Line 728... | |||
729 | fi |
728 | fi |
|
730 | } |
729 | } |
|
Line 731... | Line 730... | |||
731 | |
730 | |
|
732 | dnsmasq_start() |
731 | dnsmasq_start() |
|
733 | { |
- | ||
734 | local cfg="$1" |
732 | { |
|
735 | local disabled user_dhcpscript |
- | ||
Line 736... | Line 733... | |||
736 | local resolvfile localuse=0 |
733 | local cfg="$1" disabled resolvfile user_dhcpscript |
|
737 | |
734 | |
|
Line 738... | Line 735... | |||
738 | config_get_bool disabled "$cfg" disabled 0 |
735 | config_get_bool disabled "$cfg" disabled 0 |
|
Line 814... | Line 811... | |||
814 | append_bool "$cfg" logqueries "--log-queries=extra" |
811 | append_bool "$cfg" logqueries "--log-queries=extra" |
|
815 | append_bool "$cfg" noresolv "--no-resolv" |
812 | append_bool "$cfg" noresolv "--no-resolv" |
|
816 | append_bool "$cfg" localise_queries "--localise-queries" |
813 | append_bool "$cfg" localise_queries "--localise-queries" |
|
817 | append_bool "$cfg" readethers "--read-ethers" |
814 | append_bool "$cfg" readethers "--read-ethers" |
|
818 | append_bool "$cfg" dbus "--enable-dbus" |
815 | append_bool "$cfg" dbus "--enable-dbus" |
|
819 | append_bool "$cfg" ubus "--enable-ubus" 1 |
- | ||
820 | append_bool "$cfg" expandhosts "--expand-hosts" |
816 | append_bool "$cfg" expandhosts "--expand-hosts" |
|
821 | config_get tftp_root "$cfg" "tftp_root" |
817 | config_get tftp_root "$cfg" "tftp_root" |
|
822 | [ -n "$tftp_root" ] && mkdir -p "$tftp_root" && append_bool "$cfg" enable_tftp "--enable-tftp" |
818 | [ -n "$tftp_root" ] && mkdir -p "$tftp_root" && append_bool "$cfg" enable_tftp "--enable-tftp" |
|
823 | append_bool "$cfg" tftp_no_fail "--tftp-no-fail" |
819 | append_bool "$cfg" tftp_no_fail "--tftp-no-fail" |
|
824 | append_bool "$cfg" nonwildcard "--bind-dynamic" 1 |
820 | append_bool "$cfg" nonwildcard "--bind-dynamic" 1 |
|
Line 828... | Line 824... | |||
828 | append_bool "$cfg" logdhcp "--log-dhcp" |
824 | append_bool "$cfg" logdhcp "--log-dhcp" |
|
829 | append_bool "$cfg" quietdhcp "--quiet-dhcp" |
825 | append_bool "$cfg" quietdhcp "--quiet-dhcp" |
|
830 | append_bool "$cfg" sequential_ip "--dhcp-sequential-ip" |
826 | append_bool "$cfg" sequential_ip "--dhcp-sequential-ip" |
|
831 | append_bool "$cfg" allservers "--all-servers" |
827 | append_bool "$cfg" allservers "--all-servers" |
|
832 | append_bool "$cfg" noping "--no-ping" |
828 | append_bool "$cfg" noping "--no-ping" |
|
833 | append_bool "$cfg" rapidcommit "--dhcp-rapid-commit" |
- | ||
Line 834... | Line 829... | |||
834 | |
829 | |
|
Line 835... | Line 830... | |||
835 | append_parm "$cfg" logfacility "--log-facility" |
830 | append_parm "$cfg" logfacility "--log-facility" |
|
836 | |
831 | |
|
Line 858... | Line 853... | |||
858 | append_parm "$cfg" "leasefile" "--dhcp-leasefile" "/tmp/dhcp.leases" |
853 | append_parm "$cfg" "leasefile" "--dhcp-leasefile" "/tmp/dhcp.leases" |
|
859 | append_parm "$cfg" "serversfile" "--servers-file" |
854 | append_parm "$cfg" "serversfile" "--servers-file" |
|
860 | append_parm "$cfg" "tftp_root" "--tftp-root" |
855 | append_parm "$cfg" "tftp_root" "--tftp-root" |
|
861 | append_parm "$cfg" "dhcp_boot" "--dhcp-boot" |
856 | append_parm "$cfg" "dhcp_boot" "--dhcp-boot" |
|
862 | append_parm "$cfg" "local_ttl" "--local-ttl" |
857 | append_parm "$cfg" "local_ttl" "--local-ttl" |
|
863 | append_parm "$cfg" "max_ttl" "--max-ttl" |
- | ||
864 | append_parm "$cfg" "min_cache_ttl" "--min-cache-ttl" |
- | ||
865 | append_parm "$cfg" "max_cache_ttl" "--max-cache-ttl" |
- | ||
866 | append_parm "$cfg" "pxe_prompt" "--pxe-prompt" |
858 | append_parm "$cfg" "pxe_prompt" "--pxe-prompt" |
|
867 | config_list_foreach "$cfg" "pxe_service" append_pxe_service |
859 | config_list_foreach "$cfg" "pxe_service" append_pxe_service |
|
868 | config_get DOMAIN "$cfg" domain |
860 | config_get DOMAIN "$cfg" domain |
|
Line 869... | Line 861... | |||
869 | |
861 | |
|
Line 875... | Line 867... | |||
875 | if [ -z "$ADD_LOCAL_FQDN" ] ; then |
867 | if [ -z "$ADD_LOCAL_FQDN" ] ; then |
|
876 | # maintain support for previous UCI |
868 | # maintain support for previous UCI |
|
877 | ADD_LOCAL_FQDN="$ADD_LOCAL_HOSTNAME" |
869 | ADD_LOCAL_FQDN="$ADD_LOCAL_HOSTNAME" |
|
878 | fi |
870 | fi |
|
Line -... | Line 871... | |||
- | 871 | |
||
- | 872 | config_get_bool readethers "$cfg" readethers |
||
- | 873 | [ "$readethers" = "1" -a \! -e "/etc/ethers" ] && touch /etc/ethers |
||
879 | |
874 | |
|
880 | config_get user_dhcpscript $cfg dhcpscript |
875 | config_get user_dhcpscript $cfg dhcpscript |
|
881 | if has_handler || [ -n "$user_dhcpscript" ]; then |
876 | if has_handler || [ -n "$user_dhcpscript" ]; then |
|
882 | xappend "--dhcp-script=$DHCPSCRIPT" |
877 | xappend "--dhcp-script=$DHCPSCRIPT" |
|
Line 886... | Line 881... | |||
886 | [ -n "$leasefile" -a \! -e "$leasefile" ] && touch "$leasefile" |
881 | [ -n "$leasefile" -a \! -e "$leasefile" ] && touch "$leasefile" |
|
887 | config_get_bool cachelocal "$cfg" cachelocal 1 |
882 | config_get_bool cachelocal "$cfg" cachelocal 1 |
|
Line 888... | Line 883... | |||
888 | |
883 | |
|
889 | config_get_bool noresolv "$cfg" noresolv 0 |
884 | config_get_bool noresolv "$cfg" noresolv 0 |
|
890 | if [ "$noresolv" != "1" ]; then |
885 | if [ "$noresolv" != "1" ]; then |
|
891 | config_get resolvfile "$cfg" resolvfile /tmp/resolv.conf.auto |
- | ||
892 | [ -n "$resolvfile" -a ! -e "$resolvfile" ] && touch "$resolvfile" |
886 | config_get resolvfile "$cfg" resolvfile "/tmp/resolv.conf.auto" |
|
893 | xappend "--resolv-file=$resolvfile" |
887 | # So jail doesn't complain if file missing |
|
894 | [ "$resolvfile" = "/tmp/resolv.conf.auto" ] && localuse=1 |
888 | [ -n "$resolvfile" -a \! -e "$resolvfile" ] && touch "$resolvfile" |
|
- | 889 | fi |
||
895 | fi |
890 | |
|
Line 896... | Line 891... | |||
896 | config_get_bool localuse "$cfg" localuse "$localuse" |
891 | [ -n "$resolvfile" ] && xappend "--resolv-file=$resolvfile" |
|
897 | |
892 | |
|
Line 898... | Line 893... | |||
898 | config_get hostsfile "$cfg" dhcphostsfile |
893 | config_get hostsfile "$cfg" dhcphostsfile |
|
Line 961... | Line 956... | |||
961 | append EXTRA_MOUNT $tftp_root |
956 | append EXTRA_MOUNT $tftp_root |
|
962 | } |
957 | } |
|
Line 963... | Line 958... | |||
963 | |
958 | |
|
964 | config_foreach filter_dnsmasq host dhcp_host_add "$cfg" |
959 | config_foreach filter_dnsmasq host dhcp_host_add "$cfg" |
|
965 | echo >> $CONFIGFILE_TMP |
- | ||
966 | |
- | ||
967 | config_get_bool dhcpbogushostname "$cfg" dhcpbogushostname 1 |
- | ||
968 | [ "$dhcpbogushostname" -gt 0 ] && { |
- | ||
969 | xappend "--dhcp-ignore-names=tag:dhcp_bogus_hostname" |
- | ||
970 | [ -r "$DHCPBOGUSHOSTNAMEFILE" ] && xappend "--conf-file=$DHCPBOGUSHOSTNAMEFILE" |
- | ||
971 | } |
- | ||
972 | |
960 | echo >> $CONFIGFILE_TMP |
|
973 | config_foreach filter_dnsmasq boot dhcp_boot_add "$cfg" |
961 | config_foreach filter_dnsmasq boot dhcp_boot_add "$cfg" |
|
974 | config_foreach filter_dnsmasq mac dhcp_mac_add "$cfg" |
962 | config_foreach filter_dnsmasq mac dhcp_mac_add "$cfg" |
|
975 | config_foreach filter_dnsmasq tag dhcp_tag_add "$cfg" |
963 | config_foreach filter_dnsmasq tag dhcp_tag_add "$cfg" |
|
976 | config_foreach filter_dnsmasq vendorclass dhcp_vendorclass_add "$cfg" |
964 | config_foreach filter_dnsmasq vendorclass dhcp_vendorclass_add "$cfg" |
|
Line 1014... | Line 1002... | |||
1014 | |
1002 | |
|
1015 | echo >> $CONFIGFILE_TMP |
1003 | echo >> $CONFIGFILE_TMP |
|
1016 | mv -f $CONFIGFILE_TMP $CONFIGFILE |
1004 | mv -f $CONFIGFILE_TMP $CONFIGFILE |
|
Line 1017... | Line 1005... | |||
1017 | mv -f $HOSTFILE_TMP $HOSTFILE |
1005 | mv -f $HOSTFILE_TMP $HOSTFILE |
|
1018 | |
1006 | |
|
1019 | [ "$localuse" -gt 0 ] && { |
1007 | [ "$resolvfile" = "/tmp/resolv.conf.auto" ] && { |
|
1020 | rm -f /tmp/resolv.conf |
1008 | rm -f /tmp/resolv.conf |
|
1021 | [ $ADD_LOCAL_DOMAIN -eq 1 ] && [ -n "$DOMAIN" ] && { |
1009 | [ $ADD_LOCAL_DOMAIN -eq 1 ] && [ -n "$DOMAIN" ] && { |
|
1022 | echo "search $DOMAIN" >> /tmp/resolv.conf |
1010 | echo "search $DOMAIN" >> /tmp/resolv.conf |
|
Line 1032... | Line 1020... | |||
1032 | procd_set_param file $CONFIGFILE |
1020 | procd_set_param file $CONFIGFILE |
|
1033 | [ -n "$user_dhcpscript" ] && procd_set_param env USER_DHCPSCRIPT="$user_dhcpscript" |
1021 | [ -n "$user_dhcpscript" ] && procd_set_param env USER_DHCPSCRIPT="$user_dhcpscript" |
|
1034 | procd_set_param respawn |
1022 | procd_set_param respawn |
|
Line 1035... | Line 1023... | |||
1035 | |
1023 | |
|
1036 | procd_add_jail dnsmasq ubus log |
1024 | procd_add_jail dnsmasq ubus log |
|
1037 | procd_add_jail_mount $CONFIGFILE $TRUSTANCHORSFILE $HOSTFILE $RFC6761FILE $DHCPBOGUSHOSTNAMEFILE /etc/passwd /etc/group /etc/TZ /dev/null /dev/urandom $dnsmasqconffile $dnsmasqconfdir $resolvfile $user_dhcpscript /etc/hosts /etc/ethers /sbin/hotplug-call $EXTRA_MOUNT $DHCPSCRIPT |
1025 | procd_add_jail_mount $CONFIGFILE $TRUSTANCHORSFILE $HOSTFILE $RFC6761FILE /etc/passwd /etc/group /etc/TZ /dev/null /dev/urandom $dnsmasqconffile $dnsmasqconfdir $resolvfile $user_dhcpscript /etc/hosts /etc/ethers /sbin/hotplug-call $EXTRA_MOUNT $DHCPSCRIPT |
|
Line 1038... | Line 1026... | |||
1038 | procd_add_jail_mount_rw /var/run/dnsmasq/ $leasefile |
1026 | procd_add_jail_mount_rw /var/run/dnsmasq/ $leasefile |
|
1039 | |
1027 | |
|
Line 1040... | Line 1028... | |||
1040 | procd_close_instance |
1028 | procd_close_instance |
|
1041 | } |
1029 | } |
|
1042 | |
1030 | |
|
1043 | dnsmasq_stop() |
- | ||
Line 1044... | Line -... | |||
1044 | { |
- | ||
1045 | local cfg="$1" |
1031 | dnsmasq_stop() |
|
Line -... | Line 1032... | |||
- | 1032 | { |
||
1046 | local noresolv resolvfile localuse=0 |
1033 | local cfg="$1" resolvfile |
|
1047 | |
1034 | |
|
- | 1035 | config_get resolvfile "$cfg" "resolvfile" |
||
1048 | config_get_bool noresolv "$cfg" noresolv 0 |
1036 | |
|
- | 1037 | #relink /tmp/resolve.conf only for main instance |
||
- | 1038 | [ "$resolvfile" = "/tmp/resolv.conf.auto" ] && { |
||
Line 1049... | Line 1039... | |||
1049 | config_get resolvfile "$cfg" "resolvfile" |
1039 | [ -f /tmp/resolv.conf ] && { |
|
1050 | |
1040 | rm -f /tmp/resolv.conf |
|
Line 1051... | Line 1041... | |||
1051 | [ "$noresolv" = 0 -a "$resolvfile" = "/tmp/resolv.conf.auto" ] && localuse=1 |
1041 | ln -s "$resolvfile" /tmp/resolv.conf |