Alvaro Neira Ayuso (5): table: add function to export tables in JSON format examples: nft-table-get: export in JSON format chain: add function to export tables in JSON format examples: nft-chain-get: export in JSON format rule: json: fix returned string length Ana Rey (5): expr: log: fix missing \0 when sending log prefix to kernel expr: target: fix wrong info length in nft_rule_expr_target_parse expr: log: fix wrong attribute type in nft_rule_expr_log_parse table/chain: add u8 setter and getter for family values tests: add unit tests for libnftables Arturo Borrero (55): chain: delete useless castings expr: bitwise: xml: fix wrong casting nat: xml: fix wrong offset in snprintf rule: xml: delete trailing space examples: unset chain & rule handle expr: xml: don't print target and match info byteorder: xml: op as string src: xml: convert family values to string src: xml: consolidate parsing of data_reg via nft_mxml_data_reg_parse set: add xml output bitwise: xml: export len node src: add nft_*_list_is_empty() functions src: xml: consolidate common XML code via nft_mxml_num_parse src: utils: add verdict2str and use it immediate: xml: fix name inconsistency tests: xml: add realistic XML tests files set: xml: change XML attributes to nodes. set: add XML parsing xml: expr: limit: fix wrong assignation when parsing tests: xml: reorder XML elements in sets chain: xml: delete node nat: xml: fix wrong node name in snprintf utils: fix error path for nft_strtoi rule: xml/json: support rule position attribute chain: xml: fix parsing of optional attributes set: xml: fix key_type parsing set_elem: xml: avoid code duplication src: snprintf: fix buffer lengths src: add low-level ruleset API test: xml: fix malformed ruleset testfile tests: update to fit latest limit changes tests: xml: fix truncated ruleset testfile ruleset: refactorize json/xml tagging src: add fprintf API functions test: return EXIT_FAILURE if some error was found test: fix memleak in XML testing test: report errors building XML tree test: report compilation without support tests: fix reference to undefined symbol tests: extend test-script.sh to run XML and JSON tests tests: expr-target: fix deprecation warning mxml: add error reference of the top node set_elem: add json parsing to API src: rework and generalize the build/parse system src: add interface to parse from file tests: nft-parsing-test: use nft_ruleset_parse_file() set: xml: data_type/data_len are optional mxml: add optional/mandatory flag to nft_mxml_reg_parse lookup: xml: conditional output of dreg tests: xml: delete comments expr: ct: fix missing NFT_CT_L3PROTOCOL in ctkey2str_array expr: ct: direction is optional utils: fix nft_str2verdict return value data_reg: fix verdict format approach ct: use a string with 'dir' attribute Arturo Borrero Gonzalez (56): src: add XML output support examples: add XML output for table/chain/rule expr: match: Delete unused includes src: change XML output format to use element instead of attributes expr: match: Fix a typo src: allow to get and to set NFT_*_ATTR_FAMILY expr: basic support for printing nft_data_reg in XML format src: rule: fix compat XML output rule: fix snprintf XML output offset for rule. src: remove trailing newlines, tabs and spaces from XML format src: delete exporting internal flags in XML src: add support for XML parsing examples: XML parsing examples rule: fix table flag not being set at XML parsing data_reg: Delete trailing space in snprintf_xml data_reg: remove conditional XML printing if parsing is disabled data_reg: xml: fix using bad temp variable data_reg: xml: delete unreachable code rule: fix bad offset returned by _snprintf src: xml: add versioning src: add nft_*_unset functions data_reg: xml: delete unreachable code in _veredict_xml_parse() nat: xml: fix crash during parsing if non-mandatory element is not present rule: xml: conditional display of compat info bitwise: xml: mask and xor use same number of data registers expr: xml: registers must be <= NFT_REG_MAX chain: add hooknum2str nat: xml: change nat types string to dnat/snat nat: xml: fix node names for sreg_addr_{min|max} ct: xml: add extra dir check ct: xml: use key names instead of numbers exthdr: xml: fix mandatory elements chain: xml: use string for policy data_reg: xml: fix len node, it should show byte length data_reg: xml: display register in big endian target&match: xml: don't print rev number payload: xml: use string for base attribute exthdr: xml: use string for type node meta: xml: use string to represent key attribute nat: snprintf: fix buffer offset nat: xml: rename node type to nat_type exthdr: xml: rename type node to exthdr_type test: add testbench for XML expr: ct: fix setting of NFT_EXPR_CT_DIR chain: fix nft_str2hooknum return value src: xml: table/chain delete properties chain: fix compilation warning due to unused nft_str2hooknum() chain: Use nft_str2hooknum() in the XML parsing code. src: xml: use nodes instead of attributes set: xml: use nft_mxml_family_parse src: xml: delete unneeded XML prefixes src: constify nft_*_parse input data src: xml: add parsing optional/mandatory flag src: xml: avoid unecessary tree to text to tree conversions src: xml: refactor XML parsing code build: fix build error Douglas Freed (1): build: properly handle --without-{xml,json}-parsing Eric Leblond (7): examples: nft-events: add newline to output expr: immediate: fix display of dreg expression expr: payload: fix incorrect length and base in default output rule: add support for position attribute examples: add insert rule example rule: display position in default printf src: constify parameter of nft_*_is_set Florian Westphal (2): expr: log: use real length when fetching attributes expr: limit: s/seconds/second/ Giuseppe Longo (1): src: improve default text output Jan Engelhardt (2): build: resolve automake 1.12 warning build: resolve build errors in dependent programs Pablo Neira Ayuso (131): initial version of libnftables examples: add nft-compat-get examples: add nft-events expr: add bitwise rule: use 64-bits handle instead of 16-bits chain: add support for chain types table: use internal flags for attribute table: support NFTA_TABLE_FLAGS table: add nft_table_attr_set_u32 and nft_table_attr_get_u32 examples: table: add example of dormant tables set: add initial support chain: support Patrick's chain rename approach include: update internal copy of headers expr: add type and flags to snprintf interface chain: add nft_chain_list_del chain: fix setting packet statistics rule: add support for rule flags rule: add protocol and flags support for xtables over nftables set: complete support set: add support to add elements to sets expr: add lookup expression for set-based lookups examples: fix rule addition rule: fix wrong symbol export expr: lookup: fix missing registration src: constify nft_*_attr_set and nft_*_attr_set_str src: remove trailing \n from all nft_*_snprintf functions table: add nft_table_attr_[set|table]_str chain: add nft_chain_attr_set_str examples: nft-rule-add: remove unexistent libnftables/payload.h include examples: nft-rule-add: fix compilation warning src: fix nft_*_unset function attribute that don't release data set_elem: add NFT_SET_ELEM_ATTR_DATA to set data for mapping expr: add log expression build: fix missing interlibrary dependency expr: add exthdr expr: add ct expr: add byteorder expr: add limit src: add nft_*_list_foreach src: add nft_*_attr_is_set set: add NFT_SET_ATTR_FAMILY src: constify first parameter of all nft_*_get include: add stdbool.h to libnftables/expr.h chain: fix nft_chain_attr_set_str src: set NFT_*_ATTR_FAMILY in nft_*_parse function set_elem: fix wrong flags set for NFT_SET_ELEM_ATTR_FLAGS set: fix nft_set_attr_get with NFT_SET_ATTR_KEY_FLAGS set: add missing set/unset support for NFT_SET_ATTR_DATA_[TYPE|LEN] set_elem: fix wrong flags setting in nft_set_elems_parse2 set_elem: fix nft_set_elem_attr_get with NFT_SET_ELEM_ATTR_CHAIN expr: add nft_rule_expr_snprintf set_elem: add nft_set_elem_attr_set_str tests: remove several wrong XML nodes in tests tests: nft-parsing-test: restore default terminal color after test src: consolidate XML parsing of expressions via nft_mxml_expr_parse src: consolidate XML parsing of expressions via nft_mxml_reg_parse src: xml: fix compilation without XML parsing enabled src: expr: data_reg: fix printing data register content set: fix printing of key and data registers expr: payload: fix printing of base examples: remove LIBXML_LIBS from LDADD examples: nft-{table,chain,rule}-xml-add: fix missing NLM_F_CREATE expr: use __attribute__((constructor)) to register expression expr: add nft_expr_data to replace explicit casting to obtain expression data include: update include/linux/netfilter/nf_tables.h expr: limit: fix getter src: add nft_*_list_add_tail utils: ARP family is number 3 examples: add arp support examples: nft-chain-get: allow to list chain from all families examples: nft-chain-add: allow to create custom chains src: simplify getter logic src: remove default case from nft_*_attr_unset expr: refactor nft_rule_expr_get expr: counter: use nft_mxml_num_parse expr: cmp: cmpdata is mandatory node src: xml: consolidate common XML code via nft_mxml_str_parse expr: payload: use nft_mxml_num_parse expr: ct: use nft_mxml_str_parse mxml: nft_mxml_str_parse returns copy of the string expr: don't override errno value if nft_mxml_num_parse is used utils: nft_str2family sets errno table: json: fix returned errno value while parsing src: remove version from XML and JSON representations src: add xfree and use it src: fully constify nft_*_get functions src: xml: consolidate error path in table and chain objects set_elem: constify nft_set_elem_attr_get_str rule: constify char * fields src: remove useless casting src: xml: cleanup set element parsing expr: payload: fix missing base setting in XML parser tests: xml: remove \t and \n from all the files tests: remove superfluous if checking in test_json rule: release expressions that are part of rules src: xml: don't duplicate string in nft_table_xml_parse chain: xml: use nft_mxml_str_parse rule: xml: consolidate error path expr: log: group and qthreshold are 16 bits long expr: add nft_rule_expr_get_u16 and nft_rule_expr_set_u16 src: json: s/nft_jansson_value_parse_str/nft_jansson_parse_str/g src: json: s/nft_jansson_value_parse_val/nft_jansson_parse_val/g src: json: s/nft_jansson_value_parse_reg/nft_jansson_parse_reg/g build: display configuration after ./configure examples: nft-{chain,rule,table}-get allows unspec family chain: use human readable netfilter hook src: add nft_*_list_del rule: don't put NFTA_RULE_EXPRESSION into messages src: replace size_t by uint32_t in set/get interfaces rule: get rid of NFTA_RULE_FLAGS rule: json: fix wrong indentation in nft_rule_snprintf_json examples: nft-set-get: retrieve all sets per family set: json: fix returned string length ruleset: fix compilation warning set_elem: fix access after free in case of parsing errors expr: limit: avoid huge rodata array rule: remove NFT_RULE_ATTR_FLAGS expr: add reject include: fix missing struct nlmsghdr without definition expr: fix leak in target and match expressions build: fix make distcheck expr: match: fix wrong flag setting in nft_rule_expr_match_parse expr: log: release prefix include: fix possible clash in ifdef namespace src: consolidate netlink build header function examples: nft-rule-add: use existing batch infrastructure expr: fix incorrect data type for several expression object fields update COPYING expr: meta: statify meta_key2str_array expr: ct: fix compilation warning when json/xml support is missing rename library to libnftnl Phil Oester (2): expr: limit: operational limit match src: fix possible null pointer dereference in nft_*_attr_get_* Tomasz Bursztyka (12): chain: Handle fixed sized name chain: Add support for NFTA_CHAIN_NEW_NAME attribute expr: Add support for NAT expressions rule: Add a function to get rule's family git: add a .gitignore file build: add an autogen.sh script rule: declare nft_rule_list structure at a proper place expr: remove non implemented function map: fix missing nft_rule_expr_build_payload export expr: Fix header inclusion for integer types src: Fix a build issue on header inclusion in internal.h include: update netlink.h to 3.13 Álvaro Neira Ayuso (49): src: support JSON format in chain, rule and expressions examples: add JSON support set: add json output examples: nft-table-get: add json support set: json: fix incomplete output chain: json: use string to identify policy chain: json: fix wrong display of table and family table: Add json parser support tests: table: test json parsing support examples: Add nft-table-json-add chain: remove duplicated policy2str jansson: Add helper function for building the tree and use it table: remove the properties node in Json output chain: remove the properties node in Json output chain: Add json parser support tests: chain: add json parsing support examples: Add nft-chain-json-add src: expr: missing commas in json output support src: expr: missing curly braces in json output support src: expr: fix wrong value in the chain field of data_reg src: fix display of compat_flag and compat_proto expr: ct: optional output in ct json: bitwise: add missing node len src: json: delete unneeded JSON prefixes expr: bytecode: add nft_str2ntoh function expr: cmp: add nft_str2cmp function expr: nat: add nft_str2nat function expr: payload: add nft_str2base function example: nft-rule-get: family parameter added jansson: Add nft_jansson_family function src: expr: use the function base2str in payload tests: better parsing validation json: fixed some leaks in the json parsing function tests: fix memory leaks in jansson test rule: Add json parser support tests: rule: add json parsing support examples: Add nft-rule-json-add tests: remove unnecessary variable initialization set: Add json parser support tests: set: add json parsing support examples: Add nft-set-json-add rule: use helper function nft_jansson_free_root src: json: refactor json parsing to allow tree based navigation set: fix compilation warning src: json: remove spaces tests: json: remove rule flags in ruleset test file src: unify parse and output types src: rename the parameter tag to node_name in jansson function src: new error reporting approach for XML/JSON parsers