iptables: refer to dmesg if we hit EINVAL
With this patch, iptables refers to dmesg for further
troubleshooting if we hit EINVAL.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
diff --git a/ip6tables-standalone.c b/ip6tables-standalone.c
index c0ca645..649ac3d 100644
--- a/ip6tables-standalone.c
+++ b/ip6tables-standalone.c
@@ -68,10 +68,16 @@
ip6tc_free(handle);
}
- if (!ret)
- fprintf(stderr, "ip6tables: %s. "
- "Run `dmesg' for more information.\n",
- ip6tc_strerror(errno));
+ if (!ret) {
+ if (errno == EINVAL) {
+ fprintf(stderr, "ip6tables: %s. "
+ "Run `dmesg' for more information.\n",
+ ip6tc_strerror(errno));
+ } else {
+ fprintf(stderr, "ip6tables: %s.\n",
+ ip6tc_strerror(errno));
+ }
+ }
exit(!ret);
}
diff --git a/iptables-standalone.c b/iptables-standalone.c
index 208f71d..9185388 100644
--- a/iptables-standalone.c
+++ b/iptables-standalone.c
@@ -69,9 +69,14 @@
}
if (!ret) {
- fprintf(stderr, "iptables: %s. "
- "Run `dmesg' for more information.\n",
- iptc_strerror(errno));
+ if (errno == EINVAL) {
+ fprintf(stderr, "iptables: %s. "
+ "Run `dmesg' for more information.\n",
+ iptc_strerror(errno));
+ } else {
+ fprintf(stderr, "iptables: %s.\n",
+ iptc_strerror(errno));
+ }
if (errno == EAGAIN) {
exit(RESOURCE_PROBLEM);
}