No bueno?
On Wed, Apr 07, 2010 at 01:30:34AM -0700, patrick keshishian wrote:
> Hello,
>
> At home I use static IPs, but when I take my laptop to work I
> end up using DHCP. Typically there are no issues, however, at
> work, if the link goes down, when it comes back up, the saved
> resolv.conf file gets clubbered with previous DHCP-ed version
> and leaves me to reconstruct my resolv.conf when I return
> home and discover things in a broken state.
>
> I believe there is no good reason for dhclient-script to
> override an already existing /etc/resolv.conf.save file.
> If I'm correct, the following patch[0] solves this issue.
>
> I don't have a way to test the IPv6 edition, but I have been
> running a pre 1.16 revision of this script with my patch for
> a couple of weeks now.
>
> Open to suggestions and corrections.
>
> Thanks,
> --patrick
>
> [0]
> Index: dhclient-script
> ===================================================================
> RCS file: /cvs/obsd/src/sbin/dhclient/dhclient-script,v
> retrieving revision 1.16
> diff -u -p dhclient-script
> --- dhclient-script 4 Apr 2010 22:53:50 -0000 1.16
> +++ dhclient-script 7 Apr 2010 08:17:07 -0000
> @@ -131,8 +131,10 @@ add_new_resolv_conf() {
> # In case (e.g. during OpenBSD installs) /etc/resolv.conf
> # is a symbolic link, take care to preserve the link and write
> # the new data in the correct location.
> + # However, don't override an already existing
> + # /etc/resolv.conf.save file.
>
> - if [ -f /etc/resolv.conf ]; then
> + if [ -f /etc/resolv.conf -a ! -e /etc/resolv.conf.save ]; then
> cat /etc/resolv.conf > /etc/resolv.conf.save
> fi
> cat /etc/resolv.conf.std > /etc/resolv.conf
> @@ -172,8 +174,10 @@ ip6_add_new_resolv_conf() {
> # In case (e.g. during OpenBSD installs) /etc/resolv.conf
> # is a symbolic link, take care to preserve the link and write
> # the new data in the correct location.
> + # However, don't override an already existing
> + # /etc/resolv.conf.save file.
>
> - if [ -f /etc/resolv.conf ]; then
> + if [ -f /etc/resolv.conf -a ! -e /etc/resolv.conf.save ]; then
> cat /etc/resolv.conf > /etc/resolv.conf.save
> fi
> cat /etc/resolv.conf.std6 > /etc/resolv.conf