summaryrefslogtreecommitdiffstats
path: root/communication.c
diff options
context:
space:
mode:
Diffstat (limited to 'communication.c')
-rw-r--r--communication.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/communication.c b/communication.c
index 02aff3f..54bdf01 100644
--- a/communication.c
+++ b/communication.c
@@ -172,8 +172,9 @@ void deliver_table(struct ebt_u_replace *u_repl)
// give the data to the kernel
optlen = sizeof(struct ebt_replace) + repl->entries_size;
if (setsockopt(sockfd, IPPROTO_IP, EBT_SO_SET_ENTRIES, repl, optlen))
- print_error("Couldn't update kernel chains, you probably need "
- "to insmod an extension");
+ print_error("The kernel doesn't support a certain ebtables"
+ " extension, consider recompiling your kernel or insmod"
+ " the extension");
}
// gets executed after deliver_table
@@ -379,9 +380,9 @@ void get_table(struct ebt_u_replace *u_repl)
optlen = sizeof(struct ebt_replace);
strcpy(repl.name, u_repl->name);
if (getsockopt(sockfd, IPPROTO_IP, EBT_SO_GET_INFO, &repl, &optlen))
- print_error("A kernel module needed by your command is probably"
- " not loaded. Try insmod ebtables or"
- " insmod ebtable_%s", repl.name);
+ print_error("The %s table is not supported by the kernel,"
+ " consider recompiling your kernel or try insmod ebt_%s",
+ repl.name, repl.name);
if ( !(repl.entries = (char *) malloc(repl.entries_size)) )
print_memory();