From: Patrick McHardy Date: Mon, 3 Dec 2007 15:32:28 +0000 (+0000) Subject: Fix showing help text for matches/targets with revision as user X-Git-Tag: v1.4.0~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df1ef3862761e534c6cec6bd9370285cb5909dd0;p=thirdparty%2Fiptables.git Fix showing help text for matches/targets with revision as user When running as a user iptables can't determine the highest supported revision and exits. Assume all revision are supported in case we get a EPERM. If the user is not showing the help text but trying to add new rules he'll get EPERM later anyway. --- diff --git a/xtables.c b/xtables.c index 6107119f..3cc864b2 100644 --- a/xtables.c +++ b/xtables.c @@ -411,6 +411,15 @@ static int compatible_revision(const char *name, u_int8_t revision, int opt) sockfd = socket(afinfo.family, SOCK_RAW, IPPROTO_RAW); if (sockfd < 0) { + if (errno == EPERM) { + /* revision 0 is always supported. */ + if (revision != 0) + fprintf(stderr, "Could not determine whether " + "revision %u is supported, " + "assuming it is.\n", + revision); + return 1; + } fprintf(stderr, "Could not open socket to kernel: %s\n", strerror(errno)); exit(1);