From: Chen Jingpiao Date: Sun, 11 Mar 2018 12:14:57 +0000 (+0800) Subject: tests: add check for decoding of netfilter subsystem X-Git-Tag: v4.22~94 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8932ac050e4dee0f8d8f783006b2ad15810ba849;p=strace tests: add check for decoding of netfilter subsystem * tests/netlink_netfilter.c(test_nfgenmsg): Add check for decoding of netfilter subsystem. --- diff --git a/tests/netlink_netfilter.c b/tests/netlink_netfilter.c index 2826017d..57532f52 100644 --- a/tests/netlink_netfilter.c +++ b/tests/netlink_netfilter.c @@ -164,6 +164,27 @@ test_nfgenmsg(const int fd) printf(", res_id=htons(%d)" ", \"\\x31\\x32\\x33\\x34\"", 0xabcd)); # endif /* NFNL_MSG_BATCH_BEGIN */ + + static const struct nlattr nla = { + .nla_len = sizeof(nla), + .nla_type = 0x0bcd + }; + char nla_buf[NLMSG_ALIGN(sizeof(msg)) + sizeof(nla)]; + + msg.res_id = htons(NFNL_SUBSYS_NFTABLES); + memcpy(nla_buf, &msg, sizeof(msg)); + memcpy(nla_buf + NLMSG_ALIGN(sizeof(msg)), &nla, sizeof(nla)); + + TEST_NETLINK_(fd, nlh0, + NFNL_SUBSYS_NFTABLES << 8 | 0xff, + "NFNL_SUBSYS_NFTABLES<<8|0xff /* NFT_MSG_??? */", + NLM_F_REQUEST, "NLM_F_REQUEST", + sizeof(nla_buf), nla_buf, sizeof(nla_buf), + printf("{nfgen_family=AF_UNIX"); + printf(", version=NFNETLINK_V0"); + printf(", res_id=htons(NFNL_SUBSYS_NFTABLES)" + ", {nla_len=%d, nla_type=%#x}", + nla.nla_len, nla.nla_type)); } int main(void)