rpms/dhcp/devel 56dhclient,NONE,1.1 dhcp.spec,1.266,1.267
David Cantrell
dcantrel at fedoraproject.org
Thu Aug 6 21:45:19 UTC 2009
Author: dcantrel
Update of /cvs/pkgs/rpms/dhcp/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11380
Modified Files:
dhcp.spec
Added Files:
56dhclient
Log Message:
* Thu Aug 06 2009 David Cantrell <dcantrell at redhat.com> - 12:4.1.0p1-2
- Add /usr/lib[64]/pm-utils/sleep.d/56dhclient to handle suspend and
resume with active dhclient leases (#479639)
--- NEW FILE 56dhclient ---
#!/bin/sh
# If we are running dhclient, shutdown running instances cleanly and
# bring them back up on resume.
. "${PM_FUNCTIONS}"
PM_DHCLIENT_RUNDIR="${PM_UTILS_RUNDIR}/network"
PM_DHCLIENT_SUSPEND="${PM_DHCLIENT_RUNDIR}/dhclient.suspend"
suspend_dhclient() {
[ ! -d /etc/sysconfig/network-scripts ] && return
[ ! -x /sbin/ifdown ] && return
[ ! -d ${PM_DHCLIENT_RUNDIR} ] && /bin/mkdir -p ${PM_DHCLIENT_RUNDIR}
[ -f ${PM_DHCLIENT_SUSPEND} ] && /bin/rm -f ${PM_DHCLIENT_SUSPEND}
cd /etc/sysconfig/network-scripts
for ifcfg in ifcfg-* ; do
# Clear relevant parameters set by previous interface
# (lo doesn't set them)
NM_CONTROLLED=
BOOTPROTO=
. ./${ifcfg}
if [ "${NM_CONTROLLED}" = "no" ] || [ "${NM_CONTROLLED}" = "n" ] || [ "${NM_CONTROLLED}" = "false" ]; then
if [ "${BOOTPROTO}" = "bootp" ] || [ "${BOOTPROTO}" = "dhcp" ] || [ -z "${BOOTPROTO}" ]; then
# device is not NetworkManager controlled and uses dhcp,
# now see if it's actually up at the moment
/sbin/ip link show ${DEVICE} | /bin/grep -qE "state (UP|UNKNOWN)" >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "${DEVICE}" >> ${PM_DHCLIENT_SUSPEND}
/sbin/ifdown ${DEVICE}
fi
fi
fi
done
}
resume_dhclient() {
[ ! -f ${PM_DHCLIENT_SUSPEND} ] && return
[ ! -x /sbin/ifup ] && return
cd /etc/sysconfig/network-scripts
while read device ; do
/sbin/ifup ${DEVICE}
done < ${PM_DHCLIENT_SUSPEND}
/bin/rm -f ${PM_DHCLIENT_SUSPEND}
}
case "$1" in
hibernate|suspend)
suspend_dhclient
;;
thaw|resume)
resume_dhclient
;;
*) exit $NA
;;
esac
Index: dhcp.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dhcp/devel/dhcp.spec,v
retrieving revision 1.266
retrieving revision 1.267
diff -u -p -r1.266 -r1.267
--- dhcp.spec 5 Aug 2009 23:59:10 -0000 1.266
+++ dhcp.spec 6 Aug 2009 21:45:18 -0000 1.267
@@ -13,7 +13,7 @@
Summary: Dynamic host configuration protocol software
Name: dhcp
Version: %{basever}p1
-Release: 1%{?dist}
+Release: 2%{?dist}
# NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to
# dcantrell maintaining the package) made incorrect use of the epoch and
# that's why it is at 12 now. It should have never been used, but it was.
@@ -29,6 +29,7 @@ Source3: dhcrelay.init
Source4: dhclient-script
Source5: README.dhclient.d
Source6: 10-dhclient
+Source7: 56dhclient
Patch0: %{name}-4.1.0-errwarn-message.patch
Patch1: %{name}-4.1.0-memory.patch
@@ -350,6 +351,10 @@ EOF
%{__mkdir} -p %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d
%{__install} -p -m 0755 %{SOURCE6} %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d
+# Install pm-utils script to handle suspend/resume and dhclient leases
+%{__mkdir} -p %{buildroot}%{_libdir}/pm-utils/sleep.d
+%{__install} -p -m 0755 %{SOURCE6} %{buildroot}%{_libdir}/pm-utils/sleep.d
+
%clean
%{__rm} -rf %{buildroot}
@@ -446,6 +451,7 @@ fi
%dir %{_localstatedir}/lib/dhclient
/sbin/dhclient
/sbin/dhclient-script
+%{_libdir}/pm-utils
%attr(0644,root,root) %{_mandir}/man5/dhclient.conf.5.gz
%attr(0644,root,root) %{_mandir}/man5/dhclient.leases.5.gz
%attr(0644,root,root) %{_mandir}/man8/dhclient.8.gz
@@ -465,6 +471,10 @@ fi
%attr(0644,root,root) %{_mandir}/man3/omapi.3.gz
%changelog
+* Thu Aug 06 2009 David Cantrell <dcantrell at redhat.com> - 12:4.1.0p1-2
+- Add /usr/lib[64]/pm-utils/sleep.d/56dhclient to handle suspend and
+ resume with active dhclient leases (#479639)
+
* Wed Aug 05 2009 David Cantrell <dcantrell at redhat.com> - 12:4.1.0p1-1
- Upgrade to dhcp-4.1.0p1, which is the official upstream release to fix
CVE-2009-0692
More information about the fedora-extras-commits
mailing list