[PATCH 00/53] Netfilter updates for net-next

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi David,

The following patchset contains Netfilter updates for your net-next
tree, they are:

1) Consolidate GRE protocol tracker using new GRE protocol definitions,
   patches from Gao Feng.

2) Properly parse continuation lines in SIP helper, update allowed
   characters in Call-ID header and allow tabs in SIP headers as
   specified by RFC3261, from Marco Angaroni.

3) Remove useless code in FTP conntrack helper, also from Gao Feng.

4) Add number generation expression for nf_tables, with random and
   incremental generators. This also includes specific offset to add
   to the result, patches from Laura Garcia Liebana. Liping Zhang
   follows with a fix to avoid a race in this new expression.

5) Fix new quota expression inversion logic, added in the previous
   pull request.

6) Missing validation of queue configuration in nft_queue, patch
   from Liping Zhang.

7) Remove unused ctl_table_path, as part of the deprecation of the
   ip_conntrack sysctl interface coming in the previous batch.
   Again from Liping Zhang.

8) Add offset attribute to nft_hash expression, so we can generate
   any output from a specific base offset. Moreover, check for
   possible overflow, patches from Laura Garcia.

9) Allow to invert dynamic set insertion from packet path, to check
   for overflows in case the set is full.

10) Revisit nft_set_pktinfo*() logic from nf_tables to ensure
    proper initialization of layer 4 protocol. Consolidate pktinfo
    structure initialization for bridge and netdev families.

11) Do not inconditionally drop IPv6 packets that we cannot parse
    transport protocol for ip6 and inet families, let the user decide
    on this via ruleset policy.

12) Get rid of gotos in __nf_ct_try_assign_helper().

13) Check for return value in register_netdevice_notifier() and
    nft_register_chain_type(), patches from Gao Feng.

14) Get rid of CONFIG_IP6_NF_IPTABLES dependency in nf_queue
    infrastructure that is common to nf_tables, from Liping Zhang.

15) Disable 'found' and 'searched' stats that are updates from the
    packet hotpath, not very useful these days.

16) Validate maximum value of u32 netlink attributes in nf_tables,
    this introduces nft_parse_u32_check(). From Laura Garcia.

17) Add missing code to integrate nft_queue with maps, patch from
    Liping Zhang. This also includes missing support ranges in
    nft_queue bridge family.

18) Fix check in nft_payload_fast_eval() that ensure that we don't
    go over the skbuff data boundary, from Liping Zhang.

19) Check if transport protocol is set from nf_tables tracing and
    payload expression. Again from Liping Zhang.

20) Use net_get_random_once() whenever possible, from Gao Feng.

21) Replace hardcoded value by sizeof() in xt_helper, from Gao Feng.

22) Remove superfluous check for found element in nft_lookup.

23) Simplify TCPMSS logic to check for minimum MTU, from Gao Feng.

24) Replace double linked list by single linked list in Netfilter
    core hook infrastructure, patchset from Aaron Conole. This
    includes several patches to prepare this update.

25) Fix wrong sequence adjustment of TCP RST with no ACK, from
    Gao Feng.

26) Relax check for direction attribute in nft_ct for layer 3 and 4
    protocol fields, from Liping Zhang.

27) Add new revision for hashlimit to support higher pps of upto 1
    million, from Vishwanath Pai.

28) Evict stale entries in nf_conntrack when reading entries from
    /proc/net/nf_conntrack, from Florian Westphal.

29) Fix transparent match for IPv6 request sockets, from Krisztian
    Kovacs.

30) Add new range expression for nf_tables.

31) Add missing code to support for flags in nft_log. Expose NF_LOG_*
    flags via uapi and use it from the generic logging infrastructure,
    instead of using xt specific definitions, from Liping Zhang.

You can pull these changes from:

  git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git

Thanks!

----------------------------------------------------------------

The following changes since commit fe0acb5fcb7fe8cb3d68bbdb8459865c972d8f83:

  Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue (2016-09-25 06:01:05 -0400)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git HEAD

for you to fetch changes up to f20fbc0717f9f007c94b2641134b19228d0ce9ed:

  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next (2016-09-25 23:34:19 +0200)

----------------------------------------------------------------
Aaron Conole (5):
      netfilter: call nf_hook_ingress with rcu_read_lock
      netfilter: Remove explicit rcu_read_lock in nf_hook_slow
      netfilter: Only allow sane values in nf_register_net_hook
      netfilter: nf_queue: whitespace cleanup
      netfilter: replace list_head with single linked list

Florian Westphal (4):
      netfilter: conntrack: remove packet hotpath stats
      netfilter: bridge: add and use br_nf_hook_thresh
      netfilter: call nf_hook_state_init with rcu_read_lock held
      netfilter: evict stale entries when user reads /proc/net/nf_conntrack

Gao Feng (10):
      netfilter: gre: Use consistent GRE_* macros instead of ones defined by netfilter.
      netfilter: gre: Use consistent GRE and PTTP header structure instead of the ones defined by netfilter
      netfilter: ftp: Remove the useless dlen==0 condition check in find_pattern
      netfilter: ftp: Remove the useless code
      netfilter: Add the missed return value check of register_netdevice_notifier
      netfilter: Add the missed return value check of nft_register_chain_type
      netfilter: Enhance the codes used to get random once
      netfilter: xt_helper: Use sizeof(variable) instead of literal number
      netfilter: xt_TCPMSS: Refactor the codes to decrease one condition check and more readable
      netfilter: seqadj: Fix the wrong ack adjust for the RST packet without ack

KOVACS Krisztian (1):
      netfilter: xt_socket: fix transparent match for IPv6 request sockets

Laura Garcia Liebana (5):
      netfilter: nft_numgen: rename until attribute by modulus
      netfilter: nft_hash: Add hash offset value
      netfilter: nft_hash: fix hash overflow validation
      netfilter: nft_numgen: add number generation offset
      netfilter: nf_tables: validate maximum value of u32 netlink attributes

Liping Zhang (12):
      netfilter: nft_queue: check the validation of queues_total and queuenum
      netfilter: nf_conntrack: remove unused ctl_table_path member in nf_conntrack_l3proto
      netfilter: nf_queue: get rid of dependency on IP6_NF_IPTABLES
      netfilter: nft_numgen: fix race between num generate and store it
      netfilter: nft_queue: add _SREG_QNUM attr to select the queue number
      netfilter: nf_queue: improve queue range support for bridge family
      netfilter: nf_tables: improve nft payload fast eval
      netfilter: nf_tables: check tprot_set first when we use xt.thoff
      netfilter: nft_ct: unnecessary to require dir when use ct l3proto/protocol
      netfilter: nft_ct: report error if mark and dir specified simultaneously
      netfilter: nft_log: complete NFTA_LOG_FLAGS attr support
      netfilter: nf_log: get rid of XT_LOG_* macros

Marco Angaroni (3):
      netfilter: nf_ct_sip: correct parsing of continuation lines in SIP headers
      netfilter: nf_ct_sip: correct allowed characters in Call-ID SIP header
      netfilter: nf_ct_sip: allow tab character in SIP headers

Pablo Neira (1):
      netfilter: nf_conntrack: simplify __nf_ct_try_assign_helper() return logic

Pablo Neira Ayuso (11):
      netfilter: nft_quota: fix overquota logic
      netfilter: nft_quota: introduce nft_overquota()
      netfilter: nft_dynset: allow to invert match criteria
      netfilter: nf_tables: ensure proper initialization of nft_pktinfo fields
      netfilter: nf_tables_ipv6: setup pktinfo transport field on failure to parse
      netfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()
      netfilter: nf_tables_bridge: use nft_set_pktinfo_ipv{4, 6}_validate
      netfilter: nf_tables: don't drop IPv6 packets that cannot parse transport
      netfilter: nft_lookup: remove superfluous element found check
      netfilter: nf_tables: add range expression
      Merge branch 'master' of git://git.kernel.org/.../davem/net-next

Vishwanath Pai (2):
      netfilter: xt_hashlimit: Prepare for revision 2
      netfilter: xt_hashlimit: Create revision 2 to support higher pps rates

 include/linux/netdevice.h                          |   2 +-
 include/linux/netfilter.h                          |  61 ++--
 include/linux/netfilter/nf_conntrack_common.h      |   4 -
 include/linux/netfilter/nf_conntrack_proto_gre.h   |  64 +---
 include/linux/netfilter_ingress.h                  |  18 +-
 include/net/netfilter/br_netfilter.h               |   6 +
 include/net/netfilter/nf_conntrack_l3proto.h       |   4 -
 include/net/netfilter/nf_log.h                     |  11 +-
 include/net/netfilter/nf_queue.h                   |  69 +++--
 include/net/netfilter/nf_tables.h                  |  19 ++
 include/net/netfilter/nf_tables_bridge.h           |   7 -
 include/net/netfilter/nf_tables_core.h             |   3 +
 include/net/netfilter/nf_tables_ipv4.h             |  43 +++
 include/net/netfilter/nf_tables_ipv6.h             |  53 +++-
 include/net/netns/netfilter.h                      |   2 +-
 include/uapi/linux/if_tunnel.h                     |   1 +
 include/uapi/linux/netfilter/nf_log.h              |  12 +
 include/uapi/linux/netfilter/nf_tables.h           |  45 ++-
 include/uapi/linux/netfilter/nfnetlink_conntrack.h |   8 +-
 include/uapi/linux/netfilter/xt_hashlimit.h        |  23 ++
 net/bridge/br_netfilter_hooks.c                    |  53 +++-
 net/bridge/br_netfilter_ipv6.c                     |  12 +-
 net/bridge/netfilter/ebt_log.c                     |   2 +-
 net/bridge/netfilter/ebt_redirect.c                |   2 +-
 net/bridge/netfilter/ebtables.c                    |   2 +-
 net/bridge/netfilter/nf_tables_bridge.c            |  92 +-----
 net/bridge/netfilter/nft_reject_bridge.c           |  44 ++-
 net/core/dev.c                                     |   7 +-
 net/ipv4/netfilter/ip_tables.c                     |   2 +-
 net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c     |   2 +-
 net/ipv4/netfilter/nf_conntrack_proto_icmp.c       |   2 +-
 net/ipv4/netfilter/nf_log_arp.c                    |   2 +-
 net/ipv4/netfilter/nf_log_ipv4.c                   |  10 +-
 net/ipv4/netfilter/nf_nat_proto_gre.c              |  13 +-
 net/ipv4/netfilter/nf_tables_arp.c                 |   7 +-
 net/ipv4/netfilter/nf_tables_ipv4.c                |   5 +-
 net/ipv4/tcp_input.c                               |   1 +
 net/ipv4/tcp_ipv4.c                                |   1 -
 net/ipv6/netfilter/ip6_tables.c                    |   2 +-
 net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c     |   2 +-
 net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c     |   2 +-
 net/ipv6/netfilter/nf_log_ipv6.c                   |  18 +-
 net/ipv6/netfilter/nf_tables_ipv6.c                |   9 +-
 net/ipv6/netfilter/nft_chain_route_ipv6.c          |   4 +-
 net/netfilter/Makefile                             |   3 +-
 net/netfilter/core.c                               | 152 +++++----
 net/netfilter/nf_conntrack_core.c                  |  16 +-
 net/netfilter/nf_conntrack_ftp.c                   |  15 +-
 net/netfilter/nf_conntrack_h323_main.c             |   2 +-
 net/netfilter/nf_conntrack_helper.c                |  17 +-
 net/netfilter/nf_conntrack_netlink.c               |   6 +-
 net/netfilter/nf_conntrack_proto_gre.c             |  14 +-
 net/netfilter/nf_conntrack_seqadj.c                |  20 +-
 net/netfilter/nf_conntrack_sip.c                   |  10 +-
 net/netfilter/nf_conntrack_standalone.c            |  13 +-
 net/netfilter/nf_internals.h                       |  10 +-
 net/netfilter/nf_log_common.c                      |   4 +-
 net/netfilter/nf_queue.c                           |  18 +-
 net/netfilter/nf_tables_api.c                      |  25 ++
 net/netfilter/nf_tables_core.c                     |  16 +-
 net/netfilter/nf_tables_inet.c                     |   5 +-
 net/netfilter/nf_tables_netdev.c                   | 101 ++----
 net/netfilter/nf_tables_trace.c                    |  20 +-
 net/netfilter/nfnetlink_cthelper.c                 |   2 +-
 net/netfilter/nfnetlink_log.c                      |   8 +-
 net/netfilter/nfnetlink_queue.c                    |  19 +-
 net/netfilter/nft_bitwise.c                        |   8 +-
 net/netfilter/nft_byteorder.c                      |  15 +-
 net/netfilter/nft_cmp.c                            |   3 +
 net/netfilter/nft_ct.c                             |  21 +-
 net/netfilter/nft_dynset.c                         |  20 +-
 net/netfilter/nft_exthdr.c                         |  12 +-
 net/netfilter/nft_hash.c                           |  17 +-
 net/netfilter/nft_immediate.c                      |   4 +
 net/netfilter/nft_log.c                            |   9 +-
 net/netfilter/nft_lookup.c                         |   2 +-
 net/netfilter/nft_meta.c                           |   2 +
 net/netfilter/nft_numgen.c                         |  54 ++--
 net/netfilter/nft_payload.c                        |   4 +
 net/netfilter/nft_queue.c                          | 113 ++++++-
 net/netfilter/nft_quota.c                          |   8 +-
 net/netfilter/nft_range.c                          | 138 +++++++++
 net/netfilter/xt_RATEEST.c                         |   6 +-
 net/netfilter/xt_TCPMSS.c                          |  12 +-
 net/netfilter/xt_TEE.c                             |   8 +-
 net/netfilter/xt_connlimit.c                       |   8 +-
 net/netfilter/xt_hashlimit.c                       | 339 ++++++++++++++++-----
 net/netfilter/xt_helper.c                          |   4 +-
 net/netfilter/xt_recent.c                          |   7 +-
 89 files changed, 1381 insertions(+), 680 deletions(-)
 delete mode 100644 include/net/netfilter/nf_tables_bridge.h
 create mode 100644 include/uapi/linux/netfilter/nf_log.h
 create mode 100644 net/netfilter/nft_range.c
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux