busybox: udhcpc.script: fix resolv.conf handling with multiple interfaces
authorPeter Korsgaard <jacmet@sunsite.dk>
Wed, 26 Jun 2013 13:01:46 +0000 (15:01 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Wed, 26 Jun 2013 13:20:50 +0000 (15:20 +0200)
commit584f418ec1ae3f0b5e09c10133c82578d78a3e03
tree678915729dae2dbe31929bbeeee76f597fc7c882
parent8432d81a849efca1d95ab0bd1324afd96bbdd804
busybox: udhcpc.script: fix resolv.conf handling with multiple interfaces

When udhcpc is used on multiple network devices at the same time (or a mix
of dhcp and fixed configuration), /etc/resolv.conf should contain the
union of information from all the interfaces.

Currently that's not the case. The udhcpc script simply overwrites
resolv.conf with the information from the specific interface on each dhcp
bound/renew event.

Fix it by tagging lines with the interface they came from when added,
and drop the affected lines on deconfig/renew. As /etc/resolv.conf is
often a symlink to /tmp (and rootfs might be read only), special care
has to be taken when it is updated.

Notice that I'm not really aware of any official documentation requiring
that '#' comments in /etc/resolv.conf must be supported, but atleast
glibc and uClibc do.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/busybox/udhcpc.script