diff --git a/Makefile b/Makefile index 865cffed1..1f8e1be58 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,6 @@ ifeq ($(with_transcoding),yes) $(MAKE) -C recording-daemon $(MAKE) -C perf-tester endif - $(MAKE) -C iptables-extension install: $(MAKE) -C daemon install @@ -32,7 +31,6 @@ ifeq ($(with_transcoding),yes) $(MAKE) -C recording-daemon install $(MAKE) -C perf-tester install endif - $(MAKE) -C iptables-extension install mkdir -p $(DESTDIR)/usr/libexec/rtpengine/ $(DESTDIR)/usr/bin $(DESTDIR)/usr/share/man/man1 install -m 0755 utils/rtpengine-get-table $(DESTDIR)/usr/libexec/rtpengine/ install -m 0755 utils/rtpengine-ctl utils/rtpengine-ng-client $(DESTDIR)/usr/bin/ @@ -57,7 +55,6 @@ distclean clean: $(MAKE) -C daemon clean $(MAKE) -C recording-daemon clean $(MAKE) -C perf-tester clean - $(MAKE) -C iptables-extension clean $(MAKE) -C kernel-module clean $(MAKE) -C t clean @@ -65,7 +62,6 @@ distclean clean: $(MAKE) -C daemon $@ $(MAKE) -C recording-daemon $@ $(MAKE) -C perf-tester - $(MAKE) -C iptables-extension $@ $(MAKE) -C kernel-module $@ .PHONY: check asan-check diff --git a/debian/.gitignore b/debian/.gitignore index 4af5d8a37..489538e31 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -5,7 +5,6 @@ /debhelper-build-stamp /files /ngcp-rtpengine-daemon/ -/ngcp-rtpengine-iptables/ /ngcp-rtpengine-kernel-dkms/ /ngcp-rtpengine-kernel-source/ /ngcp-rtpengine-perftest-data/ diff --git a/debian/control b/debian/control index abf026725..0990b652a 100644 --- a/debian/control +++ b/debian/control @@ -92,21 +92,11 @@ Depends: Description: recording daemon for RTP and media streams This daemon handles the call recording (media intercept) component of rtpengine. -Package: ngcp-rtpengine-iptables -Architecture: any -Multi-Arch: foreign -Depends: - ${misc:Depends}, - ${shlibs:Depends}, -Description: IPtables extension module for the kernel-space NGCP media proxy - Provides the IPtables extension needed to configure the mediaproxy rule. - Package: ngcp-rtpengine Architecture: all Multi-Arch: foreign Depends: ngcp-rtpengine-daemon (>= ${source:Version}), - ngcp-rtpengine-iptables (>= ${source:Version}), ngcp-rtpengine-kernel-dkms (>= ${source:Version}), ngcp-rtpengine-perftest (>= ${source:Version}), ngcp-rtpengine-recording-daemon (>= ${source:Version}), diff --git a/docs/compiling_and_installing.md b/docs/compiling_and_installing.md index 33f676e2d..181833a8b 100644 --- a/docs/compiling_and_installing.md +++ b/docs/compiling_and_installing.md @@ -27,10 +27,6 @@ The generated files are (with version 6.2.0.0 being built on an amd64 system): This installed the userspace daemon, which is the main workhorse of rtpengine. This is the minimum requirement for anything to work. -* `ngcp-rtpengine-iptables_6.2.0.0+0~mr6.2.0.0_amd64.deb` - - Installs the plugin for `iptables` and `ip6tables`. Necessary for in-kernel operation. - * `ngcp-rtpengine-kernel-dkms_6.2.0.0+0~mr6.2.0.0_all.deb` Kernel module, DKMS version of the package. Recommended for in-kernel operation. The kernel @@ -105,16 +101,6 @@ test suite. Both `Makefile` switches can be provided to the `make` system via environment variables, for example by building with the shell command `with_transcoding=no make`. -* `iptables-extension` - - Required for in-kernel packet forwarding. - - With the `iptables` development headers installed, issuing `make` will compile the plugin for - `iptables` and `ip6tables`. The file will be called `libxt_RTPENGINE.so` and needs to be copied - into the `xtables` module directory. It is copied on `make install`. The location of this - directory can be determined through `pkg-config xtables --variable=xtlibdir` on newer systems, - and/or is usually either `/lib/xtables/` or `/usr/lib/x86_64-linux-gnu/xtables/`. - * `kernel-module` Required for in-kernel packet forwarding. Supported for kernels versions 4.4 and newer. diff --git a/el/rtpengine.spec b/el/rtpengine.spec index b15ada1fc..df81b41a9 100644 --- a/el/rtpengine.spec +++ b/el/rtpengine.spec @@ -95,16 +95,12 @@ and decodes them into an audio format that can be listened to. %if 0%{?with_transcoding} > 0 cd daemon RTPENGINE_VERSION="\"%{version}-%{release}\"" make -cd ../iptables-extension -RTPENGINE_VERSION="\"%{version}-%{release}\"" make cd ../recording-daemon RTPENGINE_VERSION="\"%{version}-%{release}\"" make cd .. %else cd daemon RTPENGINE_VERSION="\"%{version}-%{release}\"" make with_transcoding=no -cd ../iptables-extension -RTPENGINE_VERSION="\"%{version}-%{release}\"" make with_transcoding=no cd .. %endif @@ -155,10 +151,6 @@ install -D -p -m644 etc/%{binname}-recording.conf \ %{buildroot}%{_sysconfdir}/%{binname}/%{binname}-recording.conf %endif -# Install the iptables plugin -install -D -p -m755 iptables-extension/libxt_RTPENGINE.so \ - %{buildroot}/%{_lib}/xtables/libxt_RTPENGINE.so - ## DKMS module source install install -D -p -m644 kernel-module/Makefile \ %{buildroot}%{_usrsrc}/%{name}-%{version}-%{release}/Makefile diff --git a/iptables-extension/.gitignore b/iptables-extension/.gitignore deleted file mode 100644 index 140f8cf80..000000000 --- a/iptables-extension/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.so diff --git a/iptables-extension/Makefile b/iptables-extension/Makefile deleted file mode 100644 index 1bca49aef..000000000 --- a/iptables-extension/Makefile +++ /dev/null @@ -1,73 +0,0 @@ -CC?=gcc -CFLAGS ?= -O2 -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wstrict-prototypes -CFLAGS += -shared -fPIC -ifneq ($(RTPENGINE_VERSION),) - CFLAGS += -DRTPENGINE_VERSION="\"$(RTPENGINE_VERSION)\"" -else - DPKG_PRSCHNGLG= $(shell which dpkg-parsechangelog 2>/dev/null) - ifneq ($(DPKG_PRSCHNGLG),) - CFLAGS += -DRTPENGINE_VERSION="\"$(shell dpkg-parsechangelog -l../debian/changelog | awk '/^Version: / {print $$2}')\"" - else - CFLAGS += -DRTPENGINE_VERSION="\"undefined\"" - endif -endif - -XTABLES_INSTALLED=$(shell \ - if pkg-config --exists xtables; then \ - echo 'xtables found'; \ - fi) -ifneq ($(XTABLES_INSTALLED),) -XTABLES = 1 -CFLAGS += $(shell pkg-config --cflags --libs xtables) -else -XTABLES = $(shell test -e /usr/include/xtables.h && echo 1) -endif - -IPTABLES = $(shell test -e /usr/include/iptables.h && echo 1) -IP6TABLES = $(shell test -e /usr/include/ip6tables.h && echo 1) - -WORK=0 - -.PHONY: all module clean install - -all: module - -ifeq ($(XTABLES),1) - -WORK=1 -module: libxt_RTPENGINE.so - -XTABLES_DIR ?= $(shell pkg-config xtables --variable=xtlibdir || echo /lib/xtables) - -libxt_RTPENGINE.so: libxt_RTPENGINE.c - $(CC) $(CFLAGS) -o libxt_RTPENGINE.so libxt_RTPENGINE.c - -else - -ifeq ($(IPTABLES),1) -WORK=1 -module: libipt_RTPENGINE.so -endif -ifeq ($(IP6TABLES),1) -WORK=1 -module: libip6t_RTPENGINE.so -endif - -libipt_RTPENGINE.so: libxt_RTPENGINE.c - $(CC) $(CFLAGS) -D__ipt -o libipt_RTPENGINE.so libxt_RTPENGINE.c - -libip6t_RTPENGINE.so: libxt_RTPENGINE.c - $(CC) $(CFLAGS) -D__ip6t -o libip6t_RTPENGINE.so libxt_RTPENGINE.c - -endif - -ifeq ($(WORK),0) -module: - @echo No iptables dev packages installed! -endif - -clean: - rm -f libxt_RTPENGINE.so libipt_RTPENGINE.so libip6t_RTPENGINE.so - -install: - install -D libxt_RTPENGINE.so $(DESTDIR)$(XTABLES_DIR)/libxt_RTPENGINE.so diff --git a/iptables-extension/libxt_RTPENGINE.c b/iptables-extension/libxt_RTPENGINE.c deleted file mode 100644 index af7687147..000000000 --- a/iptables-extension/libxt_RTPENGINE.c +++ /dev/null @@ -1,183 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#ifndef _init -#define _init __attribute__((constructor)) _INIT -#endif - -#if defined(__ipt) -#include -#elif defined(__ip6t) -#include -#else -#include -#endif - -#include - -#if defined(__ipt) -#include -#elif defined(__ip6t) -#include -#else -#include -#endif - -#include "../kernel-module/xt_RTPENGINE.h" - - -static void help(void) { - printf( - "RTPENGINE (version %s) target options:\n" - " --id \n" - " Unique ID for this instance\n", - RTPENGINE_VERSION - ); -} - -#if defined(__ipt) -static int parse(int c, - char **argv, - int invert, - unsigned int *flags, - const struct ipt_entry *entry, - struct ipt_entry_target **target) { -#elif defined(__ip6t) -static int parse(int c, - char **argv, - int invert, - unsigned int *flags, - const struct ip6t_entry *entry, - struct ip6t_entry_target **target) { -#else -static int parse(int c, - char **argv, - int invert, - unsigned int *flags, - const void *entry, - struct xt_entry_target **target) { -#endif - - struct xt_rtpengine_info *info = (void *) (*target)->data; - - if (c == '1') { - info->id = atoi(optarg); - if (flags) - *flags = 1; - } - else - return 0; - - return 1; -} - -static void final_check(unsigned int flags) { -#if defined(__ipt) || defined(__ip6t) - if (!flags) - exit_error(PARAMETER_PROBLEM, "You must specify --id"); -#else - if (!flags) - xtables_error(PARAMETER_PROBLEM, "You must specify --id"); -#endif -} - -#if defined(__ipt) -static void print(const struct ipt_ip *ip, const struct xt_entry_target *target, int numeric) { -#elif defined(__ip6t) -static void print(const struct ip6t_ip6 *ip, const struct xt_entry_target *target, int numeric) { -#else -static void print(const void *ip, const struct xt_entry_target *target, int numeric) { -#endif - struct xt_rtpengine_info *info = (void *) target->data; - - printf(" RTPENGINE id:%u", info->id); -} - -#if defined(__ipt) -static void save(const struct ipt_ip *ip, const struct xt_entry_target *target) { -#elif defined(__ip6t) -static void save(const struct ip6t_ip6 *ip, const struct xt_entry_target *target) { -#else -static void save(const void *ip, const struct xt_entry_target *target) { -#endif - struct xt_rtpengine_info *info = (void *) target->data; - - printf(" --id %u", info->id); -} - -static struct option opts[] = { - { "id", 1, NULL, '1' }, - { NULL, }, -}; - - -#if defined(__ipt) -static struct iptables_target rtpengine4 = { - .name = "RTPENGINE", - .version = "1.3.6", - .size = IPT_ALIGN(sizeof(struct xt_rtpengine_info)), - .userspacesize = IPT_ALIGN(sizeof(struct xt_rtpengine_info)), - .help = help, - .parse = parse, - .final_check = final_check, - .print = print, - .save = save, - .extra_opts = opts, -}; -#elif defined(__ip6t) -static struct ip6tables_target rtpengine6 = { - .name = "RTPENGINE", - .version = "1.3.6", - .size = IP6T_ALIGN(sizeof(struct xt_rtpengine_info)), - .userspacesize = IP6T_ALIGN(sizeof(struct xt_rtpengine_info)), - .help = help, - .parse = parse, - .final_check = final_check, - .print = print, - .save = save, - .extra_opts = opts, -}; -#else -static struct xtables_target rtpengine4 = { - .name = "RTPENGINE", - .family = NFPROTO_IPV4, - .version = XTABLES_VERSION, - .size = XT_ALIGN(sizeof(struct xt_rtpengine_info)), - .userspacesize = XT_ALIGN(sizeof(struct xt_rtpengine_info)), - .help = help, - .parse = parse, - .final_check = final_check, - .print = print, - .save = save, - .extra_opts = opts, -}; - -static struct xtables_target rtpengine6 = { - .name = "RTPENGINE", - .family = NFPROTO_IPV6, - .version = XTABLES_VERSION, - .size = XT_ALIGN(sizeof(struct xt_rtpengine_info)), - .userspacesize = XT_ALIGN(sizeof(struct xt_rtpengine_info)), - .help = help, - .parse = parse, - .final_check = final_check, - .print = print, - .save = save, - .extra_opts = opts, -}; -#endif - -void _init(void) { -#if defined(__ipt) - register_target(&rtpengine4); -#elif defined(__ip6t) - register_target6(&rtpengine6); -#else - xtables_register_target(&rtpengine4); - xtables_register_target(&rtpengine6); -#endif -} diff --git a/pkg/deb/backports/buster b/pkg/deb/backports/buster index 00c884cf4..c42230eff 100755 --- a/pkg/deb/backports/buster +++ b/pkg/deb/backports/buster @@ -60,18 +60,6 @@ sed -i 's;^override_dh_auto_install-indep:;override_dh_auto_install-indep:\ \tsed "s/__VERSION__/$(sversion)/g" debian/dkms.conf.in > debian/$(pdkms)/usr/src/$(sname)-$(sversion)/dkms.conf\ ;' "${DIST}"/rules -# Fix module installation location -rm ${DIST}/rtpengine-iptables.dirs -rm ${DIST}/rtpengine-iptables.install -cat >> ${DIST}/rules <<'EOF' - -override_dh_install: - dh_install - dh_installdirs -prtpengine-iptables $(XTABLES_DIR) - rm -f debian/tmp/$(XTABLES_DIR)/libxt_RTPENGINE.so - install -m 0644 iptables-extension/libxt_RTPENGINE.so debian/rtpengine-iptables/$(XTABLES_DIR) -EOF - if command -v wrap-and-sort &>/dev/null ; then wrap-and-sort -sat -d ${DIST} else diff --git a/pkg/deb/backports/focal b/pkg/deb/backports/focal index 20773ff27..4092c086e 100755 --- a/pkg/deb/backports/focal +++ b/pkg/deb/backports/focal @@ -59,18 +59,6 @@ sed -i 's;^override_dh_auto_install-indep:;override_dh_auto_install-indep:\ \tsed "s/__VERSION__/$(sversion)/g" debian/dkms.conf.in > debian/$(pdkms)/usr/src/$(sname)-$(sversion)/dkms.conf\ ;' "${DIST}"/rules -# Fix module installation location -rm ${DIST}/rtpengine-iptables.dirs -rm ${DIST}/rtpengine-iptables.install -cat >> ${DIST}/rules <<'EOF' - -override_dh_install: - dh_install - dh_installdirs -prtpengine-iptables $(XTABLES_DIR) - rm -f debian/tmp/$(XTABLES_DIR)/libxt_RTPENGINE.so - install -m 0644 iptables-extension/libxt_RTPENGINE.so debian/rtpengine-iptables/$(XTABLES_DIR) -EOF - if command -v wrap-and-sort &>/dev/null ; then wrap-and-sort -sat -d ${DIST} else