iproute2/iproute2-2.6.23-flushcheckuid.diff

35 lines
798 B
Diff

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) {