From bb4a9fd5af2853bb2faf628d0c7dd64f53b474b9 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 22 Jan 2014 19:44:27 +0100 Subject: [PATCH] Fix race condition in dnsmasq config dir handling --- package/gluon-core/files/etc/init.d/gluon-core | 8 ++++++++ .../files/lib/gluon/upgrade/core/invariant/010-dnsmasq.d | 2 +- .../files/lib/gluon/dnsmasq.d/010-mesh-batman-adv.conf | 1 - .../generate/lib/gluon/odhcp6c.d/010-mesh-batman-adv | 4 ++-- 4 files changed, 11 insertions(+), 4 deletions(-) create mode 100755 package/gluon-core/files/etc/init.d/gluon-core delete mode 120000 package/gluon-mesh-batman-adv/files/lib/gluon/dnsmasq.d/010-mesh-batman-adv.conf diff --git a/package/gluon-core/files/etc/init.d/gluon-core b/package/gluon-core/files/etc/init.d/gluon-core new file mode 100755 index 00000000..4c69a5fa --- /dev/null +++ b/package/gluon-core/files/etc/init.d/gluon-core @@ -0,0 +1,8 @@ +#!/bin/sh /etc/rc.common + +START=11 + + +start() { + mkdir -p /var/gluon/dnsmasq.d +} diff --git a/package/gluon-core/files/lib/gluon/upgrade/core/invariant/010-dnsmasq.d b/package/gluon-core/files/lib/gluon/upgrade/core/invariant/010-dnsmasq.d index 8e84c1f5..ad7f1e2a 100755 --- a/package/gluon-core/files/lib/gluon/upgrade/core/invariant/010-dnsmasq.d +++ b/package/gluon-core/files/lib/gluon/upgrade/core/invariant/010-dnsmasq.d @@ -1,3 +1,3 @@ #!/bin/sh -echo 'conf-dir=/lib/gluon/dnsmasq.d' > /etc/dnsmasq.conf +echo -e 'conf-dir=/lib/gluon/dnsmasq.d\nconf-dir=/var/gluon/dnsmasq.d' > /etc/dnsmasq.conf diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/dnsmasq.d/010-mesh-batman-adv.conf b/package/gluon-mesh-batman-adv/files/lib/gluon/dnsmasq.d/010-mesh-batman-adv.conf deleted file mode 120000 index f4b89cbe..00000000 --- a/package/gluon-mesh-batman-adv/files/lib/gluon/dnsmasq.d/010-mesh-batman-adv.conf +++ /dev/null @@ -1 +0,0 @@ -/var/gluon/mesh-batman-adv/dnsmasq.conf \ No newline at end of file diff --git a/package/gluon-mesh-batman-adv/generate/lib/gluon/odhcp6c.d/010-mesh-batman-adv b/package/gluon-mesh-batman-adv/generate/lib/gluon/odhcp6c.d/010-mesh-batman-adv index 5f702522..e06837ed 100755 --- a/package/gluon-mesh-batman-adv/generate/lib/gluon/odhcp6c.d/010-mesh-batman-adv +++ b/package/gluon-mesh-batman-adv/generate/lib/gluon/odhcp6c.d/010-mesh-batman-adv @@ -10,12 +10,12 @@ for ns in $RDNSS $RA_DNS; do done done > /var/gluon/mesh-batman-adv/dnsmasq.conf.$$ -if cmp -s /var/gluon/mesh-batman-adv/dnsmasq.conf.$$ /var/gluon/mesh-batman-adv/dnsmasq.conf; then +if cmp -s /var/gluon/mesh-batman-adv/dnsmasq.conf.$$ /var/gluon/dnsmasq.d/mesh-batman-adv.conf; then rm /var/gluon/mesh-batman-adv/dnsmasq.conf.$$ exit 0 fi lock /var/gluon/mesh-batman-adv/dnsmasq.conf.lock -mv -f /var/gluon/mesh-batman-adv/dnsmasq.conf.$$ /var/gluon/mesh-batman-adv/dnsmasq.conf +mv -f /var/gluon/mesh-batman-adv/dnsmasq.conf.$$ /var/gluon/dnsmasq.d/mesh-batman-adv.conf /etc/init.d/dnsmasq restart lock -u /var/gluon/mesh-batman-adv/dnsmasq.conf.lock