diff options
Diffstat (limited to 'main/busybox')
-rw-r--r-- | main/busybox/APKBUILD | 14 | ||||
-rw-r--r-- | main/busybox/bbsuid.c | 3 | ||||
-rw-r--r-- | main/busybox/busybox.post-upgrade | 7 |
3 files changed, 16 insertions, 8 deletions
diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD index cd86eebae0..24678820bf 100644 --- a/main/busybox/APKBUILD +++ b/main/busybox/APKBUILD @@ -2,13 +2,13 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=busybox pkgver=1.23.2 -pkgrel=0 +pkgrel=1 pkgdesc="Size optimized toolbox of many common UNIX utilities" url=http://busybox.net arch="all" license="GPL-2" depends= -makedepends="linux-headers" +makedepends="linux-headers libcap" install="$pkgname.post-install $pkgname.post-upgrade" subpackages="$pkgname-static" options="suid" @@ -92,6 +92,10 @@ package() { chmod 1777 "$pkgdir"/tmp install -m755 busybox "$pkgdir"/bin/busybox || return 1 install -m4111 bbsuid "$pkgdir"/bin/bbsuid || return 1 + + # if setcap is available, make ping/traceroute work without suid + [ -x "/usr/sbin/setcap" ] && setcap cap_net_raw+ep "$pkgdir"/bin/busybox + # we need /bin/sh to be able to execute post-install ln -s /bin/busybox "$pkgdir"/bin/sh @@ -114,7 +118,7 @@ static() { } md5sums="7925683d7dd105aabe9b6b618d48cc73 busybox-1.23.2.tar.bz2 -8485cf1e389e891914cbb8771a6d9bbd bbsuid.c +f0a2122ac373be0eab0ce0bdba0e5390 bbsuid.c d64b58a30892c558bdbab7f0d0997577 nologin.c 4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch b5375210f13fd6e1ca61a565e8fabd35 busybox-uname-is-not-gnu.patch @@ -131,7 +135,7 @@ b56d306ccba574da78dff060b7330806 1001-fbsplash-support-console-switching.patch 3cff842a3618c84465d7ef5425c8749b busyboxconfig befaac2c59c380e36a452b3f1c1d4a3a glibc.patch" sha256sums="05a6f9e21aad8c098e388ae77de7b2361941afa7157ef74216703395b14e319a busybox-1.23.2.tar.bz2 -81957f1fe0c386120dad1c8174ccc1fcfeed98c14d229db7d164d4fb4c938b3d bbsuid.c +a9cf61512fe683c979b2057c8bda67d86bbc358120e1649b023f5a28396eb718 bbsuid.c 9bbf0bec82e6d6907474958f3be048c54657fbf49207810b7e4d4d6146f0069d nologin.c 327bb8049e2726351a5c8b6b2cef864f6ce58725d4453983f97092ea73656ccc busybox-1.11.1-bb.patch a31ce8bcb8b81b20e80ffa407600a530d085806c6471f4e4249fcb3a491b79ef busybox-uname-is-not-gnu.patch @@ -148,7 +152,7 @@ e1f3fad8e21dfd72cfcae7ab3ba31d7938e964e0f9ec08b2da0b14d462435424 1002-fbsplash- 342bb69c144a1e63d7a7fe4c24578ce5b483c09751ac16bb36d1b88929068141 busyboxconfig c604ef791c31d35a8c5ee4558d21428a46f37a6d762c4a7e29864f4037fc44a0 glibc.patch" sha512sums="209c8ef26e40ccb81510f6b663202b080f9bbecac7faf386bbabf7e36a43d63b15dd6ce9f7a84c1ccc5345c524999812251da1e113ef9faadc6af1fedd24c7c9 busybox-1.23.2.tar.bz2 -16b3dd6a8b76b062d51458351fcb44f84b49eb4bf898584c933df90fb2cb3966f9547865a4d7447589bb20b7c203beb04ff7512f76f85d29138d2cff4eb9ee81 bbsuid.c +84aafe436926e172acd2515731775b720c7679e71c54a253973e15b56002f031d2fc94bca9e6108d05be04d83baa6a427fc477da4f1ad9caa9d5771756d9072b bbsuid.c 4e7c291a70e879b74c0fc07c54a73ef50537d8be68fee6b2d409425c07afd2d67f9b6afcd8c33a7971014913cc5de85e45079681c9e77200c6cc2f34acfba6d2 nologin.c eb7cce973bfd53ce3350713437b9e2751becfb8dfb10b14f27c4f812297c403b90f80dc2906179d499e8dffbe6df8aa37ae27625c552162923d59fe35b55b32b busybox-1.11.1-bb.patch 225c0608972f7daaca672eafdf647eea392e076537287370ca7791931de4803645d4d159385dc2909314028dccba3c64d0c89fa4e1184f856959b17c58459ed1 busybox-uname-is-not-gnu.patch diff --git a/main/busybox/bbsuid.c b/main/busybox/bbsuid.c index 9fc9bb1972..37b89e5bc4 100644 --- a/main/busybox/bbsuid.c +++ b/main/busybox/bbsuid.c @@ -21,13 +21,10 @@ const static char * applets[] = { "/bin/mount", - "/bin/ping", - "/bin/ping6", "/bin/umount", "/usr/bin/crontab", "/usr/bin/passwd", "/usr/bin/su", - "/usr/bin/traceroute", NULL }; diff --git a/main/busybox/busybox.post-upgrade b/main/busybox/busybox.post-upgrade index 268f22d408..833c05d806 100644 --- a/main/busybox/busybox.post-upgrade +++ b/main/busybox/busybox.post-upgrade @@ -7,5 +7,12 @@ for link in /bin/install /bin/ip /bin/vi /usr/bin/lspci; do fi done +# remove links that used to be under control of bbsuid +for link in /bin/ping /bin/ping6 /usr/bin/traceroute; do + if [ -L "$link" ] && [ "$(readlink $link)" = "/bin/bbsuid" ]; then + rm "$link" + fi +done + # We need the symlinks early exec /bin/busybox --install -s |