From 5582e56d9d09f5f753111b270859af3d97ffd499 Mon Sep 17 00:00:00 2001 From: piso Date: Tue, 26 Sep 2006 23:26:53 +0000 Subject: Summer of Code 2005: improve libalias - part 1 of 2 With the first part of my previous Summer of Code work, we get: -made libalias modular: -support for 'particular' protocols (like ftp/irc/etcetc) is no more hardcoded inside libalias, but it's available through external modules loadable at runtime -modules are available both in kernel (/boot/kernel/alias_*.ko) and user land (/lib/libalias_*) -protocols/applications modularized are: cuseeme, ftp, irc, nbt, pptp, skinny and smedia -added logging support for kernel side -cleanup After a buildworld, do a 'mergemaster -i' to install the file libalias.conf in /etc or manually copy it. During startup (and after every HUP signal) user land applications running the new libalias will try to read a file in /etc called libalias.conf: that file contains the list of modules to load. User land applications affected by this commit are ppp and natd: if libalias.conf is present in /etc you won't notice any difference. The only kernel land bit affected by this commit is ng_nat: if you are using ng_nat, and it doesn't correctly handle ftp/irc/etcetc sessions anymore, remember to kldload the correspondent module (i.e. kldload alias_ftp). General information and details about the inner working are available in the libalias man page under the section 'MODULAR ARCHITECTURE (AND ipfw(4) SUPPORT)'. NOTA BENE: this commit affects _ONLY_ libalias, ipfw in-kernel nat support will be part of the next libalias-related commit. Approved by: glebius Reviewed by: glebius, ru --- lib/libalias/Makefile | 39 +++++++++++++++++++++++------------ lib/libalias/libalias/Makefile | 13 ++++++++++++ lib/libalias/modules/Makefile | 7 +++++++ lib/libalias/modules/Makefile.inc | 7 +++++++ lib/libalias/modules/cuseeme/Makefile | 6 ++++++ lib/libalias/modules/dummy/Makefile | 6 ++++++ lib/libalias/modules/ftp/Makefile | 6 ++++++ lib/libalias/modules/irc/Makefile | 6 ++++++ lib/libalias/modules/nbt/Makefile | 6 ++++++ lib/libalias/modules/pptp/Makefile | 6 ++++++ lib/libalias/modules/skinny/Makefile | 6 ++++++ lib/libalias/modules/smedia/Makefile | 6 ++++++ 12 files changed, 101 insertions(+), 13 deletions(-) create mode 100644 lib/libalias/libalias/Makefile create mode 100644 lib/libalias/modules/Makefile create mode 100644 lib/libalias/modules/Makefile.inc create mode 100644 lib/libalias/modules/cuseeme/Makefile create mode 100644 lib/libalias/modules/dummy/Makefile create mode 100644 lib/libalias/modules/ftp/Makefile create mode 100644 lib/libalias/modules/irc/Makefile create mode 100644 lib/libalias/modules/nbt/Makefile create mode 100644 lib/libalias/modules/pptp/Makefile create mode 100644 lib/libalias/modules/skinny/Makefile create mode 100644 lib/libalias/modules/smedia/Makefile (limited to 'lib/libalias') diff --git a/lib/libalias/Makefile b/lib/libalias/Makefile index 465216a..1b5ec95 100644 --- a/lib/libalias/Makefile +++ b/lib/libalias/Makefile @@ -1,16 +1,29 @@ +# Copyright 2006 Paolo Pisati +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# # $FreeBSD$ -.PATH: ${.CURDIR}/../../sys/netinet/libalias +SUBDIR= libalias modules -LIB= alias -SHLIBDIR?= /lib -SHLIB_MAJOR= 5 -MAN= libalias.3 -SRCS= alias.c alias_cuseeme.c alias_db.c alias_ftp.c alias_irc.c \ - alias_nbt.c alias_pptp.c alias_proxy.c alias_skinny.c alias_smedia.c \ - alias_util.c alias_old.c -INCS= alias.h -WARNS?= 6 -NO_WERROR= - -.include +.include diff --git a/lib/libalias/libalias/Makefile b/lib/libalias/libalias/Makefile new file mode 100644 index 0000000..29a234d --- /dev/null +++ b/lib/libalias/libalias/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../sys/netinet/libalias + +LIB= alias +SHLIBDIR?= /lib +SHLIB_MAJOR= 5 +MAN= libalias.3 +SRCS= alias.c alias_db.c alias_proxy.c alias_util.c alias_old.c alias_mod.c +INCS= alias.h +WARNS?= 6 + +.include diff --git a/lib/libalias/modules/Makefile b/lib/libalias/modules/Makefile new file mode 100644 index 0000000..e4aa767 --- /dev/null +++ b/lib/libalias/modules/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.include "../../../sys/modules/libalias/modules/modules.inc" + +SUBDIR= ${MODULES} + +.include diff --git a/lib/libalias/modules/Makefile.inc b/lib/libalias/modules/Makefile.inc new file mode 100644 index 0000000..df92be4 --- /dev/null +++ b/lib/libalias/modules/Makefile.inc @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../sys/netinet/libalias + +SHLIBDIR?= /lib +SHLIB_MAJOR= 4 +WARNS?= 1 diff --git a/lib/libalias/modules/cuseeme/Makefile b/lib/libalias/modules/cuseeme/Makefile new file mode 100644 index 0000000..482ce93 --- /dev/null +++ b/lib/libalias/modules/cuseeme/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_cuseeme +SRCS= alias_cuseeme.c + +.include diff --git a/lib/libalias/modules/dummy/Makefile b/lib/libalias/modules/dummy/Makefile new file mode 100644 index 0000000..a79ca85 --- /dev/null +++ b/lib/libalias/modules/dummy/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_dummy +SRCS= alias_dummy.c + +.include diff --git a/lib/libalias/modules/ftp/Makefile b/lib/libalias/modules/ftp/Makefile new file mode 100644 index 0000000..4865fa2 --- /dev/null +++ b/lib/libalias/modules/ftp/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_ftp +SRCS= alias_ftp.c + +.include diff --git a/lib/libalias/modules/irc/Makefile b/lib/libalias/modules/irc/Makefile new file mode 100644 index 0000000..98f4e85 --- /dev/null +++ b/lib/libalias/modules/irc/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_irc +SRCS= alias_irc.c + +.include diff --git a/lib/libalias/modules/nbt/Makefile b/lib/libalias/modules/nbt/Makefile new file mode 100644 index 0000000..c26b5d9 --- /dev/null +++ b/lib/libalias/modules/nbt/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_nbt +SRCS= alias_nbt.c + +.include diff --git a/lib/libalias/modules/pptp/Makefile b/lib/libalias/modules/pptp/Makefile new file mode 100644 index 0000000..69d8e61 --- /dev/null +++ b/lib/libalias/modules/pptp/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_pptp +SRCS= alias_pptp.c + +.include diff --git a/lib/libalias/modules/skinny/Makefile b/lib/libalias/modules/skinny/Makefile new file mode 100644 index 0000000..f554e9c --- /dev/null +++ b/lib/libalias/modules/skinny/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_skinny +SRCS= alias_skinny.c + +.include diff --git a/lib/libalias/modules/smedia/Makefile b/lib/libalias/modules/smedia/Makefile new file mode 100644 index 0000000..56c4ddd --- /dev/null +++ b/lib/libalias/modules/smedia/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +LIB= alias_smedia +SRCS= alias_smedia.c + +.include -- cgit v1.1