NetworkManager support
This commit is contained in:
11
dnsupdate
11
dnsupdate
@@ -224,7 +224,12 @@ EOF
|
||||
}
|
||||
|
||||
function check_ip() {
|
||||
local ips=`nslookup $1 | awk '/^Address: / { print \$2 }'`
|
||||
# $1 - hostname
|
||||
# $2 - IP
|
||||
# $3 - Replace
|
||||
# $4 - Server
|
||||
|
||||
local ips=`nslookup $1 $4 | awk '/^Address: / { print \$2 }'`
|
||||
local count=`echo $ips | wc -l`
|
||||
|
||||
if [ "$3" == "yes" ]; then
|
||||
@@ -281,7 +286,7 @@ function parse_ddns_config() {
|
||||
tsig_key_secret=${DDNS_TSIG_KEY_SECRET}
|
||||
|
||||
echo replace $DDNS_REPLACE
|
||||
if check_ip "$rr_name" "$rr_data" "$replace"; then
|
||||
if check_ip "$rr_name" "$rr_data" "$replace" "$server"; then
|
||||
run_nsupdate "${rr_name}" "${ttl}" "${type}" "${rr_data}" "${replace}" "${server}" "${tcp}" "${zone}" "${gss_tsig}" "${gss_keytab}" "${gss_principal}" "${tsig_file}" "${tsig_key_type}" "${tsig_key_name}" "${tsig_key_secret}"
|
||||
fi
|
||||
fi
|
||||
@@ -306,7 +311,7 @@ function parse_ddns_config() {
|
||||
tsig_key_name=$(eval echo "\${DDNS${hostnum}_TSIG_KEY_NAME-\${DDNS_TSIG_KEY_NAME}}")
|
||||
tsig_key_secret=$(eval echo "\${DDNS${hostnum}_TSIG_KEY_SECRET-\${DDNS_TSIG_KEY_SECRET}}")
|
||||
|
||||
if check_ip "$rr_name" "$rr_data" "$replace"; then
|
||||
if check_ip "$rr_name" "$rr_data" "$replace" "$server"; then
|
||||
run_nsupdate "${rr_name}" "${ttl}" "${type}" "${rr_data}" "${replace}" "${server}" "${tcp}" "${zone}" "${gss_tsig}" "${gss_keytab}" "${gss_principal}" "${tsig_file}" "${tsig_key_type}" "${tsig_key_name}" "${tsig_key_secret}"
|
||||
fi
|
||||
(( hostnum++ ))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Summary: Dynamic DNS for ppp and dhclient
|
||||
Name: dnsupdate
|
||||
Version: 0.5.2
|
||||
Version: 0.6.0
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2+
|
||||
Group: System Environment/Daemons
|
||||
@@ -15,6 +15,7 @@ Source0: dnsupdate
|
||||
Source1: dhclient-dnsupdate.sh
|
||||
Source2: ppp-dnsupdate.sh
|
||||
Source3: dnsupdate.cron
|
||||
Source4: nm-dnsupdate.sh
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
@@ -31,11 +32,13 @@ 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
|
||||
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/ppp/ip-up.d
|
||||
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d
|
||||
|
||||
install -pm 755 %{SOURCE0} $RPM_BUILD_ROOT%{_bindir}/dnsupdate
|
||||
install -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d/dnsupdate.sh
|
||||
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
|
||||
|
||||
%clean
|
||||
%{__rm} -rf %{buildroot}
|
||||
@@ -45,6 +48,7 @@ install -pm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/dnsupdate
|
||||
%defattr(-,root,root,-)
|
||||
|
||||
%{_bindir}/dnsupdate
|
||||
%{_sysconfdir}/NetworkManager/dispatcher.d/nm-dnsupdate.sh
|
||||
%{_sysconfdir}/dhcp/dhclient.d/dnsupdate.sh
|
||||
%{_sysconfdir}/ppp/ip-up.d/dnsupdate.sh
|
||||
%{_sysconfdir}/cron.d/dnsupdate
|
||||
|
||||
16
nm-dnsupdate.sh
Executable file
16
nm-dnsupdate.sh
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
IF=$1
|
||||
STATUS=$2
|
||||
|
||||
case "$2" in
|
||||
up|dhcp4-change)
|
||||
logger -s "NM Script up $IF triggered dnsupdate"
|
||||
dnsupdate "$1"
|
||||
;;
|
||||
down)
|
||||
logger -s "NM Script down $IF triggered dnsupdate"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user