Added IPFilter

This commit is contained in:
Igor Pashev 2015-01-14 16:59:30 +03:00
parent cfc7ebbad4
commit 522105a892
14 changed files with 316 additions and 0 deletions

View File

@ -0,0 +1,10 @@
Real sources are in the package illumos-source-X.Y,
where X and Y are numbers. Exact values of X and Y
are set in Build-Depends field of debian/control as
well as in the version string in debian/changelog,
in a form of X.Y-1.
To add a patch you need first to unpack files from
illumos-source-X.Y using ./debian/rules unpack
and, desirably, ./debian/rules patch

View File

@ -0,0 +1,5 @@
illumos-ipfilter (4.3+0) unstable; urgency=low
* Initial release.
-- Igor Pashev <pashev.igor@gmail.com> Wed, 14 Jan 2015 16:14:40 +0300

1
ipfilter/debian/compat Normal file
View File

@ -0,0 +1 @@
9

24
ipfilter/debian/control Normal file
View File

@ -0,0 +1,24 @@
Source: illumos-ipfilter
Section: admin
Priority: optional
Maintainer: Igor Pashev <pashev.igor@gmail.com>
Build-Depends:
dh-illumos,
illumos-source-4.3,
libelf-dev,
libkvm-dev,
libncurses5-dev,
libscf1-dev,
libumem-dev,
quilt,
Standards-Version: 3.9.5
Homepage: https://www.illumos.org
Package: ipfilter
Architecture: illumos-any
Depends: ${shlibs:Depends}
Description: IP packet filtering software
IP Filter is software that provides packet filtering capabilities on
a Solaris system. On a properly setup system, it can be used to build
a firewall.

27
ipfilter/debian/copyright Normal file
View File

@ -0,0 +1,27 @@
Files: debian/*
Copyright: 2012, Igor Pashev <pashev.igor@gmail.com>
License: WTFPL-2
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
.
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
.
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
.
0. You just DO WHAT THE FUCK YOU WANT TO.
Files: *
License: CDDL
Note that sources are not in this package but in the package
illumos-source-X.Y. Those sources are covered by Common Development
and Distribution License (CDDL).
.
On Dyson system, the full text of the CDDL license
can be found in the file `/usr/share/common-licenses/CDDL-1.0'.

View File

@ -0,0 +1 @@
etc/ipf

View File

@ -0,0 +1,38 @@
lib/svc/bin/svc.ipfd
lib/svc/manifest/network/ipfilter.xml
lib/svc/method/ipfilter
lib/svc/share/ipf_include.sh
usr/lib/ipf/ipftest
usr/sbin/ipf
usr/sbin/ipfs
usr/sbin/ipfstat
usr/sbin/ipmon
usr/sbin/ipnat
usr/sbin/ippool
usr/share/doc/ipfilter/examples/BASIC.NAT
usr/share/doc/ipfilter/examples/BASIC_1.FW
usr/share/doc/ipfilter/examples/BASIC_2.FW
usr/share/doc/ipfilter/examples/example.1
usr/share/doc/ipfilter/examples/example.10
usr/share/doc/ipfilter/examples/example.11
usr/share/doc/ipfilter/examples/example.12
usr/share/doc/ipfilter/examples/example.13
usr/share/doc/ipfilter/examples/example.2
usr/share/doc/ipfilter/examples/example.3
usr/share/doc/ipfilter/examples/example.4
usr/share/doc/ipfilter/examples/example.5
usr/share/doc/ipfilter/examples/example.6
usr/share/doc/ipfilter/examples/example.7
usr/share/doc/ipfilter/examples/example.8
usr/share/doc/ipfilter/examples/example.9
usr/share/doc/ipfilter/examples/example.sr
usr/share/doc/ipfilter/examples/firewall
usr/share/doc/ipfilter/examples/ftp-proxy
usr/share/doc/ipfilter/examples/ftppxy
usr/share/doc/ipfilter/examples/ip_rules
usr/share/doc/ipfilter/examples/mkfilters
usr/share/doc/ipfilter/examples/nat-setup
usr/share/doc/ipfilter/examples/nat.eg
usr/share/doc/ipfilter/examples/pool.conf
usr/share/doc/ipfilter/examples/server
usr/share/doc/ipfilter/examples/tcpstate

View File

@ -0,0 +1,8 @@
usr/src/man/man1m/ipf.1m
usr/src/man/man1m/ipfs.1m
usr/src/man/man1m/ipfstat.1m
usr/src/man/man1m/ipmon.1m
usr/src/man/man1m/ipnat.1m
usr/src/man/man1m/ippool.1m
usr/src/man/man1m/svc.ipfd.1m
usr/src/man/man5/ipfilter.5

View File

@ -0,0 +1,26 @@
Index: ipfilter/usr/src/cmd/ipf/tools/ipf_y.y
===================================================================
--- ipfilter.orig/usr/src/cmd/ipf/tools/ipf_y.y
+++ ipfilter/usr/src/cmd/ipf/tools/ipf_y.y
@@ -967,10 +967,10 @@ ipaddr: IPFY_ANY { bzero(&($$), sizeof
yyexpectaddr = 0; }
| hostname { yyresetdict();
if (use_inet6 == 0)
- $$.a.in4 = $1.in4;
+ $<ipp>$.a.in4 = $1.in4;
else {
set_ipv6_addr = 1;
- bcopy(&$1, &$$.a, sizeof($$.a));
+ bcopy(&$1, &$<ipp>$.a, sizeof($<ipp>$.a));
}
}
maskspace { yysetdict(maskwords); }
@@ -988,7 +988,7 @@ ipaddr: IPFY_ANY { bzero(&($$), sizeof
yyexpectaddr = 0; }
| YY_IPV6 { set_ipv6_addr = 1;
yyresetdict();
- bcopy(&$1, &$$.a, sizeof($$.a)); }
+ bcopy(&$1, &$<ipp>$.a, sizeof($<ipp>$.a)); }
maskspace { yysetdict(maskwords); }
mask { bcopy(&$5, &$$.m, sizeof($$.m));
yyresetdict();

View File

@ -0,0 +1,35 @@
Index: ipfilter/usr/src/man/man1m/ipf.1m
===================================================================
--- ipfilter.orig/usr/src/man/man1m/ipf.1m
+++ ipfilter/usr/src/man/man1m/ipf.1m
@@ -491,29 +491,13 @@ Location of \fBipf\fR startup configurat
.sp
.ne 2
.na
-\fB\fB/usr/share/ipfilter/examples/\fR\fR
+\fB\fB/usr/share/doc/ipfilter/examples/\fR\fR
.ad
.sp .6
.RS 4n
Contains numerous IP Filter examples.
.RE
-.SH ATTRIBUTES
-.sp
-.LP
-See \fBattributes\fR(5) for descriptions of the following attributes:
-.sp
-
-.sp
-.TS
-box;
-c | c
-l | l .
-ATTRIBUTE TYPE ATTRIBUTE VALUE
-_
-Interface Stability Committed
-.TE
-
.SH SEE ALSO
.sp
.LP

View File

@ -0,0 +1,20 @@
Index: ipfilter/usr/src/cmd/ipf/svc/ipfilter.xml
===================================================================
--- ipfilter.orig/usr/src/cmd/ipf/svc/ipfilter.xml
+++ ipfilter/usr/src/cmd/ipf/svc/ipfilter.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!DOCTYPE service_bundle SYSTEM "/usr/share/xml/schema/smf/service_bundle.dtd.1">
<!--
Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
@@ -65,7 +65,7 @@
<dependency
name='domain'
- grouping='require_all'
+ grouping='optional_all'
restart_on='restart'
type='service'>
<service_fmri value='svc:/system/identity:domain' />

View File

@ -0,0 +1,3 @@
ipf_y.y.patch
ipfilter-smf.patch
ipfilter-man.patch

117
ipfilter/debian/rules Executable file
View File

@ -0,0 +1,117 @@
#!/usr/bin/make -f
include /usr/share/dpkg/architecture.mk
export DH_VERBOSE = 1
cmd := \
ipf
unpack: unpack-stamp
unpack-stamp:
dh_testdir
dh_illumos_gate --build $(cmd:%=usr/src/cmd/%)
dh_illumos_gate \
usr/src/cmd/svc/shell/ipf_include.sh \
usr/src/common/net/patricia/radix.c \
usr/src/lib/Makefile.lib \
usr/src/lib/Makefile.lib.64 \
usr/src/lib/Makefile.targ \
usr/src/man/man1m/ipf.1m \
usr/src/man/man1m/ipfs.1m \
usr/src/man/man1m/ipfstat.1m \
usr/src/man/man1m/ipmon.1m \
usr/src/man/man1m/ipnat.1m \
usr/src/man/man1m/ippool.1m \
usr/src/man/man1m/svc.ipfd.1m \
usr/src/man/man5/ipfilter.5 \
usr/src/uts/common/inet/ipf/\*.c \
usr/src/uts/common/inet/ipf/\*.h \
$(NULL)
# Not used and buggy:
echo > usr/src/Makefile.msg.targ
# Use GNU ld:
sed -i '/LD_ALTEXEC/d' usr/env.sh
echo 'BDIRECT=' >> usr/src/cmd/Makefile.cmd
echo 'MAPFILE.NED=' >> usr/src/cmd/Makefile.cmd
echo 'MAPFILE.NES=' >> usr/src/cmd/Makefile.cmd
echo 'MAPFILE.NGB_amd64=' >> usr/src/cmd/Makefile.cmd
echo 'MAPFILE.NGB_i386=' >> usr/src/cmd/Makefile.cmd
echo 'MAPFILE.PGA=' >> usr/src/cmd/Makefile.cmd
# avoid isaexec:
echo 'ROOTPROG32=$$(ROOTPROG)' >> usr/src/cmd/Makefile.cmd
echo 'ROOTUSRSBINPROG32=$$(ROOTUSRSBINPROG)' >> usr/src/cmd/Makefile.cmd
echo 'export ROOTIPFLINKS=' >> usr/env.sh
echo 'export ROOTUSRSBINLINKS=' >> usr/env.sh
echo 'export SHAREIPF=$$ROOT/usr/share/doc/ipfilter' >> usr/env.sh
sed -i -r 's,^ROOTIPF32.*,ROOTIPF32=$$(ROOTIPF),' usr/src/cmd/ipf/tools/Makefile.tools
touch $@
patch: patch-stamp
patch-stamp: unpack-stamp
dh_testdir
[ ! -f debian/patches/series ] || QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2
touch $@
unpatch:
dh_testdir
[ ! -f debian/patches/series ] || QUILT_PATCHES=debian/patches quilt pop -a -f || test $$? = 2
rm -f patch-stamp
dirs-stamp:
. usr/env.sh; mkdir -p \
debian/tmp/lib/svc/bin \
debian/tmp/lib/svc/method \
debian/tmp/lib/svc/share \
debian/tmp/usr/lib \
debian/tmp/usr/sbin \
$(NULL)
touch $@
install: install-stamp
install-stamp: build-stamp
install -m 644 usr/src/cmd/svc/shell/ipf_include.sh debian/tmp/lib/svc/share/ipf_include.sh
touch $@
install build build-arch build-indep: build-stamp
build-stamp: patch-stamp dirs-stamp
dh_illumos_make --native \
usr/src/cmd/ipf/examples \
usr/src/cmd/ipf/lib/i386 \
usr/src/cmd/ipf/svc \
usr/src/cmd/ipf/tools/i386 \
$(NULL)
touch $@
binary binary-arch binary-indep: binary-stamp
binary-stamp: install-stamp
dh_testdir
dh_testroot
dh_installdirs
dh_install --fail-missing
dh_installman
dh_installdocs
dh_installexamples
dh_installchangelogs
dh_link
dh_smf
dh_compress
dh_shlibdeps
dh_strip
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
touch $@
clean: unpatch
dh_testdir
rm -rf usr .pc
dh_clean

View File

@ -0,0 +1 @@
3.0 (native)