summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* helpers: implement explicit CT helper assignment supportJo-Philipp Wich2018-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for explicit per-zone conntrack helper assignment in the raw table in order to compensate for the now disabled automatic helper assignment in recent Linux kernels. This commit adds, along with the required infrastructure, a new per- zone uci option "helper" which can be used to tie one or more CT helpers to a given zone. For example the following configuration: config zone option name lan option network lan list helper ftp list helper sip ... will assign the FTP and SIP conntrack helpers as specified in /usr/share/fw3/helpers.conf to traffic originating from the LAN zone. Additionally, a new boolean option "auto_helper" has been defined for both "config defaults" and "config zone" sections, with the former option overruling the latter. When the default true "option auto_helper" is set, all available helpers are automatically attached to each non-masq zone (i.e. "lan" by default). When one or more "list helper" options are specified, the zone has masquerading enabled or "auto_helper" is set to false, then the automatic helper attachment is disabled for the corresponding zone. Furthermore, this commit introduces support for a new 'HELPER' target in "config rule" sections, along with "option helper" to match helper traffic and "option set_helper" to assign CT helpers to a stream. Finally, "config redirect" sections support "option helper" too now, which causes fw3 to emit helper setting rules for forwarded DNAT traffic. When "option helper" is not defined for a redirect and when the global option "auto_helper" is not disabled, fw3 will pick a suitable helper based on the destination protocol and port and assign it to DNATed traffic. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: use -Wno-format-truncation instead of -Wno-error=format-truncationFelix Fietkau2017-05-091-1/+1
| | | | | | Fixes build error with older gcc Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: disable the format-truncation warning error to fix gcc 7 build errorsFelix Fietkau2017-05-041-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* iptables: optional loading of static extensionsRalph Sennhauser2016-11-061-3/+9
| | | | | | | | | | | | | | | | Make loading of static extensions optional to support vanilla iptables in it's default configuration by setting DISABLE_STATIC_EXTENSIONS instead of hackery. In case iptables is built with --disable-static libext.a, libext4.a and libext6.a which OpenWrt installs in the form of libiptext.so, libiptext4.so, libiptext6.so to save a couple more bytes are of no use or non-existent one could say. So this commit avoids requiring a tampered with iptables. Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com> [Jo-Philipp Wich: stub init_extensions*() instead to reduce amount of ifdefs] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* cmake: Find uci.hFlorian Fainelli2016-07-241-0/+3
| | | | | | | | Add a CMake FIND_PATH and INCLUDE_DIRECTORIES searching for uci.h. Some external toolchains which do not include standard locations would fail to find the header otherwise. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* Rework match initializationJo-Philipp Wich2015-05-261-7/+0
| | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
* Link libext dynamicallyJo-Philipp Wich2015-05-261-16/+3
| | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
* Initial support for "config nat" rules - this allows configuring ↵Jo-Philipp Wich2014-04-061-1/+1
| | | | zone-independant SNAT and MASQUERADE rules
* Do not let libxtables implicitely load extensions, do it directly from fw3 ↵Jo-Philipp Wich2013-06-031-1/+1
| | | | and track the loaded objects for properly closing when destroying the handle.
* Make IPv6 support optionalJo-Philipp Wich2013-05-271-5/+12
|
* Dynamically create rules for available libext*.a libraries, clean up rulesJo-Philipp Wich2013-05-271-14/+23
|
* Pass -Wl,--whole-archive and -Wl,--no-whole-archive during linking to avoid ↵Jo-Philipp Wich2013-05-241-1/+10
| | | | duplicate symbol issues with libgcc
* Drop iptables-restore and create rules through libiptc and libxtablesJo-Philipp Wich2013-05-171-1/+1
|
* Use libiptc to clear current rulesetJo-Philipp Wich2013-05-131-2/+2
|
* add support for includesJo-Philipp Wich2013-02-221-1/+1
|
* initial commitJo-Philipp Wich2013-02-171-0/+20