summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-04-05xPablo Neira Ayuso
2010-04-05rename mnl_nlmsg_payload_size() to mnl_nlmsg_get_payload_len() for consistencyPablo Neira Ayuso
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-05rename msg.c to nlmsg.cPablo Neira Ayuso
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-05rename mnl_attr_type_ok() by mnl_attr_type_valid() for consistencyPablo Neira Ayuso
better to rename this function since its return value is not similar to other _ok() functions, for consistency. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-05fix warning in compilation due to different signessPablo Neira Ayuso
msg.c: In function ‘mnl_nlmsg_ok’: msg.c:136: warning: comparison between signed and unsigned msg.c:138: warning: comparison between signed and unsigned attr.c: In function ‘mnl_attr_ok’: attr.c:79: warning: comparison between signed and unsigned Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-04add -Wextra to spot more errors in compilationPablo Neira Ayuso
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-04remove bogus checking in mnl_attr_validate() and mnl_attr_validate2()Pablo Neira Ayuso
attr.c: In function ‘mnl_attr_validate’: attr.c:189: warning: comparison of unsigned expression < 0 is always false attr.c: In function ‘mnl_attr_validate2’: attr.c:210: warning: comparison of unsigned expression < 0 is always false Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-04rename mnl_attr_type_invalid() by mnl_attr_type_ok()Pablo Neira Ayuso
And include the prototype in libmnl.h, since it was missing Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-04remove mnl_align() as it's been replaced by MNL_ALIGN()Pablo Neira Ayuso
We remove mnl_align() since it has been replaced by the macro MNL_ALIGN(). The macro allows its use in static arrays and such. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-04check source of the netlink message and fix sequence tracking logicPablo Neira Ayuso
This patch changes the callback handlers to include netlink portID checking. Thus, we avoid that any malicious process can spoof messages. If portid, sequence number of the message is != 0, we check if the message is what we expect. This allows to use the same netlink channel for dumps (portid, seq != 0) and event-based notifications (portid, seq == 0). Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-03add validation infrastructure and rework attribute parsingPablo Neira Ayuso
This patch includes the new validation infrastructure which is decoupled from the attribute parsing. It is composed of: - mnl_attr_type_invalid: that allows to check if the attribute type is valid (ie. the type is not higher than WXYZ_MAX). - mnl_attr_validate: that allows to validate that there's enough room for the attribute data. The patch includes the rework of the attribute parsers. Now, you don't have to use an array of pointer to store the result of the parsing, you can use whatever data structure instead. The prototype as it follows: typedef int (*mnl_attr_cb_t)(const struct nlattr *attr, void *data); extern int mnl_attr_parse(const struct nlmsghdr *nlh, int offset, mnl_attr_cb_t cb, void *data) There are three versions of rtnl-link-dump.c that show how attribute parsing can be done now. Probably that many examples are not good idea, I may remove some of them from the tree in the future. This patch also merges mnl_attr_parse_at_offset into mnl_attr_parse. This patch modifies MNL_ALIGN so that we can use it in static arrays (the use of mnl_align() is not allowed in compilation time to initialize an array field). I have added the mnl_attr_for_each() macro and I have changed mnl_attr_for_each_nested() to declare the length variable internally. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-03revert abcaad6b65ed368c13c353ed71619332f76d9c2aPablo Neira Ayuso
it's deeply broken 8-)
2010-04-03check portid of received messages in examplesPablo Neira Ayuso
netlink is not connection-oriented, we have to check the origin of the message. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-03use C99 types uintXX_t instead of POSIX u_intXX_tPablo Neira Ayuso
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-04-03constify several mnl_socket_* parameters and use size_t instead of intPablo Neira Ayuso
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-03-28fix mnl_socket_bind() to support the selection of the netlink portIDPablo Neira Ayuso
2010-03-28partially revert previous commitPablo Neira Ayuso
the use of unsigned int in the number of bytes affects other message handling helper function, hold on with this.
2010-03-28use `unsigned int' for number of bytes and array size in callback APIPablo Neira Ayuso
2010-03-26add COPYING filePablo Neira Ayuso
This library is distributed under GPLv2+. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2010-03-26fix mnl_cb_run() and mnl_cb_run2() return value logicPablo Neira Ayuso
2010-03-22finish API documentationPablo Neira Ayuso
This patch may contain errors but we can review them and fix them later, better to have it in the tree (to allow others to contribute) to keep it in my local tree.
2010-03-19remove libnfnetlink stuff from autogen.shPablo Neira Ayuso
2010-03-19fix leak in mnl_socket_open()Pablo Neira Ayuso
2010-03-19initial libmnl importPablo Neira Ayuso