Jeremy Sowden bf1ca298ae xt_geoip: fix in6_addr little-endian byte swapping
The Perl script that builds the GeoIP DBs uses inet_pton(3) to convert
the addresses to network byte order. This converts

  "1234:5678::90ab:cdef"

to:

  0x12 0x34 0x56 0x78 .. 0xcd 0xef, interpreted by an LE machine
  accessing this in uint32_t-sized chunks as
  8765:4321::fedc:ba09

The kernel module compares the addresses in packets with the ranges from
the DB in host byte order using binary search. It uses 32-bit swaps
when converting the addresses.

libxt_geoip, however, which the module uses to load the ranges from the
DB and convert them from NBO to HBO, uses 16-bit swaps to do so, and
this means that:

  1234:5678::90ab:cdef

becomes:

  4321:8765::ba09:fedc

Obviously, this is inconsistent with the kernel module and DB build
script and breaks the binary search.

Fixes: b91dbd03c7 ("geoip: store database in network byte order")
Reported-by: "Thomas B. Clark" <kernel@clark.bz>
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2019-12-01 11:29:40 +01:00
2019-11-20 22:50:04 +01:00
2008-12-25 20:10:38 +01:00
2019-11-20 22:50:04 +01:00
2008-01-29 03:57:08 +01:00
2018-02-12 15:10:47 +01:00
2008-08-02 13:08:48 -04:00
2013-06-19 06:09:34 +02:00
2010-12-30 08:36:15 +01:00
2010-12-30 08:36:15 +01:00
2019-05-07 03:24:43 +08:00
2019-03-07 10:20:05 +01:00
2019-11-20 22:50:04 +01:00

Xtables-addons
==============

Xtables-addons is a set of extensions that were not accepted in the
Linux kernel and/or main Xtables/iptables package.

It superseded the earlier patch-o-matic(-ng) package in that no
patching and/or recompilation of either the kernel or
Xtables/iptables is required. However, do see the INSTALL file for
the minimum requirements of Xtables-addons.


Included in this package
========================
- xt_ACCOUNT 1.16, libxt_ACCOUNT 1.3
Description
No description provided
Readme GPL-2.0 1.9 MiB
Languages
C 83.9%
Roff 10.7%
Perl 2.5%
Makefile 2%
M4 0.6%
Other 0.3%