Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-6]: src Pull up following revision(s) (requested by rmind in tick...
details: https://anonhg.NetBSD.org/src/rev/406ed517292d
branches: netbsd-6
changeset: 775450:406ed517292d
user: riz <riz%NetBSD.org@localhost>
date: Sun Nov 18 22:38:24 2012 +0000
description:
Pull up following revision(s) (requested by rmind in ticket #693):
lib/npf/ext_normalise/shlib_version: revision 1.1
lib/libnpf/npf.c: revision 1.13
distrib/sets/lists/modules/mi: revision 1.48
sys/net/npf/npf_rproc.c: revision 1.3
sys/net/npf/npf_rproc.c: revision 1.4
sys/modules/npf/Makefile: revision 1.11
usr.sbin/npf/npfctl/npfctl.h: revision 1.20
lib/npf/ext_log/npfext_log.c: revision 1.1
lib/libnpf/npf.h: revision 1.11
sys/net/npf/npf_inet.c: revision 1.17
sys/net/npf/npf_log.c: file removal
sys/net/npf/npf_handler.c: revision 1.22
distrib/sets/lists/base/shl.mi: revision 1.636
sys/net/npf/npf_impl.h: revision 1.23
usr.sbin/npf/npfctl/Makefile: revision 1.8
lib/npf/Makefile: revision 1.1
lib/npf/ext_log/shlib_version: revision 1.1
lib/Makefile: revision 1.189
distrib/sets/lists/comp/shl.mi: revision 1.236
usr.sbin/npf/npfctl/npf_build.c: revision 1.14
distrib/sets/lists/base/mi: revision 1.1007
usr.sbin/npf/npfctl/npf_scan.l: revision 1.6
distrib/sets/lists/base/mi: revision 1.1009
sys/net/npf/npf.h: revision 1.21
lib/npf/ext_normalise/npfext_normalise.c: revision 1.1
etc/mtree/NetBSD.dist.base: revision 1.105
lib/libnpf/Makefile: revision 1.3
etc/mtree/NetBSD.dist.base: revision 1.106
usr.sbin/npf/npfctl/npf_extmod.c: revision 1.1
sys/net/npf/npf_ctl.c: revision 1.18
lib/npf/ext_log/Makefile: revision 1.1
distrib/sets/lists/comp/mi: revision 1.1781
usr.sbin/npf/npfctl/npf_var.h: revision 1.4
sys/net/npf/npf.c: revision 1.13
sys/modules/Makefile: revision 1.111
sys/net/npf/npf_ext_log.c: revision 1.1
lib/npf/Makefile.inc: revision 1.1
sys/net/npf/npf_ext_normalise.c: revision 1.1
sys/net/npf/files.npf: revision 1.8
sys/rump/net/lib/libnpf/Makefile: revision 1.2
sys/modules/npf_ext_log/Makefile: revision 1.1
lib/npf/ext_normalise/Makefile: revision 1.1
usr.sbin/npf/npfctl/npfctl.c: revision 1.20
usr.sbin/npf/npfctl/npf_parse.y: revision 1.13
sys/modules/npf_ext_normalise/Makefile: revision 1.1
Implement dynamic NPF extensions interface. An extension consists of
dynamically loaded module (.so) supplementing npfctl(8) and a kernel
module. Move normalisation and logging functionality into their own
extensions. More improvements to come.
Add /usr/lib/npf.
Add ./usr/libdata/debug/usr/lib/npf for rmind
Fix MKDEBUG set lists
ext_ops does not change during the life cycle and can be fetched without
the mutex held. This avoids confusion in the compiler about an uninitialized
variable ext_ops.
ok rmind@
diffstat:
distrib/sets/lists/base/mi | 4 +-
distrib/sets/lists/base/shl.mi | 14 +-
distrib/sets/lists/comp/mi | 3 +-
distrib/sets/lists/comp/shl.mi | 4 +-
distrib/sets/lists/modules/mi | 6 +-
etc/mtree/NetBSD.dist.base | 4 +-
lib/Makefile | 3 +-
lib/libnpf/npf.c | 104 ++++++++---
lib/libnpf/npf.h | 19 +-
lib/npf/Makefile | 11 +
lib/npf/Makefile.inc | 8 +
lib/npf/ext_log/Makefile | 13 +
lib/npf/ext_log/npfext_log.c | 75 +++++++++
lib/npf/ext_log/shlib_version | 4 +
lib/npf/ext_normalise/Makefile | 13 +
lib/npf/ext_normalise/npfext_normalise.c | 100 ++++++++++++
lib/npf/ext_normalise/shlib_version | 4 +
sys/modules/Makefile | 4 +-
sys/modules/npf/Makefile | 4 +-
sys/modules/npf_ext_log/Makefile | 11 +
sys/modules/npf_ext_normalise/Makefile | 11 +
sys/net/npf/files.npf | 7 +-
sys/net/npf/npf.c | 18 +-
sys/net/npf/npf.h | 52 ++++-
sys/net/npf/npf_ctl.c | 83 ++++++---
sys/net/npf/npf_ext_log.c | 254 ++++++++++++++++++++++++++++++
sys/net/npf/npf_ext_normalise.c | 255 +++++++++++++++++++++++++++++++
sys/net/npf/npf_handler.c | 9 +-
sys/net/npf/npf_impl.h | 14 +-
sys/net/npf/npf_inet.c | 118 +--------------
sys/net/npf/npf_log.c | 180 ---------------------
sys/net/npf/npf_rproc.c | 231 ++++++++++++++++++++++-----
sys/rump/net/lib/libnpf/Makefile | 10 +-
usr.sbin/npf/npfctl/Makefile | 8 +-
usr.sbin/npf/npfctl/npf_build.c | 81 +++------
usr.sbin/npf/npfctl/npf_extmod.c | 127 +++++++++++++++
usr.sbin/npf/npfctl/npf_parse.y | 75 ++++-----
usr.sbin/npf/npfctl/npf_scan.l | 10 +-
usr.sbin/npf/npfctl/npf_var.h | 32 ++-
usr.sbin/npf/npfctl/npfctl.c | 8 +-
usr.sbin/npf/npfctl/npfctl.h | 28 ++-
41 files changed, 1440 insertions(+), 579 deletions(-)
diffs (truncated from 2905 to 300 lines):
diff -r 87512770a550 -r 406ed517292d distrib/sets/lists/base/mi
--- a/distrib/sets/lists/base/mi Sun Nov 18 22:09:46 2012 +0000
+++ b/distrib/sets/lists/base/mi Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.984.2.10 2012/10/01 20:15:34 riz Exp $
+# $NetBSD: mi,v 1.984.2.11 2012/11/18 22:38:30 riz Exp $
#
# Note: Don't delete entries from here - mark them as "obsolete" instead,
# unless otherwise stated below.
@@ -932,6 +932,7 @@
./usr/lib/runemodule/libEUC.so.3 base-obsolete obsolete
./usr/lib/runemodule/libEUC.so.3.0 base-obsolete obsolete
./usr/lib/runemodule/libEUCTW.a base-obsolete obsolete
+./usr/lib/npf base-sys-usr
./usr/lib/runemodule/libEUCTW.so base-obsolete obsolete
./usr/lib/runemodule/libEUCTW.so.3 base-obsolete obsolete
./usr/lib/runemodule/libEUCTW.so.3.0 base-obsolete obsolete
@@ -975,6 +976,7 @@
./usr/libdata/firmware/radeon/CEDAR_pfp.bin base-firmware-usr
./usr/libdata/firmware/radeon/CEDAR_rlc.bin base-firmware-usr
./usr/libdata/firmware/radeon/CYPRESS_me.bin base-firmware-usr
+./usr/libdata/debug/usr/lib/npf base-sys-usr
./usr/libdata/firmware/radeon/CYPRESS_pfp.bin base-firmware-usr
./usr/libdata/firmware/radeon/CYPRESS_rlc.bin base-firmware-usr
./usr/libdata/firmware/radeon/JUNIPER_me.bin base-firmware-usr
diff -r 87512770a550 -r 406ed517292d distrib/sets/lists/base/shl.mi
--- a/distrib/sets/lists/base/shl.mi Sun Nov 18 22:09:46 2012 +0000
+++ b/distrib/sets/lists/base/shl.mi Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.616.2.5 2012/09/17 19:00:25 riz Exp $
+# $NetBSD: shl.mi,v 1.616.2.6 2012/11/18 22:38:29 riz Exp $
#
# Note: Don't delete entries from here - mark them as "obsolete" instead,
# unless otherwise stated below.
@@ -713,6 +713,12 @@
./usr/lib/libzpool_pic.a base-zfs-shlib zfs,dynamicroot
./usr/lib/lua/5.1/gpio.so base-sys-shlib
./usr/lib/lua/5.1/sqlite.so base-sys-shlib
+./usr/lib/npf/ext_log.so base-npf-shlib npf
+./usr/lib/npf/ext_log.so.0 base-npf-shlib npf
+./usr/lib/npf/ext_log.so.0.0 base-npf-shlib npf
+./usr/lib/npf/ext_normalise.so base-npf-shlib npf
+./usr/lib/npf/ext_normalise.so.0 base-npf-shlib npf
+./usr/lib/npf/ext_normalise.so.0.0 base-npf-shlib npf
./usr/lib/nss_mdns.so.0 base-obsolete obsolete
./usr/lib/nss_mdnsd.so.0 base-mdns-shlib mdns
./usr/lib/nss_multicast_dns.so.0 base-mdns-shlib mdns
@@ -726,6 +732,12 @@
./usr/lib/security/pam_guest.so.3 base-sys-shlib pam
./usr/lib/security/pam_krb5.so.3 base-sys-shlib kerberos,pam
./usr/lib/security/pam_ksu.so.3 base-sys-shlib kerberos,pam
+./usr/lib/npf/ext_log.so base-npf-shlib npf
+./usr/lib/npf/ext_log.so.0 base-npf-shlib npf
+./usr/lib/npf/ext_log.so.0.0 base-npf-shlib npf
+./usr/lib/npf/ext_normalise.so base-npf-shlib npf
+./usr/lib/npf/ext_normalise.so.0 base-npf-shlib npf
+./usr/lib/npf/ext_normalise.so.0.0 base-npf-shlib npf
./usr/lib/security/pam_lastlog.so.3 base-sys-shlib pam
./usr/lib/security/pam_login_access.so.3 base-sys-shlib pam
./usr/lib/security/pam_nologin.so.3 base-sys-shlib pam
diff -r 87512770a550 -r 406ed517292d distrib/sets/lists/comp/mi
--- a/distrib/sets/lists/comp/mi Sun Nov 18 22:09:46 2012 +0000
+++ b/distrib/sets/lists/comp/mi Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1738.2.7 2012/09/17 19:00:28 riz Exp $
+# $NetBSD: mi,v 1.1738.2.8 2012/11/18 22:38:33 riz Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -3713,6 +3713,7 @@
./usr/libdata/debug/usr/bin/mkfifo.debug comp-util-debug debug
./usr/libdata/debug/usr/bin/mklocale.debug comp-locale-debug debug
./usr/libdata/debug/usr/bin/mkstr.debug comp-c-debug debug
+./usr/libdata/debug/usr/bin/lzf.debug comp-util-debug debug
./usr/libdata/debug/usr/bin/mktemp.debug comp-util-debug debug
./usr/libdata/debug/usr/bin/mkubootimage.debug comp-util-debug debug
./usr/libdata/debug/usr/bin/modstat.debug comp-obsolete obsolete
diff -r 87512770a550 -r 406ed517292d distrib/sets/lists/comp/shl.mi
--- a/distrib/sets/lists/comp/shl.mi Sun Nov 18 22:09:46 2012 +0000
+++ b/distrib/sets/lists/comp/shl.mi Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.209.2.5 2012/09/17 19:00:32 riz Exp $
+# $NetBSD: shl.mi,v 1.209.2.6 2012/11/18 22:38:32 riz Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -425,3 +425,5 @@
./usr/libdata/debug/usr/lib/libz.so.1.0.debug comp-sys-debug debug
./usr/libdata/debug/usr/lib/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug
./usr/libdata/debug/usr/lib/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug
+./usr/libdata/debug/usr/lib/npf/libext_log.so.0.0.debug comp-sys-debug debug,npf
+./usr/libdata/debug/usr/lib/npf/libext_normalise.so.0.0.debug comp-sys-debug debug,npf
diff -r 87512770a550 -r 406ed517292d distrib/sets/lists/modules/mi
--- a/distrib/sets/lists/modules/mi Sun Nov 18 22:09:46 2012 +0000
+++ b/distrib/sets/lists/modules/mi Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.39 2011/12/05 02:04:34 jym Exp $
+# $NetBSD: mi,v 1.39.2.1 2012/11/18 22:38:25 riz Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -115,6 +115,10 @@
./@MODULEDIR@/ntfs/ntfs.kmod base-kernel-modules kmod
./@MODULEDIR@/null base-kernel-modules kmod
./@MODULEDIR@/null/null.kmod base-kernel-modules kmod
+./@MODULEDIR@/npf_ext_log base-kernel-modules kmod
+./@MODULEDIR@/npf_ext_log/npf_ext_log.kmod base-kernel-modules kmod
+./@MODULEDIR@/npf_ext_normalise base-kernel-modules kmod
+./@MODULEDIR@/npf_ext_normalise/npf_ext_normalise.kmod base-kernel-modules kmod
./@MODULEDIR@/onewire base-kernel-modules kmod
./@MODULEDIR@/onewire/onewire.kmod base-kernel-modules kmod
./@MODULEDIR@/overlay base-kernel-modules kmod
diff -r 87512770a550 -r 406ed517292d etc/mtree/NetBSD.dist.base
--- a/etc/mtree/NetBSD.dist.base Sun Nov 18 22:09:46 2012 +0000
+++ b/etc/mtree/NetBSD.dist.base Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: NetBSD.dist.base,v 1.97.2.4 2012/10/01 20:15:36 riz Exp $
+# $NetBSD: NetBSD.dist.base,v 1.97.2.5 2012/11/18 22:38:37 riz Exp $
# @(#)4.4BSD.dist 8.1 (Berkeley) 6/13/93
# Do not customize this file as it may be overwritten on upgrades.
@@ -195,6 +195,7 @@
./usr/lib/lua/5.1
./usr/lib/pkgconfig
./usr/lib/security
+./usr/lib/npf
./usr/libdata
./usr/libdata/debug
./usr/libdata/debug/bin
@@ -207,6 +208,7 @@
./usr/libdata/debug/usr/lib/i18n
./usr/libdata/debug/usr/libexec
./usr/libdata/debug/usr/libexec/ching
+./usr/libdata/debug/usr/lib/npf
./usr/libdata/debug/usr/libexec/lpr
./usr/libdata/debug/usr/libexec/postfix
./usr/libdata/debug/usr/mdec
diff -r 87512770a550 -r 406ed517292d lib/Makefile
--- a/lib/Makefile Sun Nov 18 22:09:46 2012 +0000
+++ b/lib/Makefile Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.181.2.1 2012/03/02 18:27:53 riz Exp $
+# $NetBSD: Makefile,v 1.181.2.2 2012/11/18 22:38:32 riz Exp $
# from: @(#)Makefile 5.25.1.1 (Berkeley) 5/7/91
.include <bsd.own.mk>
@@ -110,6 +110,7 @@
SUBDIR+= libnpf # depends on libprop
.endif
+SUBDIR+= npf
.if (${MKCRYPTO} != "no")
SUBDIR+= ../crypto/external/bsd/openssl/lib # depends on libcrypt
.endif
diff -r 87512770a550 -r 406ed517292d lib/libnpf/npf.c
--- a/lib/libnpf/npf.c Sun Nov 18 22:09:46 2012 +0000
+++ b/lib/libnpf/npf.c Sun Nov 18 22:38:24 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: npf.c,v 1.7.2.5 2012/08/19 17:40:31 riz Exp $ */
+/* $NetBSD: npf.c,v 1.7.2.6 2012/11/18 22:38:25 riz Exp $ */
/*-
* Copyright (c) 2010-2012 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf.c,v 1.7.2.5 2012/08/19 17:40:31 riz Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf.c,v 1.7.2.6 2012/11/18 22:38:25 riz Exp $");
#include <sys/types.h>
#include <netinet/in_systm.h>
@@ -78,6 +78,11 @@
prop_dictionary_t ntl_dict;
};
+struct nl_ext {
+ const char * nxt_name;
+ prop_dictionary_t nxt_dict;
+};
+
/*
* CONFIGURATION INTERFACE.
*/
@@ -250,6 +255,43 @@
}
/*
+ * NPF EXTENSION INTERFACE.
+ */
+
+nl_ext_t *
+npf_ext_construct(const char *name)
+{
+ nl_ext_t *ext;
+
+ ext = malloc(sizeof(*ext));
+ if (ext == NULL) {
+ return NULL;
+ }
+ ext->nxt_name = strdup(name);
+ if (ext->nxt_name == NULL) {
+ free(ext);
+ return NULL;
+ }
+ ext->nxt_dict = prop_dictionary_create();
+
+ return ext;
+}
+
+void
+npf_ext_param_u32(nl_ext_t *ext, const char *key, uint32_t val)
+{
+ prop_dictionary_t extdict = ext->nxt_dict;
+ prop_dictionary_set_uint32(extdict, key, val);
+}
+
+void
+npf_ext_param_bool(nl_ext_t *ext, const char *key, bool val)
+{
+ prop_dictionary_t extdict = ext->nxt_dict;
+ prop_dictionary_set_bool(extdict, key, val);
+}
+
+/*
* RULE INTERFACE.
*/
@@ -367,6 +409,7 @@
subrules = prop_dictionary_get(rldict, "subrules");
(void)_npf_rule_foreach1(subrules, nlevel + 1, func);
+ prop_object_release(subrules);
}
prop_object_iterator_release(it);
return 0;
@@ -428,6 +471,7 @@
npf_rproc_create(const char *name)
{
prop_dictionary_t rpdict;
+ prop_array_t extcalls;
nl_rproc_t *nrp;
nrp = malloc(sizeof(nl_rproc_t));
@@ -440,10 +484,36 @@
return NULL;
}
prop_dictionary_set_cstring(rpdict, "name", name);
+
+ extcalls = prop_array_create();
+ if (extcalls == NULL) {
+ prop_object_release(rpdict);
+ free(nrp);
+ return NULL;
+ }
+ prop_dictionary_set(rpdict, "extcalls", extcalls);
+ prop_object_release(extcalls);
+
nrp->nrp_dict = rpdict;
return nrp;
}
+int
+npf_rproc_extcall(nl_rproc_t *rp, nl_ext_t *ext)
+{
+ prop_dictionary_t rpdict = rp->nrp_dict;
+ prop_dictionary_t extdict = ext->nxt_dict;
+ prop_array_t extcalls;
+
+ extcalls = prop_dictionary_get(rpdict, "extcalls");
+ if (_npf_prop_array_lookup(extcalls, "name", ext->nxt_name)) {
+ return EEXIST;
+ }
+ prop_dictionary_set_cstring(extdict, "name", ext->nxt_name);
+ prop_array_add(extcalls, extdict);
+ return 0;
+}
+
bool
npf_rproc_exists_p(nl_config_t *ncf, const char *name)
{
@@ -452,36 +522,6 @@
}
int
-_npf_rproc_setnorm(nl_rproc_t *rp, bool rnd, bool no_df, u_int minttl,
- u_int maxmss)
-{
- prop_dictionary_t rpdict = rp->nrp_dict;
- uint32_t fl = 0;
-
- prop_dictionary_set_bool(rpdict, "randomize-id", rnd);
- prop_dictionary_set_bool(rpdict, "no-df", no_df);
- prop_dictionary_set_uint32(rpdict, "min-ttl", minttl);
- prop_dictionary_set_uint32(rpdict, "max-mss", maxmss);
-
- prop_dictionary_get_uint32(rpdict, "flags", &fl);
- prop_dictionary_set_uint32(rpdict, "flags", fl | NPF_RPROC_NORMALIZE);
- return 0;
-}
Home |
Main Index |
Thread Index |
Old Index