]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
libip6t_NETMAP: Use xtables_ip6mask_to_cidr and get rid of libip6tc dependency
authorPablo Neira Ayuso <pablo@netfilter.org>
Sat, 16 Mar 2013 11:11:07 +0000 (12:11 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 29 Mar 2013 15:41:32 +0000 (16:41 +0100)
This patch changes the NETMAP target extension (IPv6 side) to use
the xtables_ip6mask_to_cidr available in libxtables.

As a side effect, we get rid of the libip6tc dependency.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
extensions/GNUmakefile.in
extensions/libip6t_NETMAP.c
include/libiptc/libip6tc.h
iptables/ip6tables.c
libiptc/libip6tc.c

index adad4d686816562f4aef83ca5a3481438ad9c6b9..3db698592304def79bcd26355480dcf588bd7394 100644 (file)
@@ -105,7 +105,6 @@ libxt_state.so: libxt_conntrack.so
        ${AM_VERBOSE_GEN} ln -fs $< $@
 
 # Need the LIBADDs in iptables/Makefile.am too for libxtables_la_LIBADD
-ip6t_NETMAP_LIBADD  = ../libiptc/libip6tc.la
 xt_RATEEST_LIBADD   = -lm
 xt_statistic_LIBADD = -lm
 
index d14dece3b189a6aa47bdd1f15af911f3312dc2f2..a4df70ee8ff4a2eb74a2d7fd6ba5b97773a015ec 100644 (file)
@@ -61,7 +61,7 @@ static void NETMAP_print(const void *ip, const struct xt_entry_target *target,
        printf("%s", xtables_ip6addr_to_numeric(&a));
        for (i = 0; i < 4; i++)
                a.s6_addr32[i] = ~(r->min_addr.ip6[i] ^ r->max_addr.ip6[i]);
-       bits = ipv6_prefix_length(&a);
+       bits = xtables_ip6mask_to_cidr(&a);
        if (bits < 0)
                printf("/%s", xtables_ip6addr_to_numeric(&a));
        else
index c656bc432afcce2abc4fb132f1accaf3f8c3ef9a..9aed80a02e5255b50f255a861b585a8552edf639 100644 (file)
@@ -154,9 +154,6 @@ int ip6tc_get_raw_socket(void);
 /* Translates errno numbers into more human-readable form than strerror. */
 const char *ip6tc_strerror(int err);
 
-/* Return prefix length, or -1 if not contiguous */
-int ipv6_prefix_length(const struct in6_addr *a);
-
 extern void dump_entries6(struct xtc_handle *const);
 
 extern const struct xtc_ops ip6tc_ops;
index 4cfbea3d9df2ccc0ccd3024b1b1ad05402dd86e7..7d02cc122efb0855ef7ccec5ed0bf9f95fb1d3c2 100644 (file)
@@ -1022,7 +1022,7 @@ static void print_ip(const char *prefix, const struct in6_addr *ip,
                     const struct in6_addr *mask, int invert)
 {
        char buf[51];
-       int l = ipv6_prefix_length(mask);
+       int l = xtables_ip6mask_to_cidr(mask);
 
        if (l == 0 && !invert)
                return;
index 7128e1cf623937e2b00919e4a3bf033660bc6f5e..ca01bcb4a805710ec7fc90c6b620323f2d3e9e6a 100644 (file)
@@ -113,7 +113,7 @@ typedef unsigned int socklen_t;
 #define BIT6(a, l) \
  ((ntohl(a->s6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
 
-int
+static int
 ipv6_prefix_length(const struct in6_addr *a)
 {
        int l, i;