From afd3df140f8565e57ef1d2bf222b47939a346bc3 Mon Sep 17 00:00:00 2001 From: rusty Date: Sun, 4 Jun 2000 17:25:33 +0000 Subject: Phil Blundell: ICMP, TCP and UDP extensions + rule deletion bug. --- extensions/Makefile | 7 +++++++ ip6tables-standalone.c | 2 +- ip6tables.c | 7 +++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/extensions/Makefile b/extensions/Makefile index 8e0dec1..04fd896 100644 --- a/extensions/Makefile +++ b/extensions/Makefile @@ -1,8 +1,11 @@ #! /usr/bin/make PF_EXT_SLIB:=tcp udp icmp mac limit standard REJECT LOG unclean state multiport tos TOS mark MARK owner SNAT DNAT MASQUERADE REDIRECT +PF6_EXT_SLIB:=tcp udp icmp standard SHARED_LIBS+=$(foreach T,$(PF_EXT_SLIB),extensions/libipt_$(T).so) +SHARED_LIBS+=$(foreach T,$(PF6_EXT_SLIB),extensions/libip6t_$(T).so) EXTRA_INSTALLS+=$(foreach T, $(PF_EXT_SLIB), $(DESTDIR)$(LIBDIR)/iptables/libipt_$(T).so) +EXTRA_INSTALLS+=$(foreach T, $(PF6_EXT_SLIB), $(DESTDIR)$(LIBDIR)/iptables/libip6t_$(T).so) ifndef TOPLEVEL_INCLUDED local: @@ -12,3 +15,7 @@ endif $(DESTDIR)$(LIBDIR)/iptables/libipt_%.so: extensions/libipt_%.so @[ -d $(DESTDIR)$(LIBDIR)/iptables ] || mkdir -p $(DESTDIR)$(LIBDIR)/iptables cp $< $@ + +$(DESTDIR)$(LIBDIR)/iptables/libip6t_%.so: extensions/libip6t_%.so + @[ -d $(DESTDIR)$(LIBDIR)/iptables ] || mkdir -p $(DESTDIR)$(LIBDIR)/iptables + cp $< $@ diff --git a/ip6tables-standalone.c b/ip6tables-standalone.c index 11b7cc7..e2b10f8 100644 --- a/ip6tables-standalone.c +++ b/ip6tables-standalone.c @@ -43,7 +43,7 @@ main(int argc, char *argv[]) ret = ip6tc_commit(&handle); if (!ret) - fprintf(stderr, "iptables: %s\n", + fprintf(stderr, "ip6tables: %s\n", ip6tc_strerror(errno)); exit(!ret); diff --git a/ip6tables.c b/ip6tables.c index 84215b9..b75b7d4 100644 --- a/ip6tables.c +++ b/ip6tables.c @@ -1231,17 +1231,16 @@ delete_entry(const ip6t_chainlabel chain, { unsigned int i, j; int ret = 1; - struct ip6t_entry ipfw = *fw; unsigned char *mask; mask = make_delete_mask(fw); for (i = 0; i < nsaddrs; i++) { - ipfw.ipv6.src = saddrs[i]; + fw->ipv6.src = saddrs[i]; for (j = 0; j < ndaddrs; j++) { - ipfw.ipv6.dst = daddrs[j]; + fw->ipv6.dst = daddrs[j]; if (verbose) print_firewall_line(fw, *handle); - ret &= ip6tc_delete_entry(chain, &ipfw, mask, handle); + ret &= ip6tc_delete_entry(chain, fw, mask, handle); } } return ret; -- cgit v1.2.3