diff --git a/dnsupdate b/dnsupdate index b6d75be..881584a 100755 --- a/dnsupdate +++ b/dnsupdate @@ -384,15 +384,29 @@ function update_iface() { return 1 fi + if [ -f /etc/sysconfig/network ]; then + . /etc/sysconfig/network + fi + + # Load global config if exists + [ -f /etc/dnsupdate/dnsupdate.cfg ] && . /etc/dnsupdate/dnsupdate.cfg + + # Load distro global config if exists [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network - [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network + if [ -f /etc/sysconfig/network-scripts/network-functions ]; then + . /etc/sysconfig/network-scripts/network-functions + # Load interface config + CONFIG="${1}" + need_config ${CONFIG} + source_config >/dev/null 2>&1 + fi - # Load interface config - cd /etc/sysconfig/network-scripts - CONFIG="${1}" - need_config ${CONFIG} - source_config >/dev/null 2>&1 + # Load dnsupdate interface specific config if exists + if [ -f /etc/dnsupdate/${1}.iface ]; then + [ "x${DDNS_DEBUG}x" != "xnox" ] && echo "Using config /etc/dnsupdate/${1}.iface" + . /etc/dnsupdate/${1}.iface + fi if [ "x${DDNS}x" == "xnox" ] ; then return 0 diff --git a/dnsupdate.cfg b/dnsupdate.cfg new file mode 100644 index 0000000..c00d426 --- /dev/null +++ b/dnsupdate.cfg @@ -0,0 +1,5 @@ +# Disable DDNS for all interfaces. You can enable it for specific interface. +DDNS=no + +# Enable for debugging (default: no) +DDNS_DEBUG=no diff --git a/dnsupdate.spec b/dnsupdate.spec index 25a4cfb..65909c9 100644 --- a/dnsupdate.spec +++ b/dnsupdate.spec @@ -1,13 +1,12 @@ Summary: Dynamic DNS for ppp and dhclient Name: dnsupdate -Version: 0.6.0 +Version: 0.8.0 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Daemons URL: http://netst.org/pub/fedora/st/ BuildArch: noarch -Requires: initscripts Requires: ppp Requires: bind-utils @@ -16,6 +15,7 @@ Source1: dhclient-dnsupdate.sh Source2: ppp-dnsupdate.sh Source3: dnsupdate.cron Source4: nm-dnsupdate.sh +Source5: dnsupdate.cfg BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -28,6 +28,7 @@ Dynamic DNS for ppp and dhclient. install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir} install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.d install -dm 755 $RPM_BUILD_ROOT%{_bindir} +install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/dnsupdate/ install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/ install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/ppp @@ -39,6 +40,7 @@ install -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d/dnsupda install -pm 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/ppp/ip-up.d/dnsupdate.sh install -pm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/dnsupdate install -pm 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d +install -pm 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/dnsupdate/dnsupdate.cfg %clean %{__rm} -rf %{buildroot} @@ -52,6 +54,7 @@ install -pm 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatch %{_sysconfdir}/dhcp/dhclient.d/dnsupdate.sh %{_sysconfdir}/ppp/ip-up.d/dnsupdate.sh %{_sysconfdir}/cron.d/dnsupdate +%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/dnsupdate/dnsupdate.cfg %changelog * Mon Jul 27 2015 Zoran Pericic - 0.5.2-1