File iproute2-2.6.25-flushcheckuid.diff of Package iproute2

Index: ip/ipaddress.c
===================================================================
--- ip/ipaddress.c.orig
+++ ip/ipaddress.c
@@ -589,6 +589,12 @@
 	if (flush) {
 		int round = 0;
 		char flushb[4096-512];
+		uid_t uid = getuid();
+
+		if(uid) {
+			fprintf(stderr, "Not sufficient rights to flush\n");
+			exit(EXIT_FAILURE);
+		}
 
 		filter.flushb = flushb;
 		filter.flushp = 0;
Index: ip/iproute.c
===================================================================
--- ip/iproute.c.orig
+++ ip/iproute.c
@@ -1153,6 +1153,12 @@
 		int round = 0;
 		char flushb[4096-512];
 		time_t start = time(0);
+		uid_t uid = getuid();
+		
+		if(uid) {
+			fprintf(stderr, "Not sufficient rights to flush\n");
+			exit(EXIT_FAILURE);
+		}
 
 		if (filter.tb == -1) {
 			if (do_ipv6 != AF_INET6) {
openSUSE Build Service is sponsored by