Lines 57-63
static wordtab_t *state_fields = NULL;
Link Here
|
57 |
|
57 |
|
58 |
int nohdrfields = 0; |
58 |
int nohdrfields = 0; |
59 |
int opts = 0; |
59 |
int opts = 0; |
|
|
60 |
#ifdef USE_INET6 |
61 |
int use_inet4 = 0; |
60 |
int use_inet6 = 0; |
62 |
int use_inet6 = 0; |
|
|
63 |
#endif |
61 |
int live_kernel = 1; |
64 |
int live_kernel = 1; |
62 |
int state_fd = -1; |
65 |
int state_fd = -1; |
63 |
int ipf_fd = -1; |
66 |
int ipf_fd = -1; |
Lines 206-214
int main(argc,argv)
Link Here
|
206 |
u_32_t frf; |
209 |
u_32_t frf; |
207 |
|
210 |
|
208 |
#ifdef USE_INET6 |
211 |
#ifdef USE_INET6 |
209 |
options = "6aACdfghIilnostvD:m:M:N:O:P:RS:T:"; |
212 |
options = "46aACdfghIilnostvD:m:M:N:O:P:RS:T:"; |
210 |
#else |
213 |
#else |
211 |
options = "aACdfghIilnostvD:m:M:N:O:P:RS:T:"; |
214 |
options = "4aACdfghIilnostvD:m:M:N:O:P:RS:T:"; |
212 |
#endif |
215 |
#endif |
213 |
|
216 |
|
214 |
saddr.in4.s_addr = INADDR_ANY; /* default any v4 source addr */ |
217 |
saddr.in4.s_addr = INADDR_ANY; /* default any v4 source addr */ |
Lines 283-288
int main(argc,argv)
Link Here
|
283 |
switch (c) |
286 |
switch (c) |
284 |
{ |
287 |
{ |
285 |
#ifdef USE_INET6 |
288 |
#ifdef USE_INET6 |
|
|
289 |
case '4' : |
290 |
use_inet4 = 1; |
291 |
break; |
286 |
case '6' : |
292 |
case '6' : |
287 |
use_inet6 = 1; |
293 |
use_inet6 = 1; |
288 |
break; |
294 |
break; |
Lines 385-390
int main(argc,argv)
Link Here
|
385 |
break; |
391 |
break; |
386 |
} |
392 |
} |
387 |
} |
393 |
} |
|
|
394 |
#ifdef USE_INET6 |
395 |
if (use_inet4 == 0 && use_inet6 == 0) |
396 |
use_inet4 = use_inet6 = 1; |
397 |
#endif |
388 |
|
398 |
|
389 |
if (live_kernel == 1) { |
399 |
if (live_kernel == 1) { |
390 |
bzero((char *)&fio, sizeof(fio)); |
400 |
bzero((char *)&fio, sizeof(fio)); |
Lines 410-417
int main(argc,argv)
Link Here
|
410 |
#ifdef STATETOP |
420 |
#ifdef STATETOP |
411 |
else if (opts & OPT_STATETOP) |
421 |
else if (opts & OPT_STATETOP) |
412 |
topipstates(saddr, daddr, sport, dport, protocol, |
422 |
topipstates(saddr, daddr, sport, dport, protocol, |
413 |
use_inet6 ? 6 : 4, refreshtime, topclosed, filter); |
423 |
#ifdef USE_INET6 |
|
|
424 |
use_inet6 && !use_inet4 ? 6 : 4, |
425 |
#else |
426 |
4, |
427 |
#endif |
414 |
#endif |
428 |
#endif |
|
|
429 |
refreshtime, topclosed, filter); |
415 |
else if (opts & OPT_AUTHSTATS) |
430 |
else if (opts & OPT_AUTHSTATS) |
416 |
showauthstates(frauthstp); |
431 |
showauthstates(frauthstp); |
417 |
else if (opts & OPT_GROUPS) |
432 |
else if (opts & OPT_GROUPS) |
Lines 805-819
printlivelist(fiop, out, set, fp, group, comment)
Link Here
|
805 |
if (rule.iri_rule == NULL) |
820 |
if (rule.iri_rule == NULL) |
806 |
break; |
821 |
break; |
807 |
#ifdef USE_INET6 |
822 |
#ifdef USE_INET6 |
808 |
if (use_inet6 != 0) { |
823 |
if (use_inet6 != 0 && use_inet4 == 0) { |
809 |
if (fp->fr_family != 0 && fp->fr_family != AF_INET6) |
824 |
if (fp->fr_family != 0 && fp->fr_family != AF_INET6) |
810 |
continue; |
825 |
continue; |
811 |
} else |
826 |
} else if (use_inet4 != 0 && use_inet6 == 0) { |
812 |
#endif |
827 |
#endif |
813 |
{ |
|
|
814 |
if (fp->fr_family != 0 && fp->fr_family != AF_INET) |
828 |
if (fp->fr_family != 0 && fp->fr_family != AF_INET) |
815 |
continue; |
829 |
continue; |
|
|
830 |
#ifdef USE_INET6 |
831 |
} else { |
832 |
if (fp->fr_family != 0 && |
833 |
fp->fr_family != AF_INET && fp->fr_family != AF_INET6) |
834 |
continue; |
816 |
} |
835 |
} |
|
|
836 |
#endif |
837 |
|
817 |
if (fp->fr_data != NULL) |
838 |
if (fp->fr_data != NULL) |
818 |
fp->fr_data = (char *)fp + fp->fr_size; |
839 |
fp->fr_data = (char *)fp + fp->fr_size; |
819 |
|
840 |
|
Lines 904-916
static void printdeadlist(fiop, out, set, fp, group, comment)
Link Here
|
904 |
return; |
925 |
return; |
905 |
} |
926 |
} |
906 |
fp = &fb; |
927 |
fp = &fb; |
907 |
if (use_inet6 != 0) { |
928 |
#ifdef USE_INET6 |
908 |
if (fp->fr_family != 0 && fp->fr_family != 6) |
929 |
if (use_inet6 != 0 && use_inet4 == 0) { |
|
|
930 |
if (fp->fr_family != 0 && fp->fr_family != AF_INET6) |
909 |
continue; |
931 |
continue; |
|
|
932 |
} else if (use_inet4 != 0 && use_inet6 == 0) { |
933 |
#endif |
934 |
if (fp->fr_family != 0 && fp->fr_family != AF_INET) |
935 |
continue; |
936 |
#ifdef USE_INET6 |
910 |
} else { |
937 |
} else { |
911 |
if (fp->fr_family != 0 && fp->fr_family != 4) |
938 |
if (fp->fr_family != 0 && |
|
|
939 |
fp->fr_family != AF_INET && fp->fr_family != AF_INET6) |
912 |
continue; |
940 |
continue; |
913 |
} |
941 |
} |
|
|
942 |
#endif |
914 |
|
943 |
|
915 |
data = NULL; |
944 |
data = NULL; |
916 |
type = fb.fr_type & ~FR_T_BUILTIN; |
945 |
type = fb.fr_type & ~FR_T_BUILTIN; |
Lines 1906-1912
static void parse_ipportstr(argument, ip, port)
Link Here
|
1906 |
ok = 1; |
1935 |
ok = 1; |
1907 |
#ifdef USE_INET6 |
1936 |
#ifdef USE_INET6 |
1908 |
ip->in6 = in6addr_any; |
1937 |
ip->in6 = in6addr_any; |
1909 |
} else if (use_inet6 && inet_pton(AF_INET6, s, &ip->in6)) { |
1938 |
} else if (use_inet6 && !use_inet4 && inet_pton(AF_INET6, s, &ip->in6)) { |
1910 |
ok = 1; |
1939 |
ok = 1; |
1911 |
#endif |
1940 |
#endif |
1912 |
} else if (inet_aton(s, &ip->in4)) |
1941 |
} else if (inet_aton(s, &ip->in4)) |
Lines 2047-2053
static int sort_srcip(a, b)
Link Here
|
2047 |
register const statetop_t *bp = b; |
2076 |
register const statetop_t *bp = b; |
2048 |
|
2077 |
|
2049 |
#ifdef USE_INET6 |
2078 |
#ifdef USE_INET6 |
2050 |
if (use_inet6) { |
2079 |
if (use_inet6 && !use_inet4) { |
2051 |
if (IP6_EQ(&ap->st_src, &bp->st_src)) |
2080 |
if (IP6_EQ(&ap->st_src, &bp->st_src)) |
2052 |
return 0; |
2081 |
return 0; |
2053 |
else if (IP6_GT(&ap->st_src, &bp->st_src)) |
2082 |
else if (IP6_GT(&ap->st_src, &bp->st_src)) |
Lines 2087-2093
static int sort_dstip(a, b)
Link Here
|
2087 |
register const statetop_t *bp = b; |
2116 |
register const statetop_t *bp = b; |
2088 |
|
2117 |
|
2089 |
#ifdef USE_INET6 |
2118 |
#ifdef USE_INET6 |
2090 |
if (use_inet6) { |
2119 |
if (use_inet6 && !use_inet4) { |
2091 |
if (IP6_EQ(&ap->st_dst, &bp->st_dst)) |
2120 |
if (IP6_EQ(&ap->st_dst, &bp->st_dst)) |
2092 |
return 0; |
2121 |
return 0; |
2093 |
else if (IP6_GT(&ap->st_dst, &bp->st_dst)) |
2122 |
else if (IP6_GT(&ap->st_dst, &bp->st_dst)) |