diff --git a/iproute2-2.6.29-1-flushcheckuid.diff b/iproute2-2.6.29-1-flushcheckuid.diff index 44eea90..24b4e78 100644 --- a/iproute2-2.6.29-1-flushcheckuid.diff +++ b/iproute2-2.6.29-1-flushcheckuid.diff @@ -1,12 +1,10 @@ -Index: ip/ipaddress.c -=================================================================== ---- ip/ipaddress.c.orig -+++ ip/ipaddress.c -@@ -589,6 +589,12 @@ +--- ip/ipaddress.c 2009-03-24 22:40:54.000000000 +0000 ++++ ip/ipaddress.c 2009-11-11 09:30:07.000000000 +0000 +@@ -692,6 +692,12 @@ if (flush) { int round = 0; char flushb[4096-512]; -+ uid_t uid = getuid(); ++ uid_t uid = geteuid(); + + if(uid) { + fprintf(stderr, "Not sufficient rights to flush\n"); @@ -15,20 +13,18 @@ Index: ip/ipaddress.c filter.flushb = flushb; filter.flushp = 0; -Index: ip/iproute.c -=================================================================== ---- ip/iproute.c.orig -+++ ip/iproute.c -@@ -1153,6 +1153,12 @@ +--- ip/iproute.c 2009-11-11 09:30:07.000000000 +0000 ++++ ip/iproute.c 2009-11-11 09:35:23.000000000 +0000 +@@ -1212,6 +1212,12 @@ int round = 0; char flushb[4096-512]; time_t start = time(0); -+ uid_t uid = getuid(); -+ ++ uid_t uid = geteuid(); ++ + if(uid) { + fprintf(stderr, "Not sufficient rights to flush\n"); + exit(EXIT_FAILURE); + } - if (filter.tb == -1) { + if (filter.cloned) { if (do_ipv6 != AF_INET6) { diff --git a/iproute2-2.6.29-1-skbedit-memset.diff b/iproute2-2.6.29-1-skbedit-memset.diff index 950d774..2016df8 100644 --- a/iproute2-2.6.29-1-skbedit-memset.diff +++ b/iproute2-2.6.29-1-skbedit-memset.diff @@ -1,8 +1,8 @@ ---- tc/m_skbedit.c 2009-01-27 10:42:39.000000000 +0000 -+++ tc/m_skbedit.c 2009-01-27 10:45:09.000000000 +0000 +--- tc/m_skbedit.c 2009-03-24 22:40:54.000000000 +0000 ++++ tc/m_skbedit.c 2009-11-11 09:42:09.000000000 +0000 @@ -57,6 +57,8 @@ - __u16 queue_mapping; __u32 flags = 0, priority; + struct tc_skbedit sel = { 0 }; + memset(&sel, 0, sizeof(struct tc_skbedit)); + diff --git a/iproute2.changes b/iproute2.changes index 6bff17d..5373a61 100644 --- a/iproute2.changes +++ b/iproute2.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Nov 11 10:19:45 CET 2009 - ms@suse.de + +- check effective UID instead of real UID in the flush + permissions coding (bnc #554419) + ------------------------------------------------------------------- Fri Oct 9 14:17:41 CEST 2009 - ms@suse.de diff --git a/iproute2.spec b/iproute2.spec index 1f85d84..c16ae7e 100644 --- a/iproute2.spec +++ b/iproute2.spec @@ -25,7 +25,7 @@ Group: Productivity/Networking/Routing Provides: iproute AutoReqProv: on Version: 2.6.29.1 -Release: 5 +Release: 6 %define rversion 2.6.29-1 Summary: Advanced Routing Url: http://developer.osdl.org/dev/iproute2/