dhclient-script: do not backup&restore /etc/resolv.conf and /etc/localtime.

This has been Fedora/RHEL feature only.
I don't know why it was added but
I also don't see how it could be useful and bugs
656339 and 306381 show that it's not so good idea.
This commit is contained in:
Jiri Popelka 2011-09-22 15:48:47 +02:00
parent 6fa69ac2d2
commit 1e3f54a9ec
2 changed files with 4 additions and 46 deletions

View File

@ -30,7 +30,6 @@
#
PATH=/bin:/usr/bin:/sbin
SAVEDIR=/var/lib/dhclient
LOGFACILITY="local7"
LOGLEVEL="notice"
@ -50,25 +49,6 @@ else
fix_context() { :; }
fi
save_previous() {
origfile="${1}"
savefile="${SAVEDIR}/${origfile##*/}.predhclient.${interface}"
if [ ! -d ${SAVEDIR} ]; then
mkdir -p ${SAVEDIR}
fi
if [ -e ${origfile} ]; then
contents="$(< ${origfile})"
echo "${contents}" > ${savefile}
rm -f ${origfile}
else
echo > ${savefile}
fi
fix_context ${savefile}
}
eventually_add_hostnames_domain_to_search() {
# For the case when hostname for this machine has a domain that is not in domain_search list
# 1) get a hostname with `ipcalc --hostname` or `hostname`
@ -126,7 +106,6 @@ make_resolv_conf() {
if [ -n "${new_domain_name}" ] ||
[ -n "${new_domain_name_servers}" ] ||
[ -n "${new_domain_search}" ]; then
save_previous /etc/resolv.conf
rscf="$(mktemp ${TMPDIR:-/tmp}/XXXXXX)"
echo "; generated by /sbin/dhclient-script" > ${rscf}
@ -166,7 +145,6 @@ make_resolv_conf() {
fix_context /etc/resolv.conf
elif [ -n "${new_dhcp6_name_servers}" ] ||
[ -n "${new_dhcp6_domain_search}" ]; then
save_previous /etc/resolv.conf
rscf="$(mktemp ${TMPDIR:-/tmp}/XXXXXX)"
echo "; generated by /sbin/dhclient-script" > ${rscf}
@ -528,7 +506,6 @@ dhconfig() {
tzfile=/usr/share/zoneinfo/Etc/GMT$(printf '%+d' ${hoursWest})
if [ -e ${tzfile} ]; then
save_previous /etc/localtime
cp -fp ${tzfile} /etc/localtime
touch /etc/localtime
fix_context /etc/localtime
@ -738,28 +715,6 @@ case "${reason}" in
;;
EXPIRE|FAIL|RELEASE|STOP)
# only restore config files if there are no other dhclient processes
# running (#306381)
dhclient_script_PID="$$"
dhclient_PID="${PPID}"
any_other_clients=$(ps -eo pid,ppid,comm | grep dhclient | grep -v -E "${dhclient_script_PID}|${dhclient_PID}")
if [ -z "${any_other_clients}" ]; then
if [ -f ${SAVEDIR}/resolv.conf.predhclient.${interface} ]; then
change_resolv_conf ${SAVEDIR}/resolv.conf.predhclient.${interface}
rm -f ${SAVEDIR}/resolv.conf.predhclient.${interface}
fi
if [[ ( "${DHCP_TIME_OFFSET_SETS_TIMEZONE}" = [yY1]* ) &&
( -e ${SAVEDIR}/localtime.predhclient.${interface} ) ]]; then
rm -f /etc/localtime
contents="$(< ${SAVEDIR}/localtime.predhclient.${interface})"
echo "${contents}" > /etc/localtime
rm -f ${SAVEDIR}/localtime.predhclient.${interface}
touch /etc/localtime
fix_context /etc/localtime
fi
fi
execute_client_side_configuration_scripts "restore"
if [ -x ${ETCDIR}/dhclient-${interface}-down-hooks ]; then

View File

@ -19,7 +19,7 @@
Summary: Dynamic host configuration protocol software
Name: dhcp
Version: 4.2.2
Release: 8%{?dist}
Release: 9%{?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.
@ -657,6 +657,9 @@ fi
%{_initddir}/dhcrelay
%changelog
* Thu Sep 22 2011 Jiri Popelka <jpopelka@redhat.com> - 12:4.2.2-9
- dhclient-script: do not backup&restore /etc/resolv.conf and /etc/localtime.
* Wed Sep 21 2011 Jiri Popelka <jpopelka@redhat.com> - 12:4.2.2-8
- SystemTap support: spec file change, some dummy probes, tapset, simple script