• Pablo Neira Ayuso's avatar
    netfilter: nf_tables: restrict nat/masq expressions to nat chain type · 7210e4e3
    Pablo Neira Ayuso authored
    This adds the missing validation code to avoid the use of nat/masq from
    non-nat chains. The validation assumes two possible configuration
    scenarios:
    
    1) Use of nat from base chain that is not of nat type. Reject this
       configuration from the nft_*_init() path of the expression.
    
    2) Use of nat from non-base chain. In this case, we have to wait until
       the non-base chain is referenced by at least one base chain via
       jump/goto. This is resolved from the nft_*_validate() path which is
       called from nf_tables_check_loops().
    
    The user gets an -EOPNOTSUPP in both cases.
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    7210e4e3
nft_masq.h 460 Bytes