orts[5],&ports[6],&ports[7],&ports[8],&ports[9]);
		
		if(!acct)
		{
			if(flags&IP_FW_F_ACCEPT)
				printf("Accept ");
			else
				printf("Reject ");
		}
		else
			printf("%lu packets (%lu bytes) matching: ",
				npkt,nbyt);
				
		if(flags&IP_FW_F_ALL)
			printf("all  from ");
		else if(flags&IP_FW_F_TCP)
			printf("TCP  from ");
		else if(flags&IP_FW_F_UDP)
			printf("UDP  from ");
		else
			printf("ICMP from ");
		if(sm==0)
			printf("anywhere to ");
		else
			printf("%s/%d to ",fmtip(htonl(sa)),count_mask(sm));
		if(dm==0)
			printf("anywhere");
		else
			printf("%s/%d", fmtip(htonl(da)),count_mask(dm));
		
		if(flags&(IP_FW_F_TCP|IP_FW_F_UDP))
		{
			printf("  Ports: ");
			if(nsp==0)
				printf("any ");
			else
			{
				if(flags&IP_FW_F_SRNG)
				{	
					printf("%u-%u ",pp[0],pp[1]);
					pp+=2;
					nsp-=2;
				}
				while(nsp-->0)
					printf("%u ",*pp++);
			}
			printf("to");
		
			if(ndp==0)
				printf(" any");
			else
			{
				if(flags&IP_FW_F_DRNG)
				{
					printf(" %u-%u",pp[0],pp[1]);
					pp+=2;
				}
				while(ndp-->0)
					printf(" %u",*pp++);		
			}
		}
		printf("\n");
	}
	fclose(f);
}

void list(int socket_fd, char **argv)
{
	if(*argv==NULL && **argv)
	{
		fprintf(stderr,"blocking, forwarding or accounting keyword expected.\n");
		exit(1);
	}
	if(strncmp(*argv,"blocking",strlen(*argv))==0)
	{
		list_file("/proc/net/ip_block",0);
		return;
	}
	if(strncmp(*argv,"forwarding",strlen(*argv))==0)
	{
		list_file("/proc/net/ip_forward",0);
		return;
	}
	if(strncmp(*argv,"accounting",strlen(*argv))==0)
	{
		list_file("/proc/net/ip_acct",1);
		return;
	}
	fprintf(stderr,"Found '%s': 'blocking', 'forwarding' or 'accounting' keyword expected.\n",*argv);
	exit(1);
}
		
void
main (argc, argv)
     int argc;
     char **argv;
{
	int socket_fd;

	socket_fd = socket (AF_INET, SOCK_RAW, IPPROTO_RAW);

	if (socket_fd < 0)
	{
		perror ("ipfirewall:");
		exit(1);
	}

	if (argc == 1)
	{
		show_usage ();
		exit (1);
	}

	if (strcmp (argv[1], "list") == 0)
	{
		list(socket_fd, &argv[2]);
	}
	else if (strcmp (argv[1], "flush") == 0)
	{
#ifdef LINUX
		/* Same kludge as above, see above ranting and griping -BB */
		unsigned long fred = 1;
		(void) do_setsockopt (argv[1], socket_fd, IPPROTO_IP, IP_FW_FLUSH, &fred, sizeof (unsigned long), 0);
#else
		(void) do_setsockopt (argv[1], socket_fd, IPPROTO_IP, IP_FLUSH_FIREWALLS, NULL, 0, 0);
#endif

	}
	else if (strlen (argv[1]) >= strlen ("checkb")
	       && strncmp (argv[1], "checkblocking", strlen (argv[1])) == 0)
	{

		check (IPF_BLOCKING, socket_fd, &argv[2]);

	}
	else if (strlen (argv[1]) >= strlen ("checkf")
	     && strncmp (argv[1], "checkforwarding", strlen (argv[1])) == 0)
	{

		check (IPF_FORWARDING, socket_fd, &argv[2]);

	}
	else if (strlen (argv[1]) >= strlen ("addb")
		 && strncmp (argv[1], "addblocking", strlen (argv[1])) == 0)
	{

		add (IPF_BLOCKING, socket_fd, &argv[2]);

	}
	else if (strlen (argv[1]) >= strlen ("addf")
	       && strncmp (argv[1], "addforwarding", strlen (argv[1])) == 0)
	{

		add (IPF_FORWARDING, socket_fd, &argv[2]);

	}
	else if (strlen (argv[1]) >= strlen ("adda")
	       && strncmp (argv[1], "addaccounting", strlen (argv[1])) == 0)
	{

		add (IPF_ACCOUNTING, socket_fd, &argv[2]);

	}
	else
	{

		fprintf (stderr, "ipfirewall:  unknown command \"%s\"\n", argv[1]);
		show_usage ();
		exit (1);
	}

	exit (0);
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Begin3
Title:          IPFIREWALL
Version:        -
Entered-date:   
Description:    Firewalling tool for 1.1.69+. list option works on 1.1.70+
		and 1.1.69 also gives the odd harmless kernel can't happen.
Keywords:       ip firewall and accounting configuration
Author:         Daniel Boulet, Bob Beck, Alan Cox
Maintained-by:  None - someone else can tidy this up - Im busy
Primary-site:   
Alternate-site: 
Original-site:  
Platform:       Linux
Copying-policy: Copy if copyright notice included.
End
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
Package-Name:	ping.tar.Z
Title:		ping
Version:	4.10
Description:	Linux ping binary Allows user to check on status of
		another machine and gather statics about rtt time.
		Diffs included.
Author:		Mike Muuss
Maintained-by:	bir7@leland.stanford.edu
Platforms:	Linux 0.98pl5 + tcp patches
Copying-policy:	Freely Redistributable. Copyright held by UC Berkeley.
Keywords:	ping linux socket raw rtt



                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This is a ping binary for Linux .98pl5 + the 3 tcp patches.  It should also
work with any kernel > .98pl5.  It needs to be installed suid root.

The source has a message saying it's public domain, but it also claims
to be Copyright by Berkeley with the standard Berkeley license.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         pҸ9*\ȰÇ aF  L#Ɖ5~!C4&֘CF1lx0"ɳO u	#g" 9oRPJJU)`W "\KٳhӪ]˶۷pʝKݻxEAA\-:(.BEDH E#1tBAj  0[p0Xx=9D9>N1k1'2 $2
 rpZq͛;n@A*|6gn P89zFS h]2aN9	Dr1f  U$R ppS,Rt :$1Es/LPV:N@?,2@"  t "  d:(ȃtp. &:TT:	hO`T	" X810bhct"W谂gC# hX:|Fq3:@A !x Uӈ_1pQ%cAb~0
0UL5
AhPsbhD;eG\[ S8" [(i"#
"B@?_@( yLA8?A?s@:
UÀ\Ѝ҃\h,~୭Erء |" s ;
^%\(Ph&[l8_K :X*&1TZ}PF!fc@j3*R@  A@#ES֒syp9G^Rzנؒ"0H"o䠡ٓ0ـHo+@6KC  :*u5<(W SP 40LT0* NBe@f!f_h
P0``BÚA@E4@ Ah>XAx -5SPq!t }B#*.a>kAW8+ @t0G"QmԡX: ]xhh >LM2ďdcepC k\c1(s`tӃx/  rD)PJ h Jh+Ew%N(j9
͖`B)1AV(4JhB)H7[bPA`h	MAW@beA*	0,P<hkl#}mCа
XL¡Hh =jmkD/|E@ 2K M4%	 T%2 `
o (!L@Kɐa)8 U$h`dWsՙ49B "e C\C0?ERZBsSԥ0̰ҖBQ,cR=
Th)a=E(Q(> B:4'd|E.yv#!?|! HОg?OrԞ,9_CPN>MJ  /\<$pwBw]:o  A~q,	XDP1x F0lDLؙUjDtld4!=(A@jh"@#@!tdŤ*= ZOV:D"` . Ɣ`bHA}dFEFռ f`X Ŕ> xr7ɀl78ЉO|6B B +J?f|# Chpz6DF;@2:3Γ"p; uSC\fA谆+m*#8
T<"v*e<cFp`A\a t_&/gw`҇$B_YG Px2 qp=B1 0&aL[_Qғ"@! TaL}dL.b 7	` xl= uX"6.Kz"}@`6 0=5+0dQn\]XC@< % 
ZL2=_,gosaC06!&V-Cק%m\O7=AtȀ'90rA`{7 v8<|A}OU$#tDC?(.h`_`BK8K+P 9 n  F=K!=00gZ?tBm8b3q 
WsP`:7@?0@lurԒP5"@	A> .dP%[GDbNDVXZ2@ B07RFt0@Є\	`  `u`"%%x Sp=0+ 5 o*t@AhP0H]PH0xBT+XK?	 PJXS0L@EG$a\ 8p0
PJP"KHH@P@'"&8r  6 R`R0 u%5' c0{'la`lb {r p͑XT @|ro.T0 Hi	 N[u`I	e |iАHIV\o'r?55i`/ry gL@ U`l@0|@e*8PJBӕ3F(
c  V>P
uِ84a3@@ /h@ID8h` 
$	l o	  yٚ	y)I)@h:%y/+9@p"h	i
ǩ Y>" ! eH tW^a$9P	gа32? O0P
l wKӌtqHO0Yu F3@9OC(Z4AcePLh=2\= 朐@Հqp@ h}1O(Z(Seu`.hYQA8.@.@ u|4bS~*:ZJz@#\Cpwh(097pXo`Sw]CXri	Al@ i੫Z $Q:.0	h%\BpQTy00h8p#U0ap[d] a%[z]pGa
 ppppCCCC!C(C0C>CPCZCjCwC KA #вA,d	 в::<۳>@B;D[F{HJL۴NPR;T[V{XZ\۵^`b;d[f{hl۶n˵2^4P3!2p#a(A3+5p628aA1Eo[e\  ک*\jST Hڪ
Z

;'٬EUBa}bPŒgAITѼ!D:` @](y{7o`i WA[ѹ_Lսi {!{g {p[ {uRˑqѫ:I{˾79{ IQkɁ۽dWZ)|+|ePiIltʻa۽awPTdpzatpT{rE|]7  {{re@Qv,ƴJ yϻ+Hv\JHAre}z\ۿ+T\ V|{aAa}5iև{'LHS zEWRP `  O`I@E@  `l'p|I@˗Eќ PX E0RpI@SL,TSI1LPDGIl͘NI|MPR0HY,IpT͟FPNͷl,<UU PSP Кq 63l
9 I={8 "0.m ')D*[C@;H N \aȿlVیOUܯ' q5|Wg=YO @|B /c [ nr om4IpBٷ{~ڦ1t ڊ<C I 
 ǸP')ػa@QK/Uw\g Ѫ
܄JdeI}U,ETsT {QT- o qIr0UQ<UlalT1-ŭB9ut Aװ ]e' {i5	E`x]z*{\1{(N3w D7=]սe0YGn{=l;nW<suIħ\SU'ɁE_\`BpezRIC<r 7]Z٪e\ 0:\^I߻|<\vEtg)Q\I뾚L~ i4{~AO,-ͪpmnN
 a龎EeHKUVE0u=P^݋{BW=؅IિJC|S-CaI݅́G:BJ%Z.om8Ū+}~T
N #T%{U.p. ^~rqpеR (C)T .0٣ Vpb|vp59׬VR\N,_|~UBWҞNf4Y́6[I!.` IA	q_@/. b߄I.!{fTn#1ܽ a. qy- Od {	\t޺!_nǮa
)4nz ɪ`/ʚlT˓i2I|RCB$U-<':_lmJh30܀&iH.FTWx,=h2rH*\>X\-'҃Z.!F
 =^bU>t/Se(ڀm3~L(ŕR uKPi2}}M$pt3`Gx?V\ nh`!&N"i`믈Eg،`;V"H窯.{dsJeFaB!eyTGȁ	
C$1BǷ`t=* 	|ێh:ݬ.P800ƀ9vbYHՁ  \Y=E&0{= .yJg!%EALҪ"PѶ[z$-?
d@˦ Wي\D(8PVA$[OZ0uÃ	:`~\@z)a@ EVշ:a(<(f `  7| 8 (@\k+	BK_0O)<$@ŦW$3+&f=-N;b8N9R@qX+ Y8ũHE톽O~]`Q$dFn
t/15GÙpq"PCH#4"Kp	0pĽVh@0d%NX"UplH@sl;i ShWŦ.h@/At1Cu#2b@p t 2@ H	@*Dc8G0j#=ZAv(o1MȘx !ċ.*P.xO Tݯ*a^?rX
B|@HdBI)9/lJ'%$p@^1%d<]rz$Ȓ[NzITTwMJI&tYG;'$P:&'e|R7t}$l@JCy} |aL*72 $+BIQ vY5K 	 $ ɏ2oP1D$$ae,%P@9^Y~^ WYI3p]UFN˥ p{sPR4tiӨ,	 5$YP<GO fB A
!
7`H3`/CZ8yD$쎁B",#&8P'
@( gY7)x%bo?zʥG
E2'd\IRJI*$)eԚzRNK13S<VtJKY5ѤTm k89'ilQ'qެFTJM)e\M2a̼*G%NPN)*	'VH~J8e|9MR\2IXԙ<Sf/`zB;:
L'1ZsgbU@=iC||'DSuҔwz	Y<3z/*󘥳b@v7RѨEf}G	?gkj
$'j :6}"թPZqZ.	J<)vPbfs IfgH<F}.eP6X+
EC==v_pkE:C!_p	+N$.EPCkhr[ t((_ 9|	f~BK[=u,0XZR<-),',nӲZ^l-W1qY.%HRKwH^}/ɿt:x#AAN\[9?ʗet.8K >觽; LQ I] S)   
0Sn @SUf $ɜIDx.TMlM+%t9&PUCU@
p/	f ч+C08ۓ3}hwC6ŕb`~pQ}@Fݨr@*]R	pQT0(*}%T^؄)0-UPd-0TgSO")/ @"6jZǬ<U;oNAUŕҁtNR;}5 yJOu(V@=4ʁ}C?SJGM Ԉ:QMO&U]<RjUT<ڬr7P#LW5TUj/u5~:Kc$#pt)tg H Rk@VO=Jb i; \2&1{R2Wk?RRۀ M-5ܘUTzq,dއ	{ YpӁrƴL 0?5pG2R@9IBg"XU7H5̆S)t@`a_˰TW6X*U]K-hV&\q^TL5aJQ	0cF뮉f:~gCyՒ
2zU{b:X~$I
`#Nے{_yz$,VCqUU|X{JEW:=V-ư:bk'vXUUVfjlu=ᥙXcw-TӬio΀XS͸2KZe*j}S(U @LT[7m-J;VF*xv@T=n)C]G=~ԞzV~C-HXQ<
 X<h4v*Hp==kS|.? Kmp Mna p[omL%(ܢVV_s Hg,k;-0ݹ6܎r[um[po-	bU}R(QUJ\jw ek bbt;p]]b\nM7ӑ{KIn[5o2wMys<WZw%t}FH{k7{{7
K|=7*|}7JK}7j}7K~˯=7~ۯ}7K                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       H0 [{přْYc4v"ecAl,˶ZjFڝY0"DtWTI>;¥K8򀸂/K㲊)`}=\(HU|_ߣ!ϱW:1\ig!5;|ԅ1n]=Czk~:^f]ck֭[׫^[FauJ(6cJFsmC2^L;cIgi網<>Cv%юP*ee2
@9`& ?_I\ WE?o[)Sh}A9gDYr)#2X2L7XUŀ%rE \L.6Xp%}?Ez:
pl_KΔा*YϔuEQߌIf^	K )BW>V tY)Shm e=g=Y';Wy3GN{tZh/'*w`!y n*Ћ^3+=E-xxYo l1?d/{@xX/R>-]EػT'F*OH7! }#/;\&?8yfHyBu?5CoM7EqQGf 1Xnѿ^~,I|JǁB/SXK)
oNa(++kȾ'瀏6q1-N^q\;S+Mj,9Ɲz]͍fۦD[ Ux̄eR}vm43JZM8L4nk)NVCB[	Mqx*FcvWTM$l7aG-L+ck4݆m 0qN $I0$_u>_XWJ&fh$qtm+ŇA6[TS̔ABFZ	O3jyX˵($֣@XXdΖ-;-۶Eڢm[v6	&4'%F(blD^hf0a	U168Q:Pe*fRQ-2a˅U  v(cT#9IհQ~K5JjרF24HT#ٜ';^N5Ij$JHF[@5BX.IQ_B52ᠵTÑꨆs	v=H#n	u+H;FI5Tj$6oOʲdG{VQrCe-%-t96CYJԩo(I:ıvuJcc9NZ)܌=qҶN)lu~u
gc.	]Äo8NhK3n$X5i
i^#vQ8~?㴫0㴻\~.r9N?8~q}dd\~UG'Џs9NVr9N֢g'ǹ''K8YN箱Q5rJ&|d]B;?Rp=|iC׃[Qvw8kyNRee3ή@-(G8gE|*Ã3sG+❾K˞Vyc{dpW/0o@nɁJ%p;`?Q`c6n:=*o?ˍ^h:MO g	v[TBS]GSWxWh&g}8N+WI~pԿǩ~Hq;B/ب7 FE|r'&¹?80.ȉ7%Jמ6&3Z!+/%gO`|gY1+oHr[tൽVFڳk,O5۳K l67ëF[n3(?g1;7$+p,߰gt,j\ws?jlCO嫚/VuA|ONהouVu;g+fP{Mrx5 ^4/m)]:{o&P^?߰D?LK(ARȗbTI|Ioxrng|7vL6BϟC_ӥ\IyԹrQ7 0=WBOqBew]V჏<Ï'HMԡDA7Vr߯Q}^=}/=^xg|Q{$ܪ?x'	#ٷ:@1jnϞ(4-lF*(@+Ꟙn{ND{6b{I.wɭ*xP/(#vu
lH;]!*ެz|O9V5?>N.7`W|e`[FK8ZM3{KFWbhDIeٚw_=xѰ@m)ADG$o`/T5(@:=vȮ A=3΅IB}b/){v+eeZr_A1;k2ӹܐv1[y5:5jw*!Պ1awi&{Su7-R~5yW߮w_[qXQ TWb~"S6w`W\3Ř=x昨ơSay7<Ei?U.xb+7w`^(_<G,yCv{F9oNbQE}W}x^.9͕sYqsvJ,:J,){H4g)?;iiF[к%Uf:#i:,+<6&UwWmέ:!W;x^88#<\Zr} #yXqhl>Uo~"O)ATǡ:o@{dq|;O>fx `13ma\b 1g	EgwPN3-.]ss)
>9W