OpenWrt – Diff between revs 2 and 3

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
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