summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--staging/mausezahn.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/staging/mausezahn.c b/staging/mausezahn.c
index ec3bc0e..7acd6bc 100644
--- a/staging/mausezahn.c
+++ b/staging/mausezahn.c
@@ -671,6 +671,15 @@ int getopts (int argc, char *argv[])
tx.ip_src_rand = 1;
tx.ip_src_h = (u_int32_t) ( ((float) rand()/RAND_MAX)*0xE0000000); //this is 224.0.0.0
}
+ else if (ipv6_mode && (strstr(tx.ip_src_txt, ".") || strstr(tx.ip_dst_txt, "."))) {
+ fprintf(stderr, "You are using IPv6 mode but are providing IPv4 src/dst addresses.\n");
+ return 1;
+ }
+ else if (!ipv6_mode && (strstr(tx.ip_src_txt, ":") || strstr(tx.ip_dst_txt, ":"))) {
+ fprintf(stderr, "You are using IPv4 mode (the default) but are providing IPv6 src/dst addresses.\n");
+ fprintf(stderr, "Please use the -6 option for IPv6 mode.\n");
+ return 1;
+ }
else if (
(ipv6_mode && get_ip6_range_src(tx.ip_src_txt, l)) || // returns 1 when no range has been specified
(!ipv6_mode && get_ip_range_src(tx.ip_src_txt))
@@ -892,7 +901,7 @@ int main(int argc, char **argv)
if ( getopts(argc, argv) )
{
- (void) fprintf(stderr, " Invalid command line parameters!\n");
+ (void) fprintf(stderr, "Invalid command line parameters!\n");
help();
}