ipftest.c revision 5e985db5e665b4363a8154fb1870b3895ca33192
/*
* Copyright (C) 1993-2001 by Darren Reed.
*
* See the IPFILTER.LICENCE file for details on licencing.
*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include "ipf.h"
#include "ipt.h"
#if !defined(lint)
#endif
extern char *optarg;
extern int fr_running;
int opts = OPT_DONOTHING;
int use_inet6 = 0;
int pfil_delayed_copy = 0;
void dumplookups __P((void));
void dumpgroups __P((void));
defined(__osf__)
#else
#endif
NULL };
int argc;
char *argv[];
{
struct ipread *r;
m = &mb;
dir = 0;
dump = 0;
hlen = 0;
loaded = 0;
r = &iptext;
ifname = "anon0";
initparse();
fr_loginit();
fr_authinit();
fr_fraginit();
fr_stateinit();
fr_natinit();
appr_init();
fr_running = 1;
switch (c)
{
case '6' :
#ifdef USE_INET6
use_inet6 = 1;
#else
exit(1);
#endif
break;
case 'b' :
break;
case 'd' :
break;
case 'D' :
dump = 1;
break;
case 'F' :
r = &pcap;
r = ðerf;
r = &snoop;
r = &tcpd;
r = &iphex;
r = &iptext;
break;
case 'i' :
break;
case 'I' :
break;
case 'l' :
break;
case 'o' :
opts |= OPT_SAVEOUT;
break;
case 'r' :
optarg) == -1)
return -1;
loaded = 1;
break;
case 'v' :
opts |= OPT_VERBOSE;
break;
case 'N' :
optarg) == -1)
return -1;
loaded = 1;
break;
case 'P' :
return -1;
loaded = 1;
break;
case 'x' :
break;
}
if (loaded == 0) {
exit(-1);
}
if (opts & OPT_SAVEOUT)
init_ifp();
if (datain)
else
if (fd < 0)
exit(-1);
exit(1);
}
if (!use_inet6) {
if (r->r_flags & R_DO_CKSUM)
}
#ifdef USE_INET6
else
#endif
/* ipfr_slowtimer(); */
m = &mb;
m->mb_len = i;
switch (i)
{
case -4 :
(void)printf("preauth");
break;
case -3 :
(void)printf("account");
break;
case -2 :
(void)printf("auth");
break;
case -1 :
(void)printf("block");
break;
case 0 :
(void)printf("pass");
break;
case 1 :
(void)printf("nomatch");
break;
case 3 :
(void)printf("block return-rst");
break;
case 4 :
(void)printf("block return-icmp");
break;
case 5 :
(void)printf("block return-icmp-as-dest");
break;
default :
(void)printf("recognised return %#x\n", i);
break;
}
if (!use_inet6) {
}
putchar(' ');
printf("--------------");
#else
# if TRU64 >= 1885
# else
# endif
#endif
putchar('\n');
dir = 0;
}
m = &mb;
}
(*r->r_close)();
}
if (dump == 1) {
dumpnat();
dumpstate();
dumplookups();
dumpgroups();
}
for (i = IPL_LOGMAX; i >= 0; i--)
(void) ipflog_clear(i);
fr_natunload();
appr_unload();
return 0;
}
defined(__osf__)
{
int i;
return i;
}
{
int i;
return i;
}
{
int i;
return i;
}
{
int i;
return i;
}
{
int i;
return i;
}
{
int i;
return i;
}
{
int i;
return i;
}
#else
void *data;
{
int i;
return i;
}
void *data;
{
int i;
return i;
}
void *data;
{
int i;
return i;
}
void *data;
{
int i;
return i;
}
void *data;
{
int i;
return i;
}
void *data;
{
int i;
return i;
}
void *data;
{
int i;
return i;
}
#endif
char *addr;
long offset;
int size;
{
return 0;
}
char *buf;
long pos;
int n;
{
char *ptr;
;
return 0;
}
/*
* Display the built up NAT table rules and mapping entries.
*/
void dumpnat()
{
printf("\nList of active sessions:\n");
}
/*
* Display the built up state table rules and mapping entries.
*/
void dumpstate()
{
printf("List of active state sessions:\n");
}
void dumplookups()
{
int i;
printf("List of configured pools\n");
for (i = 0; i < IPL_LOGSIZE; i++)
printf("List of configured hash tables\n");
for (i = 0; i < IPL_LOGSIZE; i++)
}
void dumpgroups()
{
int i;
printf("List of groups configured (set 0)\n");
for (i = 0; i < IPL_LOGSIZE; i++)
printf("Dev.%d. Group %s Ref %d Flags %#x\n",
#ifdef USE_QUAD_T
#else
#endif
}
}
printf("List of groups configured (set 1)\n");
for (i = 0; i < IPL_LOGSIZE; i++)
printf("Dev.%d. Group %s Ref %d Flags %#x\n",
#ifdef USE_QUAD_T
#else
#endif
}
}
}
char *filename;
{
char buffer[DEFAULT_IPFLOGSIZE];
int fd;
if (fd == -1) {
perror("drain_log:open");
return;
}
while (1) {
if (ipflog_read(0, &uio) == 0) {
/*
* If nothing was read then break out.
*/
break;
} else
break;
}
}
mb_t *m;
{
{
case IPPROTO_TCP :
break;
case IPPROTO_UDP :
break;
default :
break;
}
*csump = 0;
}
}