From 727d3b879fa8593da80813e43fbd57e08fb2bc32 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Tue, 21 Mar 2017 12:03:03 +0200 Subject: main/ipset: fix race conditions in init script --- main/ipset/APKBUILD | 4 ++-- main/ipset/ipset.initd | 16 +++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'main/ipset') diff --git a/main/ipset/APKBUILD b/main/ipset/APKBUILD index b5951709ce..224f3bb71b 100644 --- a/main/ipset/APKBUILD +++ b/main/ipset/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Kaarle Ritvanen pkgname=ipset pkgver=6.32 -pkgrel=1 +pkgrel=2 pkgdesc="Manage Linux IP sets" url=http://ipset.netfilter.org/ arch="all" @@ -45,4 +45,4 @@ package() { } sha512sums="7b0f5e7ef1a777ab70872aa52f658ff9516cb5de4c67c56d7f596eb88db03467d39b10ffc098441b4bfa4bb21a15f3c5f7f7f825300ce8efbacd767369ad43c7 ipset-6.32.tar.bz2 -deafc83f58e9abba9c9c399c246dcb687d4f5295b1807b923b8c02922584b70c2642221257f577e1cd86006b89ded08784d4d2953d6f043d7621f61eb83f1af7 ipset.initd" +3b65c2cfc3c85240c988b7f1d63131e0d364c9605c6b81184167c17b6820c7cab2818f765a90790946954bcf700024a088238a1c9ebddf1667288f5562c4b8ce ipset.initd" diff --git a/main/ipset/ipset.initd b/main/ipset/ipset.initd index ee1668939b..2678c007e8 100644 --- a/main/ipset/ipset.initd +++ b/main/ipset/ipset.initd @@ -95,7 +95,9 @@ reload() { fi echo create $new $(set_file $name | head -n 1) done + ) | ipset restore + ( for name in $(set_files); do local new=$name set_exists _init_$name && new=_init_$name @@ -105,15 +107,15 @@ reload() { for name in $swap; do echo swap $name _init_$name done + ) | ipset restore - for name in $(set_lists); do - [ -f $DIR/$name ] || echo destroy $name - done + for name in $(set_lists); do + [ -f $DIR/$name ] || echo destroy $name + done | ipset restore - for name in $(sets); do - [ -f $DIR/$name ] || echo destroy $name - done - ) | ipset restore + for name in $(sets); do + [ -f $DIR/$name ] || echo destroy $name + done | ipset restore eend $STATUS } -- cgit v1.2.3