git: 41edb306f056 - main - ipfilter: Move userland bits to sbin

From: Cy Schubert <cy_at_FreeBSD.org>
Date: Mon, 20 Dec 2021 14:17:33 UTC
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=41edb306f05651fcaf6c74f9e3557f59f80292e1

commit 41edb306f05651fcaf6c74f9e3557f59f80292e1
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2021-12-15 21:45:47 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2021-12-20 14:16:33 +0000

    ipfilter: Move userland bits to sbin
    
    Through fixes and improvements our ipfilter sources have diverged
    enough to warrant move from contrib into sbin/ipf. Now that I'm
    planning on implementing MSS clamping as in iptables it makes more
    sense to move ipfilter to sbin.
    
    This is the second of three commits of the ipfilter move.
    
    Suggested by glebius on two occaions.
    
    Suggested by and discussed with:        glebius
    Reviewed by:                            glebius, kp (for #network)
    MFC after:                              1 month
    Differential Revision:          https://reviews.freebsd.org/D33510
---
 sbin/ipf/Makefile                                     |   2 +-
 sbin/ipf/Makefile.inc                                 |   9 +++------
 {contrib/ipfilter => sbin/ipf/common}/genmask.c       |   0
 {contrib/ipfilter => sbin/ipf/common}/ipf.h           |   0
 {contrib/ipfilter/tools => sbin/ipf/common}/ipf_y.y   |   0
 {contrib/ipfilter => sbin/ipf/common}/ipmon.h         |   0
 {contrib/ipfilter => sbin/ipf/common}/ipt.h           |   0
 {contrib/ipfilter => sbin/ipf/common}/kmem.h          |   0
 {contrib/ipfilter/tools => sbin/ipf/common}/lexer.c   |   0
 {contrib/ipfilter/tools => sbin/ipf/common}/lexer.h   |   0
 {contrib/ipfilter => sbin/ipf/common}/opts.h          |   0
 {contrib/ipfilter => sbin/ipf/common}/pcap-ipf.h      |   0
 {contrib/ipfilter => sbin/ipf/ipf}/bpf-ipf.h          |   0
 {contrib/ipfilter => sbin/ipf/ipf}/bpf_filter.c       |   0
 {contrib/ipfilter/man => sbin/ipf/ipf}/ipf.4          |   0
 {contrib/ipfilter/man => sbin/ipf/ipf}/ipf.5          |   0
 {contrib/ipfilter/man => sbin/ipf/ipf}/ipf.8          |   0
 {contrib/ipfilter/tools => sbin/ipf/ipf}/ipf.c        |   0
 {contrib/ipfilter/tools => sbin/ipf/ipf}/ipfcomp.c    |   0
 {contrib/ipfilter/man => sbin/ipf/ipf}/ipfilter.4     |   0
 {contrib/ipfilter/man => sbin/ipf/ipf}/ipfilter.5     |   0
 {contrib/ipfilter/man => sbin/ipf/ipf}/ipl.4          |   0
 {contrib/ipfilter/man => sbin/ipf/ipfs}/ipfs.8        |   0
 {contrib/ipfilter/tools => sbin/ipf/ipfs}/ipfs.c      |   0
 {contrib/ipfilter/man => sbin/ipf/ipfstat}/ipfstat.8  |   0
 .../ipfilter/tools => sbin/ipf/ipfstat}/ipfstat.c     |   0
 {contrib/ipfilter => sbin/ipf/ipftest}/ip_fil.c       |   0
 {contrib/ipfilter/man => sbin/ipf/ipftest}/ipftest.1  |   0
 .../ipfilter/tools => sbin/ipf/ipftest}/ipftest.c     |   0
 {contrib/ipfilter => sbin/ipf/ipftest}/md5.c          |   0
 {contrib/ipfilter => sbin/ipf/ipftest}/md5.h          |   0
 {contrib/ipfilter => sbin/ipf}/iplang/BNF             |   0
 {contrib/ipfilter => sbin/ipf}/iplang/Makefile        |   0
 {contrib/ipfilter => sbin/ipf}/iplang/iplang.h        |   0
 {contrib/ipfilter => sbin/ipf}/iplang/iplang.tst      |   0
 {contrib/ipfilter => sbin/ipf}/iplang/iplang_l.l      |   0
 {contrib/ipfilter => sbin/ipf}/iplang/iplang_y.y      |   0
 {contrib/ipfilter/man => sbin/ipf/ipmon}/ipmon.5      |   0
 {contrib/ipfilter/man => sbin/ipf/ipmon}/ipmon.8      |   0
 {contrib/ipfilter/tools => sbin/ipf/ipmon}/ipmon.c    |   0
 {contrib/ipfilter/tools => sbin/ipf/ipmon}/ipmon_y.y  |   0
 {contrib/ipfilter/man => sbin/ipf/ipnat}/ipnat.1      |   0
 {contrib/ipfilter/man => sbin/ipf/ipnat}/ipnat.4      |   0
 {contrib/ipfilter/man => sbin/ipf/ipnat}/ipnat.5      |   0
 {contrib/ipfilter/man => sbin/ipf/ipnat}/ipnat.8      |   0
 {contrib/ipfilter/tools => sbin/ipf/ipnat}/ipnat.c    |   0
 {contrib/ipfilter/tools => sbin/ipf/ipnat}/ipnat_y.y  |   0
 sbin/ipf/ippool/Makefile                              |   2 +-
 {contrib/ipfilter/man => sbin/ipf/ippool}/ippool.5    |   0
 {contrib/ipfilter/man => sbin/ipf/ippool}/ippool.8    |   0
 {contrib/ipfilter/tools => sbin/ipf/ippool}/ippool.c  |   0
 .../ipfilter/tools => sbin/ipf/ippool}/ippool_y.y     |   0
 sbin/ipf/ipresend/Makefile                            |   2 +-
 sbin/ipf/ipscan/Makefile                              |  18 ++++++++++++++++++
 {contrib/ipfilter/man => sbin/ipf/ipscan}/ipscan.5    |   0
 {contrib/ipfilter/man => sbin/ipf/ipscan}/ipscan.8    |   0
 .../ipfilter/tools => sbin/ipf/ipscan}/ipscan_y.y     |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/44arp.c         |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/Crashable       |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/Makefile        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/arp.c           |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/dlcommon.c      |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/dltest.h        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ip.c            |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ipresend.1      |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ipresend.c      |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ipsend.1        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ipsend.5        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ipsend.c        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ipsend.h        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/ipsopt.c        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/iptest.1        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/iptest.c        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/iptests.c       |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/resend.c        |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/sbpf.c          |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/sdlpi.c         |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/snit.c          |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/sock.c          |   0
 {contrib/ipfilter => sbin/ipf}/ipsend/sockraw.c       |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/addicmp.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/addipopt.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/alist_free.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/alist_new.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/allocmbt.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/assigndefined.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/bcopywrap.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/binprint.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/buildopts.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/checkrev.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/connecttcp.c     |   0
 .../ipfilter/lib => sbin/ipf/libipf}/count4bits.c     |   0
 .../ipfilter/lib => sbin/ipf/libipf}/count6bits.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/debug.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/dupmbt.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/facpri.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/facpri.h    |   0
 .../ipfilter/lib => sbin/ipf/libipf}/familyname.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/fill6bits.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/findword.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/flags.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/freembt.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/ftov.c      |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/gethost.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/geticmptype.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/getifname.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/getnattype.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/getport.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/getportproto.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/getproto.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/getsumd.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/hostname.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/icmpcode.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/icmptypename.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/icmptypes.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/inet_addr.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/initparse.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/interror.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/ionames.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/ipf_dotuning.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/ipf_perror.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/ipft_hx.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/ipft_pc.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/ipft_tx.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/ipoptsec.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/kmem.c      |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/kmem.h      |   0
 .../ipfilter/lib => sbin/ipf/libipf}/kmemcpywrap.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/kvatoname.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/load_dstlist.c   |   0
 .../lib => sbin/ipf/libipf}/load_dstlistnode.c        |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/load_file.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/load_hash.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/load_hashnode.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/load_http.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/load_pool.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/load_poolnode.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/load_url.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/mb_hexdump.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/msgdsize.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/mutex_emul.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/nametokva.c |   0
 .../lib => sbin/ipf/libipf}/nat_setgroupmap.c         |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/ntomask.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/optname.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/optprint.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/optprintv6.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/optvalue.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/parsefields.c    |   0
 .../ipfilter/lib => sbin/ipf/libipf}/parseipfexpr.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/parsewhoisline.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/poolio.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/portname.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/prependmbt.c     |   0
 .../ipfilter/lib => sbin/ipf/libipf}/print_toif.c     |   0
 .../lib => sbin/ipf/libipf}/printactiveaddr.c         |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printactivenat.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printaddr.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printaps.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printbuf.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printdstl_live.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printdstlist.c   |   0
 .../lib => sbin/ipf/libipf}/printdstlistdata.c        |   0
 .../lib => sbin/ipf/libipf}/printdstlistnode.c        |   0
 .../lib => sbin/ipf/libipf}/printdstlistpolicy.c      |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printfieldhdr.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printfr.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printfraginfo.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printhash.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printhash_live.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printhashdata.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printhashnode.c  |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printhost.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printhostmap.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printhostmask.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printifname.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printip.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printipfexpr.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printiphdr.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printlog.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printlookup.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printmask.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printnat.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printnataddr.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printnatfield.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printnatside.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printpacket.c    |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printpacket6.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printpool.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printpool_live.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printpooldata.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printpoolfield.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printpoolnode.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printportcmp.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printproto.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printsbuf.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printstate.c     |   0
 .../lib => sbin/ipf/libipf}/printstatefields.c        |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printtcpflags.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printtqtable.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/printtunable.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/printunit.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/remove_hash.c    |   0
 .../lib => sbin/ipf/libipf}/remove_hashnode.c         |   0
 .../ipfilter/lib => sbin/ipf/libipf}/remove_pool.c    |   0
 .../lib => sbin/ipf/libipf}/remove_poolnode.c         |   0
 .../ipfilter/lib => sbin/ipf/libipf}/resetlexer.c     |   0
 .../ipfilter/lib => sbin/ipf/libipf}/rwlock_emul.c    |   0
 .../ipfilter/lib => sbin/ipf/libipf}/save_execute.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/save_file.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/save_nothing.c   |   0
 .../ipfilter/lib => sbin/ipf/libipf}/save_syslog.c    |   0
 .../ipfilter/lib => sbin/ipf/libipf}/save_v1trap.c    |   0
 .../ipfilter/lib => sbin/ipf/libipf}/save_v2trap.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/tcp_flags.c |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/tcpflags.c  |   0
 .../ipfilter/lib => sbin/ipf/libipf}/tcpoptnames.c    |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/v6ionames.c |   0
 .../ipfilter/lib => sbin/ipf/libipf}/v6optvalue.c     |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/var.c       |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/verbose.c   |   0
 {contrib/ipfilter/lib => sbin/ipf/libipf}/vtof.c      |   0
 {contrib => share/examples}/ipfilter/BNF              |   0
 share/examples/ipfilter/Makefile                      |   4 +---
 {contrib => share/examples}/ipfilter/l4check/Makefile |   0
 .../examples}/ipfilter/l4check/http.check             |   0
 {contrib => share/examples}/ipfilter/l4check/http.ok  |   0
 .../examples}/ipfilter/l4check/l4check.c              |   0
 .../examples}/ipfilter/l4check/l4check.conf           |   0
 {contrib => share/examples}/ipfilter/mkfilters        |   0
 .../man => share/examples/ipfilter}/mkfilters.1       |   0
 {contrib => share/examples}/ipfilter/mlfk_rule.c      |   0
 {contrib => share/examples}/ipfilter/rules/BASIC.NAT  |   0
 {contrib => share/examples}/ipfilter/rules/BASIC_1.FW |   0
 {contrib => share/examples}/ipfilter/rules/BASIC_2.FW |   0
 {contrib => share/examples}/ipfilter/rules/example.1  |   0
 {contrib => share/examples}/ipfilter/rules/example.10 |   0
 {contrib => share/examples}/ipfilter/rules/example.11 |   0
 {contrib => share/examples}/ipfilter/rules/example.12 |   0
 {contrib => share/examples}/ipfilter/rules/example.13 |   0
 {contrib => share/examples}/ipfilter/rules/example.2  |   0
 {contrib => share/examples}/ipfilter/rules/example.3  |   0
 {contrib => share/examples}/ipfilter/rules/example.4  |   0
 {contrib => share/examples}/ipfilter/rules/example.5  |   0
 {contrib => share/examples}/ipfilter/rules/example.6  |   0
 {contrib => share/examples}/ipfilter/rules/example.7  |   0
 {contrib => share/examples}/ipfilter/rules/example.8  |   0
 {contrib => share/examples}/ipfilter/rules/example.9  |   0
 {contrib => share/examples}/ipfilter/rules/example.sr |   0
 {contrib => share/examples}/ipfilter/rules/firewall   |   0
 {contrib => share/examples}/ipfilter/rules/ftp-proxy  |   0
 {contrib => share/examples}/ipfilter/rules/ftppxy     |   0
 {contrib => share/examples}/ipfilter/rules/ip_rules   |   0
 {contrib => share/examples}/ipfilter/rules/ipmon.conf |   0
 {contrib => share/examples}/ipfilter/rules/nat-setup  |   0
 {contrib => share/examples}/ipfilter/rules/nat.eg     |   0
 {contrib => share/examples}/ipfilter/rules/pool.conf  |   0
 {contrib => share/examples}/ipfilter/rules/server     |   0
 {contrib => share/examples}/ipfilter/rules/tcpstate   |   0
 {contrib => share/examples}/ipfilter/samples/Makefile |   0
 .../examples}/ipfilter/samples/ipfilter-pb.gif        | Bin
 {contrib => share/examples}/ipfilter/samples/proxy.c  |   0
 {contrib => share/examples}/ipfilter/samples/relay.c  |   0
 .../examples}/ipfilter/samples/userauth.c             |   0
 264 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/sbin/ipf/Makefile b/sbin/ipf/Makefile
index 6126564e9821..075119abd542 100644
--- a/sbin/ipf/Makefile
+++ b/sbin/ipf/Makefile
@@ -3,7 +3,7 @@
 SUBDIR=		libipf .WAIT
 SUBDIR+=	ipf ipfs ipfstat ipmon ipnat ippool
 # XXX Temporarily disconnected.
-# SUBDIR+=	ipftest ipresend
+# SUBDIR+=	ipftest ipresend ipsend
 SUBDIR_PARALLEL=
 
 .include <bsd.subdir.mk>
diff --git a/sbin/ipf/Makefile.inc b/sbin/ipf/Makefile.inc
index 19742d3bd7c8..1f256a343b9a 100644
--- a/sbin/ipf/Makefile.inc
+++ b/sbin/ipf/Makefile.inc
@@ -6,10 +6,9 @@ WARNS?=		2
 NO_WFORMAT=
 NO_WARRAY_BOUNDS=
 
-CFLAGS+=	-I${SRCTOP}/contrib/ipfilter
-CFLAGS+=	-I${SRCTOP}/contrib/ipfilter/tools
 CFLAGS+=	-I${SRCTOP}/sys
 CFLAGS+=	-I${SRCTOP}/sys/netpfil/ipfilter
+CFLAGS+=	-I${SRCTOP}/sbin/ipf/common
 CFLAGS+=	-DSTATETOP -D__UIO_EXPOSE
 
 .if ${MK_INET6_SUPPORT} != "no"
@@ -24,9 +23,7 @@ LIBADD+=	ipf
 
 CLEANFILES+=	y.tab.c y.tab.h
 
-.PATH:	${SRCTOP}/contrib/ipfilter		\
-	${SRCTOP}/contrib/ipfilter/lib		\
-	${SRCTOP}/contrib/ipfilter/tools	\
-	${SRCTOP}/contrib/ipfilter/man
+.PATH:	${SRCTOP}/sbin/ipf/libipf		\
+	${SRCTOP}/sbin/ipf/common
 
 .include "../Makefile.inc"
diff --git a/contrib/ipfilter/genmask.c b/sbin/ipf/common/genmask.c
similarity index 100%
rename from contrib/ipfilter/genmask.c
rename to sbin/ipf/common/genmask.c
diff --git a/contrib/ipfilter/ipf.h b/sbin/ipf/common/ipf.h
similarity index 100%
rename from contrib/ipfilter/ipf.h
rename to sbin/ipf/common/ipf.h
diff --git a/contrib/ipfilter/tools/ipf_y.y b/sbin/ipf/common/ipf_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipf_y.y
rename to sbin/ipf/common/ipf_y.y
diff --git a/contrib/ipfilter/ipmon.h b/sbin/ipf/common/ipmon.h
similarity index 100%
rename from contrib/ipfilter/ipmon.h
rename to sbin/ipf/common/ipmon.h
diff --git a/contrib/ipfilter/ipt.h b/sbin/ipf/common/ipt.h
similarity index 100%
rename from contrib/ipfilter/ipt.h
rename to sbin/ipf/common/ipt.h
diff --git a/contrib/ipfilter/kmem.h b/sbin/ipf/common/kmem.h
similarity index 100%
rename from contrib/ipfilter/kmem.h
rename to sbin/ipf/common/kmem.h
diff --git a/contrib/ipfilter/tools/lexer.c b/sbin/ipf/common/lexer.c
similarity index 100%
rename from contrib/ipfilter/tools/lexer.c
rename to sbin/ipf/common/lexer.c
diff --git a/contrib/ipfilter/tools/lexer.h b/sbin/ipf/common/lexer.h
similarity index 100%
rename from contrib/ipfilter/tools/lexer.h
rename to sbin/ipf/common/lexer.h
diff --git a/contrib/ipfilter/opts.h b/sbin/ipf/common/opts.h
similarity index 100%
rename from contrib/ipfilter/opts.h
rename to sbin/ipf/common/opts.h
diff --git a/contrib/ipfilter/pcap-ipf.h b/sbin/ipf/common/pcap-ipf.h
similarity index 100%
rename from contrib/ipfilter/pcap-ipf.h
rename to sbin/ipf/common/pcap-ipf.h
diff --git a/contrib/ipfilter/bpf-ipf.h b/sbin/ipf/ipf/bpf-ipf.h
similarity index 100%
rename from contrib/ipfilter/bpf-ipf.h
rename to sbin/ipf/ipf/bpf-ipf.h
diff --git a/contrib/ipfilter/bpf_filter.c b/sbin/ipf/ipf/bpf_filter.c
similarity index 100%
rename from contrib/ipfilter/bpf_filter.c
rename to sbin/ipf/ipf/bpf_filter.c
diff --git a/contrib/ipfilter/man/ipf.4 b/sbin/ipf/ipf/ipf.4
similarity index 100%
rename from contrib/ipfilter/man/ipf.4
rename to sbin/ipf/ipf/ipf.4
diff --git a/contrib/ipfilter/man/ipf.5 b/sbin/ipf/ipf/ipf.5
similarity index 100%
rename from contrib/ipfilter/man/ipf.5
rename to sbin/ipf/ipf/ipf.5
diff --git a/contrib/ipfilter/man/ipf.8 b/sbin/ipf/ipf/ipf.8
similarity index 100%
rename from contrib/ipfilter/man/ipf.8
rename to sbin/ipf/ipf/ipf.8
diff --git a/contrib/ipfilter/tools/ipf.c b/sbin/ipf/ipf/ipf.c
similarity index 100%
rename from contrib/ipfilter/tools/ipf.c
rename to sbin/ipf/ipf/ipf.c
diff --git a/contrib/ipfilter/tools/ipfcomp.c b/sbin/ipf/ipf/ipfcomp.c
similarity index 100%
rename from contrib/ipfilter/tools/ipfcomp.c
rename to sbin/ipf/ipf/ipfcomp.c
diff --git a/contrib/ipfilter/man/ipfilter.4 b/sbin/ipf/ipf/ipfilter.4
similarity index 100%
rename from contrib/ipfilter/man/ipfilter.4
rename to sbin/ipf/ipf/ipfilter.4
diff --git a/contrib/ipfilter/man/ipfilter.5 b/sbin/ipf/ipf/ipfilter.5
similarity index 100%
rename from contrib/ipfilter/man/ipfilter.5
rename to sbin/ipf/ipf/ipfilter.5
diff --git a/contrib/ipfilter/man/ipl.4 b/sbin/ipf/ipf/ipl.4
similarity index 100%
rename from contrib/ipfilter/man/ipl.4
rename to sbin/ipf/ipf/ipl.4
diff --git a/contrib/ipfilter/man/ipfs.8 b/sbin/ipf/ipfs/ipfs.8
similarity index 100%
rename from contrib/ipfilter/man/ipfs.8
rename to sbin/ipf/ipfs/ipfs.8
diff --git a/contrib/ipfilter/tools/ipfs.c b/sbin/ipf/ipfs/ipfs.c
similarity index 100%
rename from contrib/ipfilter/tools/ipfs.c
rename to sbin/ipf/ipfs/ipfs.c
diff --git a/contrib/ipfilter/man/ipfstat.8 b/sbin/ipf/ipfstat/ipfstat.8
similarity index 100%
rename from contrib/ipfilter/man/ipfstat.8
rename to sbin/ipf/ipfstat/ipfstat.8
diff --git a/contrib/ipfilter/tools/ipfstat.c b/sbin/ipf/ipfstat/ipfstat.c
similarity index 100%
rename from contrib/ipfilter/tools/ipfstat.c
rename to sbin/ipf/ipfstat/ipfstat.c
diff --git a/contrib/ipfilter/ip_fil.c b/sbin/ipf/ipftest/ip_fil.c
similarity index 100%
rename from contrib/ipfilter/ip_fil.c
rename to sbin/ipf/ipftest/ip_fil.c
diff --git a/contrib/ipfilter/man/ipftest.1 b/sbin/ipf/ipftest/ipftest.1
similarity index 100%
rename from contrib/ipfilter/man/ipftest.1
rename to sbin/ipf/ipftest/ipftest.1
diff --git a/contrib/ipfilter/tools/ipftest.c b/sbin/ipf/ipftest/ipftest.c
similarity index 100%
rename from contrib/ipfilter/tools/ipftest.c
rename to sbin/ipf/ipftest/ipftest.c
diff --git a/contrib/ipfilter/md5.c b/sbin/ipf/ipftest/md5.c
similarity index 100%
rename from contrib/ipfilter/md5.c
rename to sbin/ipf/ipftest/md5.c
diff --git a/contrib/ipfilter/md5.h b/sbin/ipf/ipftest/md5.h
similarity index 100%
rename from contrib/ipfilter/md5.h
rename to sbin/ipf/ipftest/md5.h
diff --git a/contrib/ipfilter/iplang/BNF b/sbin/ipf/iplang/BNF
similarity index 100%
rename from contrib/ipfilter/iplang/BNF
rename to sbin/ipf/iplang/BNF
diff --git a/contrib/ipfilter/iplang/Makefile b/sbin/ipf/iplang/Makefile
similarity index 100%
rename from contrib/ipfilter/iplang/Makefile
rename to sbin/ipf/iplang/Makefile
diff --git a/contrib/ipfilter/iplang/iplang.h b/sbin/ipf/iplang/iplang.h
similarity index 100%
rename from contrib/ipfilter/iplang/iplang.h
rename to sbin/ipf/iplang/iplang.h
diff --git a/contrib/ipfilter/iplang/iplang.tst b/sbin/ipf/iplang/iplang.tst
similarity index 100%
rename from contrib/ipfilter/iplang/iplang.tst
rename to sbin/ipf/iplang/iplang.tst
diff --git a/contrib/ipfilter/iplang/iplang_l.l b/sbin/ipf/iplang/iplang_l.l
similarity index 100%
rename from contrib/ipfilter/iplang/iplang_l.l
rename to sbin/ipf/iplang/iplang_l.l
diff --git a/contrib/ipfilter/iplang/iplang_y.y b/sbin/ipf/iplang/iplang_y.y
similarity index 100%
rename from contrib/ipfilter/iplang/iplang_y.y
rename to sbin/ipf/iplang/iplang_y.y
diff --git a/contrib/ipfilter/man/ipmon.5 b/sbin/ipf/ipmon/ipmon.5
similarity index 100%
rename from contrib/ipfilter/man/ipmon.5
rename to sbin/ipf/ipmon/ipmon.5
diff --git a/contrib/ipfilter/man/ipmon.8 b/sbin/ipf/ipmon/ipmon.8
similarity index 100%
rename from contrib/ipfilter/man/ipmon.8
rename to sbin/ipf/ipmon/ipmon.8
diff --git a/contrib/ipfilter/tools/ipmon.c b/sbin/ipf/ipmon/ipmon.c
similarity index 100%
rename from contrib/ipfilter/tools/ipmon.c
rename to sbin/ipf/ipmon/ipmon.c
diff --git a/contrib/ipfilter/tools/ipmon_y.y b/sbin/ipf/ipmon/ipmon_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipmon_y.y
rename to sbin/ipf/ipmon/ipmon_y.y
diff --git a/contrib/ipfilter/man/ipnat.1 b/sbin/ipf/ipnat/ipnat.1
similarity index 100%
rename from contrib/ipfilter/man/ipnat.1
rename to sbin/ipf/ipnat/ipnat.1
diff --git a/contrib/ipfilter/man/ipnat.4 b/sbin/ipf/ipnat/ipnat.4
similarity index 100%
rename from contrib/ipfilter/man/ipnat.4
rename to sbin/ipf/ipnat/ipnat.4
diff --git a/contrib/ipfilter/man/ipnat.5 b/sbin/ipf/ipnat/ipnat.5
similarity index 100%
rename from contrib/ipfilter/man/ipnat.5
rename to sbin/ipf/ipnat/ipnat.5
diff --git a/contrib/ipfilter/man/ipnat.8 b/sbin/ipf/ipnat/ipnat.8
similarity index 100%
rename from contrib/ipfilter/man/ipnat.8
rename to sbin/ipf/ipnat/ipnat.8
diff --git a/contrib/ipfilter/tools/ipnat.c b/sbin/ipf/ipnat/ipnat.c
similarity index 100%
rename from contrib/ipfilter/tools/ipnat.c
rename to sbin/ipf/ipnat/ipnat.c
diff --git a/contrib/ipfilter/tools/ipnat_y.y b/sbin/ipf/ipnat/ipnat_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipnat_y.y
rename to sbin/ipf/ipnat/ipnat_y.y
diff --git a/sbin/ipf/ippool/Makefile b/sbin/ipf/ippool/Makefile
index ab350f223f53..674978ed98c2 100644
--- a/sbin/ipf/ippool/Makefile
+++ b/sbin/ipf/ippool/Makefile
@@ -2,7 +2,7 @@
 
 PACKAGE=	ipf
 PROG=		ippool
-SRCS=		${GENHDRS} ippool_y.c ippool_l.c kmem.c ippool.c
+SRCS=		${GENHDRS} ippool_y.c ippool_l.c ippool.c
 MAN=		ippool.5 ippool.8
 CFLAGS+=	-I.
 
diff --git a/contrib/ipfilter/man/ippool.5 b/sbin/ipf/ippool/ippool.5
similarity index 100%
rename from contrib/ipfilter/man/ippool.5
rename to sbin/ipf/ippool/ippool.5
diff --git a/contrib/ipfilter/man/ippool.8 b/sbin/ipf/ippool/ippool.8
similarity index 100%
rename from contrib/ipfilter/man/ippool.8
rename to sbin/ipf/ippool/ippool.8
diff --git a/contrib/ipfilter/tools/ippool.c b/sbin/ipf/ippool/ippool.c
similarity index 100%
rename from contrib/ipfilter/tools/ippool.c
rename to sbin/ipf/ippool/ippool.c
diff --git a/contrib/ipfilter/tools/ippool_y.y b/sbin/ipf/ippool/ippool_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ippool_y.y
rename to sbin/ipf/ippool/ippool_y.y
diff --git a/sbin/ipf/ipresend/Makefile b/sbin/ipf/ipresend/Makefile
index d9b2ed5ef6e3..a4403d537547 100644
--- a/sbin/ipf/ipresend/Makefile
+++ b/sbin/ipf/ipresend/Makefile
@@ -5,6 +5,6 @@ PROG=		ipresend
 SRCS=		ipresend.c ip.c resend.c sbpf.c sock.c 44arp.c
 MAN=		ipresend.1
 
-.PATH:		${SRCTOP}/contrib/ipfilter/ipsend
+.PATH:		${.CURDIR:H}/ipsend
 
 .include <bsd.prog.mk>
diff --git a/sbin/ipf/ipscan/Makefile b/sbin/ipf/ipscan/Makefile
new file mode 100644
index 000000000000..0c7c8783e785
--- /dev/null
+++ b/sbin/ipf/ipscan/Makefile
@@ -0,0 +1,18 @@
+#	$FreeBSD$
+
+PACKAGE=	ipf
+PROG=		ipscan
+SRCS=		${GENHDRS} ipscan_y.c
+MAN=		ipscan.5 ipscan.8
+MLINKS=		ipscan.5 ipscan.conf.5
+
+GENHDRS+=	ipscan_y.h
+CLEANFILES+=	${GENHDRS} ipscan_y.c
+
+ipscan_y.c: ipscan_y.y
+	${YACC} -d ${.ALLSRC}
+
+ipscan_y.h: ipscan_y.c
+
+
+.include <bsd.prog.mk>
diff --git a/contrib/ipfilter/man/ipscan.5 b/sbin/ipf/ipscan/ipscan.5
similarity index 100%
rename from contrib/ipfilter/man/ipscan.5
rename to sbin/ipf/ipscan/ipscan.5
diff --git a/contrib/ipfilter/man/ipscan.8 b/sbin/ipf/ipscan/ipscan.8
similarity index 100%
rename from contrib/ipfilter/man/ipscan.8
rename to sbin/ipf/ipscan/ipscan.8
diff --git a/contrib/ipfilter/tools/ipscan_y.y b/sbin/ipf/ipscan/ipscan_y.y
similarity index 100%
rename from contrib/ipfilter/tools/ipscan_y.y
rename to sbin/ipf/ipscan/ipscan_y.y
diff --git a/contrib/ipfilter/ipsend/44arp.c b/sbin/ipf/ipsend/44arp.c
similarity index 100%
rename from contrib/ipfilter/ipsend/44arp.c
rename to sbin/ipf/ipsend/44arp.c
diff --git a/contrib/ipfilter/ipsend/Crashable b/sbin/ipf/ipsend/Crashable
similarity index 100%
rename from contrib/ipfilter/ipsend/Crashable
rename to sbin/ipf/ipsend/Crashable
diff --git a/contrib/ipfilter/ipsend/Makefile b/sbin/ipf/ipsend/Makefile
similarity index 100%
rename from contrib/ipfilter/ipsend/Makefile
rename to sbin/ipf/ipsend/Makefile
diff --git a/contrib/ipfilter/ipsend/arp.c b/sbin/ipf/ipsend/arp.c
similarity index 100%
rename from contrib/ipfilter/ipsend/arp.c
rename to sbin/ipf/ipsend/arp.c
diff --git a/contrib/ipfilter/ipsend/dlcommon.c b/sbin/ipf/ipsend/dlcommon.c
similarity index 100%
rename from contrib/ipfilter/ipsend/dlcommon.c
rename to sbin/ipf/ipsend/dlcommon.c
diff --git a/contrib/ipfilter/ipsend/dltest.h b/sbin/ipf/ipsend/dltest.h
similarity index 100%
rename from contrib/ipfilter/ipsend/dltest.h
rename to sbin/ipf/ipsend/dltest.h
diff --git a/contrib/ipfilter/ipsend/ip.c b/sbin/ipf/ipsend/ip.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ip.c
rename to sbin/ipf/ipsend/ip.c
diff --git a/contrib/ipfilter/ipsend/ipresend.1 b/sbin/ipf/ipsend/ipresend.1
similarity index 100%
rename from contrib/ipfilter/ipsend/ipresend.1
rename to sbin/ipf/ipsend/ipresend.1
diff --git a/contrib/ipfilter/ipsend/ipresend.c b/sbin/ipf/ipsend/ipresend.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ipresend.c
rename to sbin/ipf/ipsend/ipresend.c
diff --git a/contrib/ipfilter/ipsend/ipsend.1 b/sbin/ipf/ipsend/ipsend.1
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.1
rename to sbin/ipf/ipsend/ipsend.1
diff --git a/contrib/ipfilter/ipsend/ipsend.5 b/sbin/ipf/ipsend/ipsend.5
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.5
rename to sbin/ipf/ipsend/ipsend.5
diff --git a/contrib/ipfilter/ipsend/ipsend.c b/sbin/ipf/ipsend/ipsend.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.c
rename to sbin/ipf/ipsend/ipsend.c
diff --git a/contrib/ipfilter/ipsend/ipsend.h b/sbin/ipf/ipsend/ipsend.h
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsend.h
rename to sbin/ipf/ipsend/ipsend.h
diff --git a/contrib/ipfilter/ipsend/ipsopt.c b/sbin/ipf/ipsend/ipsopt.c
similarity index 100%
rename from contrib/ipfilter/ipsend/ipsopt.c
rename to sbin/ipf/ipsend/ipsopt.c
diff --git a/contrib/ipfilter/ipsend/iptest.1 b/sbin/ipf/ipsend/iptest.1
similarity index 100%
rename from contrib/ipfilter/ipsend/iptest.1
rename to sbin/ipf/ipsend/iptest.1
diff --git a/contrib/ipfilter/ipsend/iptest.c b/sbin/ipf/ipsend/iptest.c
similarity index 100%
rename from contrib/ipfilter/ipsend/iptest.c
rename to sbin/ipf/ipsend/iptest.c
diff --git a/contrib/ipfilter/ipsend/iptests.c b/sbin/ipf/ipsend/iptests.c
similarity index 100%
rename from contrib/ipfilter/ipsend/iptests.c
rename to sbin/ipf/ipsend/iptests.c
diff --git a/contrib/ipfilter/ipsend/resend.c b/sbin/ipf/ipsend/resend.c
similarity index 100%
rename from contrib/ipfilter/ipsend/resend.c
rename to sbin/ipf/ipsend/resend.c
diff --git a/contrib/ipfilter/ipsend/sbpf.c b/sbin/ipf/ipsend/sbpf.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sbpf.c
rename to sbin/ipf/ipsend/sbpf.c
diff --git a/contrib/ipfilter/ipsend/sdlpi.c b/sbin/ipf/ipsend/sdlpi.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sdlpi.c
rename to sbin/ipf/ipsend/sdlpi.c
diff --git a/contrib/ipfilter/ipsend/snit.c b/sbin/ipf/ipsend/snit.c
similarity index 100%
rename from contrib/ipfilter/ipsend/snit.c
rename to sbin/ipf/ipsend/snit.c
diff --git a/contrib/ipfilter/ipsend/sock.c b/sbin/ipf/ipsend/sock.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sock.c
rename to sbin/ipf/ipsend/sock.c
diff --git a/contrib/ipfilter/ipsend/sockraw.c b/sbin/ipf/ipsend/sockraw.c
similarity index 100%
rename from contrib/ipfilter/ipsend/sockraw.c
rename to sbin/ipf/ipsend/sockraw.c
diff --git a/contrib/ipfilter/lib/addicmp.c b/sbin/ipf/libipf/addicmp.c
similarity index 100%
rename from contrib/ipfilter/lib/addicmp.c
rename to sbin/ipf/libipf/addicmp.c
diff --git a/contrib/ipfilter/lib/addipopt.c b/sbin/ipf/libipf/addipopt.c
similarity index 100%
rename from contrib/ipfilter/lib/addipopt.c
rename to sbin/ipf/libipf/addipopt.c
diff --git a/contrib/ipfilter/lib/alist_free.c b/sbin/ipf/libipf/alist_free.c
similarity index 100%
rename from contrib/ipfilter/lib/alist_free.c
rename to sbin/ipf/libipf/alist_free.c
diff --git a/contrib/ipfilter/lib/alist_new.c b/sbin/ipf/libipf/alist_new.c
similarity index 100%
rename from contrib/ipfilter/lib/alist_new.c
rename to sbin/ipf/libipf/alist_new.c
diff --git a/contrib/ipfilter/lib/allocmbt.c b/sbin/ipf/libipf/allocmbt.c
similarity index 100%
rename from contrib/ipfilter/lib/allocmbt.c
rename to sbin/ipf/libipf/allocmbt.c
diff --git a/contrib/ipfilter/lib/assigndefined.c b/sbin/ipf/libipf/assigndefined.c
similarity index 100%
rename from contrib/ipfilter/lib/assigndefined.c
rename to sbin/ipf/libipf/assigndefined.c
diff --git a/contrib/ipfilter/lib/bcopywrap.c b/sbin/ipf/libipf/bcopywrap.c
similarity index 100%
rename from contrib/ipfilter/lib/bcopywrap.c
rename to sbin/ipf/libipf/bcopywrap.c
diff --git a/contrib/ipfilter/lib/binprint.c b/sbin/ipf/libipf/binprint.c
similarity index 100%
rename from contrib/ipfilter/lib/binprint.c
rename to sbin/ipf/libipf/binprint.c
diff --git a/contrib/ipfilter/lib/buildopts.c b/sbin/ipf/libipf/buildopts.c
similarity index 100%
rename from contrib/ipfilter/lib/buildopts.c
rename to sbin/ipf/libipf/buildopts.c
diff --git a/contrib/ipfilter/lib/checkrev.c b/sbin/ipf/libipf/checkrev.c
similarity index 100%
rename from contrib/ipfilter/lib/checkrev.c
rename to sbin/ipf/libipf/checkrev.c
diff --git a/contrib/ipfilter/lib/connecttcp.c b/sbin/ipf/libipf/connecttcp.c
similarity index 100%
rename from contrib/ipfilter/lib/connecttcp.c
rename to sbin/ipf/libipf/connecttcp.c
diff --git a/contrib/ipfilter/lib/count4bits.c b/sbin/ipf/libipf/count4bits.c
similarity index 100%
rename from contrib/ipfilter/lib/count4bits.c
rename to sbin/ipf/libipf/count4bits.c
diff --git a/contrib/ipfilter/lib/count6bits.c b/sbin/ipf/libipf/count6bits.c
similarity index 100%
rename from contrib/ipfilter/lib/count6bits.c
rename to sbin/ipf/libipf/count6bits.c
diff --git a/contrib/ipfilter/lib/debug.c b/sbin/ipf/libipf/debug.c
similarity index 100%
rename from contrib/ipfilter/lib/debug.c
rename to sbin/ipf/libipf/debug.c
diff --git a/contrib/ipfilter/lib/dupmbt.c b/sbin/ipf/libipf/dupmbt.c
similarity index 100%
rename from contrib/ipfilter/lib/dupmbt.c
rename to sbin/ipf/libipf/dupmbt.c
diff --git a/contrib/ipfilter/lib/facpri.c b/sbin/ipf/libipf/facpri.c
similarity index 100%
rename from contrib/ipfilter/lib/facpri.c
rename to sbin/ipf/libipf/facpri.c
diff --git a/contrib/ipfilter/lib/facpri.h b/sbin/ipf/libipf/facpri.h
similarity index 100%
rename from contrib/ipfilter/lib/facpri.h
rename to sbin/ipf/libipf/facpri.h
diff --git a/contrib/ipfilter/lib/familyname.c b/sbin/ipf/libipf/familyname.c
similarity index 100%
rename from contrib/ipfilter/lib/familyname.c
rename to sbin/ipf/libipf/familyname.c
diff --git a/contrib/ipfilter/lib/fill6bits.c b/sbin/ipf/libipf/fill6bits.c
similarity index 100%
rename from contrib/ipfilter/lib/fill6bits.c
rename to sbin/ipf/libipf/fill6bits.c
diff --git a/contrib/ipfilter/lib/findword.c b/sbin/ipf/libipf/findword.c
similarity index 100%
rename from contrib/ipfilter/lib/findword.c
rename to sbin/ipf/libipf/findword.c
diff --git a/contrib/ipfilter/lib/flags.c b/sbin/ipf/libipf/flags.c
similarity index 100%
rename from contrib/ipfilter/lib/flags.c
rename to sbin/ipf/libipf/flags.c
diff --git a/contrib/ipfilter/lib/freembt.c b/sbin/ipf/libipf/freembt.c
similarity index 100%
rename from contrib/ipfilter/lib/freembt.c
rename to sbin/ipf/libipf/freembt.c
diff --git a/contrib/ipfilter/lib/ftov.c b/sbin/ipf/libipf/ftov.c
similarity index 100%
rename from contrib/ipfilter/lib/ftov.c
rename to sbin/ipf/libipf/ftov.c
diff --git a/contrib/ipfilter/lib/gethost.c b/sbin/ipf/libipf/gethost.c
similarity index 100%
rename from contrib/ipfilter/lib/gethost.c
rename to sbin/ipf/libipf/gethost.c
diff --git a/contrib/ipfilter/lib/geticmptype.c b/sbin/ipf/libipf/geticmptype.c
similarity index 100%
rename from contrib/ipfilter/lib/geticmptype.c
rename to sbin/ipf/libipf/geticmptype.c
diff --git a/contrib/ipfilter/lib/getifname.c b/sbin/ipf/libipf/getifname.c
similarity index 100%
rename from contrib/ipfilter/lib/getifname.c
rename to sbin/ipf/libipf/getifname.c
diff --git a/contrib/ipfilter/lib/getnattype.c b/sbin/ipf/libipf/getnattype.c
similarity index 100%
rename from contrib/ipfilter/lib/getnattype.c
rename to sbin/ipf/libipf/getnattype.c
diff --git a/contrib/ipfilter/lib/getport.c b/sbin/ipf/libipf/getport.c
similarity index 100%
rename from contrib/ipfilter/lib/getport.c
rename to sbin/ipf/libipf/getport.c
diff --git a/contrib/ipfilter/lib/getportproto.c b/sbin/ipf/libipf/getportproto.c
similarity index 100%
rename from contrib/ipfilter/lib/getportproto.c
rename to sbin/ipf/libipf/getportproto.c
diff --git a/contrib/ipfilter/lib/getproto.c b/sbin/ipf/libipf/getproto.c
similarity index 100%
rename from contrib/ipfilter/lib/getproto.c
rename to sbin/ipf/libipf/getproto.c
diff --git a/contrib/ipfilter/lib/getsumd.c b/sbin/ipf/libipf/getsumd.c
similarity index 100%
rename from contrib/ipfilter/lib/getsumd.c
rename to sbin/ipf/libipf/getsumd.c
diff --git a/contrib/ipfilter/lib/hostname.c b/sbin/ipf/libipf/hostname.c
similarity index 100%
rename from contrib/ipfilter/lib/hostname.c
rename to sbin/ipf/libipf/hostname.c
diff --git a/contrib/ipfilter/lib/icmpcode.c b/sbin/ipf/libipf/icmpcode.c
similarity index 100%
rename from contrib/ipfilter/lib/icmpcode.c
rename to sbin/ipf/libipf/icmpcode.c
diff --git a/contrib/ipfilter/lib/icmptypename.c b/sbin/ipf/libipf/icmptypename.c
similarity index 100%
rename from contrib/ipfilter/lib/icmptypename.c
rename to sbin/ipf/libipf/icmptypename.c
diff --git a/contrib/ipfilter/lib/icmptypes.c b/sbin/ipf/libipf/icmptypes.c
similarity index 100%
rename from contrib/ipfilter/lib/icmptypes.c
rename to sbin/ipf/libipf/icmptypes.c
diff --git a/contrib/ipfilter/lib/inet_addr.c b/sbin/ipf/libipf/inet_addr.c
similarity index 100%
rename from contrib/ipfilter/lib/inet_addr.c
rename to sbin/ipf/libipf/inet_addr.c
diff --git a/contrib/ipfilter/lib/initparse.c b/sbin/ipf/libipf/initparse.c
similarity index 100%
rename from contrib/ipfilter/lib/initparse.c
rename to sbin/ipf/libipf/initparse.c
diff --git a/contrib/ipfilter/lib/interror.c b/sbin/ipf/libipf/interror.c
similarity index 100%
rename from contrib/ipfilter/lib/interror.c
rename to sbin/ipf/libipf/interror.c
diff --git a/contrib/ipfilter/lib/ionames.c b/sbin/ipf/libipf/ionames.c
similarity index 100%
rename from contrib/ipfilter/lib/ionames.c
rename to sbin/ipf/libipf/ionames.c
diff --git a/contrib/ipfilter/lib/ipf_dotuning.c b/sbin/ipf/libipf/ipf_dotuning.c
similarity index 100%
rename from contrib/ipfilter/lib/ipf_dotuning.c
rename to sbin/ipf/libipf/ipf_dotuning.c
diff --git a/contrib/ipfilter/lib/ipf_perror.c b/sbin/ipf/libipf/ipf_perror.c
similarity index 100%
rename from contrib/ipfilter/lib/ipf_perror.c
rename to sbin/ipf/libipf/ipf_perror.c
diff --git a/contrib/ipfilter/lib/ipft_hx.c b/sbin/ipf/libipf/ipft_hx.c
similarity index 100%
rename from contrib/ipfilter/lib/ipft_hx.c
rename to sbin/ipf/libipf/ipft_hx.c
diff --git a/contrib/ipfilter/lib/ipft_pc.c b/sbin/ipf/libipf/ipft_pc.c
similarity index 100%
rename from contrib/ipfilter/lib/ipft_pc.c
rename to sbin/ipf/libipf/ipft_pc.c
diff --git a/contrib/ipfilter/lib/ipft_tx.c b/sbin/ipf/libipf/ipft_tx.c
similarity index 100%
rename from contrib/ipfilter/lib/ipft_tx.c
rename to sbin/ipf/libipf/ipft_tx.c
diff --git a/contrib/ipfilter/lib/ipoptsec.c b/sbin/ipf/libipf/ipoptsec.c
similarity index 100%
rename from contrib/ipfilter/lib/ipoptsec.c
rename to sbin/ipf/libipf/ipoptsec.c
diff --git a/contrib/ipfilter/lib/kmem.c b/sbin/ipf/libipf/kmem.c
similarity index 100%
rename from contrib/ipfilter/lib/kmem.c
rename to sbin/ipf/libipf/kmem.c
diff --git a/contrib/ipfilter/lib/kmem.h b/sbin/ipf/libipf/kmem.h
similarity index 100%
rename from contrib/ipfilter/lib/kmem.h
rename to sbin/ipf/libipf/kmem.h
diff --git a/contrib/ipfilter/lib/kmemcpywrap.c b/sbin/ipf/libipf/kmemcpywrap.c
similarity index 100%
rename from contrib/ipfilter/lib/kmemcpywrap.c
rename to sbin/ipf/libipf/kmemcpywrap.c
diff --git a/contrib/ipfilter/lib/kvatoname.c b/sbin/ipf/libipf/kvatoname.c
similarity index 100%
rename from contrib/ipfilter/lib/kvatoname.c
rename to sbin/ipf/libipf/kvatoname.c
diff --git a/contrib/ipfilter/lib/load_dstlist.c b/sbin/ipf/libipf/load_dstlist.c
similarity index 100%
rename from contrib/ipfilter/lib/load_dstlist.c
rename to sbin/ipf/libipf/load_dstlist.c
diff --git a/contrib/ipfilter/lib/load_dstlistnode.c b/sbin/ipf/libipf/load_dstlistnode.c
similarity index 100%
rename from contrib/ipfilter/lib/load_dstlistnode.c
rename to sbin/ipf/libipf/load_dstlistnode.c
diff --git a/contrib/ipfilter/lib/load_file.c b/sbin/ipf/libipf/load_file.c
similarity index 100%
rename from contrib/ipfilter/lib/load_file.c
rename to sbin/ipf/libipf/load_file.c
diff --git a/contrib/ipfilter/lib/load_hash.c b/sbin/ipf/libipf/load_hash.c
similarity index 100%
rename from contrib/ipfilter/lib/load_hash.c
rename to sbin/ipf/libipf/load_hash.c
diff --git a/contrib/ipfilter/lib/load_hashnode.c b/sbin/ipf/libipf/load_hashnode.c
similarity index 100%
rename from contrib/ipfilter/lib/load_hashnode.c
rename to sbin/ipf/libipf/load_hashnode.c
diff --git a/contrib/ipfilter/lib/load_http.c b/sbin/ipf/libipf/load_http.c
similarity index 100%
rename from contrib/ipfilter/lib/load_http.c
rename to sbin/ipf/libipf/load_http.c
diff --git a/contrib/ipfilter/lib/load_pool.c b/sbin/ipf/libipf/load_pool.c
similarity index 100%
rename from contrib/ipfilter/lib/load_pool.c
rename to sbin/ipf/libipf/load_pool.c
diff --git a/contrib/ipfilter/lib/load_poolnode.c b/sbin/ipf/libipf/load_poolnode.c
similarity index 100%
rename from contrib/ipfilter/lib/load_poolnode.c
rename to sbin/ipf/libipf/load_poolnode.c
diff --git a/contrib/ipfilter/lib/load_url.c b/sbin/ipf/libipf/load_url.c
similarity index 100%
rename from contrib/ipfilter/lib/load_url.c
rename to sbin/ipf/libipf/load_url.c
diff --git a/contrib/ipfilter/lib/mb_hexdump.c b/sbin/ipf/libipf/mb_hexdump.c
similarity index 100%
rename from contrib/ipfilter/lib/mb_hexdump.c
rename to sbin/ipf/libipf/mb_hexdump.c
diff --git a/contrib/ipfilter/lib/msgdsize.c b/sbin/ipf/libipf/msgdsize.c
similarity index 100%
rename from contrib/ipfilter/lib/msgdsize.c
rename to sbin/ipf/libipf/msgdsize.c
diff --git a/contrib/ipfilter/lib/mutex_emul.c b/sbin/ipf/libipf/mutex_emul.c
similarity index 100%
rename from contrib/ipfilter/lib/mutex_emul.c
rename to sbin/ipf/libipf/mutex_emul.c
diff --git a/contrib/ipfilter/lib/nametokva.c b/sbin/ipf/libipf/nametokva.c
similarity index 100%
rename from contrib/ipfilter/lib/nametokva.c
rename to sbin/ipf/libipf/nametokva.c
diff --git a/contrib/ipfilter/lib/nat_setgroupmap.c b/sbin/ipf/libipf/nat_setgroupmap.c
similarity index 100%
rename from contrib/ipfilter/lib/nat_setgroupmap.c
rename to sbin/ipf/libipf/nat_setgroupmap.c
diff --git a/contrib/ipfilter/lib/ntomask.c b/sbin/ipf/libipf/ntomask.c
similarity index 100%
rename from contrib/ipfilter/lib/ntomask.c
rename to sbin/ipf/libipf/ntomask.c
diff --git a/contrib/ipfilter/lib/optname.c b/sbin/ipf/libipf/optname.c
similarity index 100%
rename from contrib/ipfilter/lib/optname.c
rename to sbin/ipf/libipf/optname.c
diff --git a/contrib/ipfilter/lib/optprint.c b/sbin/ipf/libipf/optprint.c
similarity index 100%
rename from contrib/ipfilter/lib/optprint.c
rename to sbin/ipf/libipf/optprint.c
diff --git a/contrib/ipfilter/lib/optprintv6.c b/sbin/ipf/libipf/optprintv6.c
similarity index 100%
rename from contrib/ipfilter/lib/optprintv6.c
rename to sbin/ipf/libipf/optprintv6.c
diff --git a/contrib/ipfilter/lib/optvalue.c b/sbin/ipf/libipf/optvalue.c
similarity index 100%
rename from contrib/ipfilter/lib/optvalue.c
rename to sbin/ipf/libipf/optvalue.c
diff --git a/contrib/ipfilter/lib/parsefields.c b/sbin/ipf/libipf/parsefields.c
similarity index 100%
rename from contrib/ipfilter/lib/parsefields.c
rename to sbin/ipf/libipf/parsefields.c
diff --git a/contrib/ipfilter/lib/parseipfexpr.c b/sbin/ipf/libipf/parseipfexpr.c
similarity index 100%
rename from contrib/ipfilter/lib/parseipfexpr.c
rename to sbin/ipf/libipf/parseipfexpr.c
diff --git a/contrib/ipfilter/lib/parsewhoisline.c b/sbin/ipf/libipf/parsewhoisline.c
similarity index 100%
rename from contrib/ipfilter/lib/parsewhoisline.c
rename to sbin/ipf/libipf/parsewhoisline.c
diff --git a/contrib/ipfilter/lib/poolio.c b/sbin/ipf/libipf/poolio.c
similarity index 100%
rename from contrib/ipfilter/lib/poolio.c
rename to sbin/ipf/libipf/poolio.c
diff --git a/contrib/ipfilter/lib/portname.c b/sbin/ipf/libipf/portname.c
similarity index 100%
rename from contrib/ipfilter/lib/portname.c
rename to sbin/ipf/libipf/portname.c
diff --git a/contrib/ipfilter/lib/prependmbt.c b/sbin/ipf/libipf/prependmbt.c
similarity index 100%
rename from contrib/ipfilter/lib/prependmbt.c
rename to sbin/ipf/libipf/prependmbt.c
diff --git a/contrib/ipfilter/lib/print_toif.c b/sbin/ipf/libipf/print_toif.c
similarity index 100%
rename from contrib/ipfilter/lib/print_toif.c
rename to sbin/ipf/libipf/print_toif.c
diff --git a/contrib/ipfilter/lib/printactiveaddr.c b/sbin/ipf/libipf/printactiveaddr.c
similarity index 100%
rename from contrib/ipfilter/lib/printactiveaddr.c
rename to sbin/ipf/libipf/printactiveaddr.c
diff --git a/contrib/ipfilter/lib/printactivenat.c b/sbin/ipf/libipf/printactivenat.c
*** 442 LINES SKIPPED ***