summaryrefslogtreecommitdiffstats
path: root/libnl-3.sym
Commit message (Collapse)AuthorAgeFilesLines
* build: fix exporting symbol rtnl_link_info_ops_getThomas Haller2023-08-031-2/+0
| | | | | | | | | So "rtnl_link_info_ops_get" didn't actually work with libnl-3.7. Fix for 3.8. https://github.com/thom311/libnl/issues/350 Fixes: 2e0d7f85d2ae ('lib: add rtnl_link_info_ops_get() and take lock for rtnl_link_info_ops's io_refcnt')
* build: add comments to linker version scripts about the version tagsThomas Haller2022-08-241-0/+6
|
* lib: add rtnl_link_info_ops_get() and take lock for rtnl_link_info_ops's ↵Thomas Haller2022-03-161-0/+5
| | | | io_refcnt
* lib: merge implementations of nl_attr_end() and nl_attr_keep_empty()Thomas Haller2018-02-121-1/+5
| | | | | | | | | Both functions are almost identical. Merge them into a common helper function with an @keep_empty argument, so it is clear at which point they differ. Also, fix symbols versioning for nl_attr_keep_empty(). For symbol versioning, once released a version cannot be modifified/extended.
* Fix for cgroup filter addition problem.d0u92018-01-231-0/+1
| | | | | | | | | | Currently, due to the incomplete netlink datagram sent by libnl, cgroup filter addition is not fully functional. The datagram generated by `tc` command includes an empty attribute section, which is stripped off in the libnl counterpart. In this commit, a new `interface nla_nest_end_keep_empty()` is added. This function closes attribute without stripping off empty attribute.
* cache_mngr: add include callback v2Tobias Jungel2016-12-011-0/+2
| | | | | | | | | | | | | | | | | | | | | This patch adds change_func_v2_t to add a more detailed callback in case of a cache change. The change function is registered using the new nl_cache_mngr_add_cache_v2. In case the new change function is set, nl_cache_include_v2 and thus cache_include_v2 will be used to perform the cache inclusion. The parameter of change_func_v2_t are the following: * struct nl_cache * => cache * struct nl_object * => the old/deleted nl_object * struct nl_object * => the new nl_object * uint64_t => the result of nl_object_diff64 in case of a change * int => NL_ACT_* * void * => data https://github.com/thom311/libnl/issues/71 http://lists.infradead.org/pipermail/libnl/2016-September/002214.html http://lists.infradead.org/pipermail/libnl/2016-October/002229.html http://lists.infradead.org/pipermail/libnl/2016-November/002250.html
* lib: add utility function nl_strerror_l()André Draszik2016-08-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libnl currently uses strerror_r() throughout, but this is problematic because there is a non-standard GNU version implemented in glibc, and the standard POSIX version, which differ in signature. When using glibc, one can choose between the two versions using feature test macros _GNU_SOURCE and _POSIX_C_SOURCE. Given libnl is built using the former, we always get the glibc special version, and all code so far has been written for that non-standard version. Other C libraries like musl on the other hand only try to be posix compliant, and only ever provide the posix version of strerror_r(), which has a different signature. The alternative is to use strerror_l() rather than strerror_r() http://austingroupbugs.net/view.php?id=655 - this will avoid the non-confirming versions issue - strerror_l() is now recommended by POSIX to replace strerror_r() usage So rather than changing all uses of strerror_r() to be in line with posix, we are going to switch to the recommended interface strerror_l(). Since strerror_l() is slightly more difficuly to use, we add a little (private) wrapper that we can use from all current callsites of strerror_r(). Signed-off-by: André Draszik <adraszik@tycoint.com> Reviewed-by: Stephane Ayotte <sayotte@tycoint.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
* libnl: add nl_object_diff64() to libnl-3.symThomas Haller2016-02-121-0/+5
| | | | | | Fixes: a09b8558148b31e469d463907d103fa78d81612c Signed-off-by: Thomas Haller <thaller@redhat.com>
* lib/attr: add nla utility functions for signed integersThomas Haller2015-10-051-0/+6
| | | | | | | | | | | | | Commit 7bb956501ccd58ed3bbffc59de996f056e178683 added nla functions for s32. We preferibly add all signed integer operations at the same time. Thus, also add s8, s16, and s64. Also, previously the NLA_TYPE_MAX enum was not extended to have NLA_S32. Fix that too. Reported-By: Jiri Pirko <jiri@resnulli.us> Fixes: 7bb956501ccd58ed3bbffc59de996f056e178683 Signed-off-by: Thomas Haller <thaller@redhat.com>
* lib/attr: add nla utility functions for s32Thomas Haller2015-08-171-0/+6
| | | | Signed-off-by: Thomas Haller <thaller@redhat.com>
* build: revert moving unstable symbols from libnl_3 linker sectionThomas Haller2015-03-091-2/+6
| | | | | | | | | | | | | | | | | | | | In the past, libnl3 had only one section (libnl_3) in the linker version script. Between 3.2.25 and 3.2.26 release, this was cleaned up and new symbols were added to libnl_3_2_26 section. Commit d2a30fb also moved new symbols since 3.2.25 to that section. Fedora 21 and later already uses these symbols in the previous version (@libnl_3). Updating there would break symbol lookup. As we have users of the unstable version from pre-3.2.26, move those symbols back. Note that this now breaks unstable users since d2a30fb (5 weeks ago) -- which probably are much fewer affected users. Fixes: d2a30fbb36d668fe64f43bddfc9c53ee0362334f Signed-off-by: Thomas Haller <thaller@redhat.com>
* lib/socket: add nl_socket_set_fd() functionThomas Haller2015-03-051-0/+1
| | | | | | | | | | | | | | | | | | | | | This is based on the patch by sagil@infinidat.com, but heavily modified. Add a function nl_socket_set_fd(), I renamed it from nl_connect_fd(). Now nl_connect() and nl_socket_set_fd() are implemented independently as they share little code. But they have similar functionality: to initialize a libnl socket and set it's file descriptor. A user who wants libnl to setup the socket can continue to use nl_connect(). A user with special requirements should setup the socket entirely. That includes calling socket() (with or without SOCK_CLOEXEC), bind(), setting buffer size. For the same reason I dropped nl_create_fd(). It didn't do much more then calling socket() -- which the user can do directly. https://github.com/thom311/libnl/pull/68 Signed-off-by: Thomas Haller <thaller@redhat.com>
* build/trivial: reorder symbols in linker version scripts and add commentThomas Haller2015-03-041-4/+14
| | | | | | | | | | | | | | | | We export some symbols that are in private headers. We shouldn't do that. Highlight them in the version script by grouping them and add a comment. We might want to hide these symbols later. Some of these symbols symbols are used by libnl internal libraries. So removing those is more complicated and only possible if we don't required compatibility of different libnl libraries between each other (i.e. that we require that within one installation the library versions match). Signed-off-by: Thomas Haller <thaller@redhat.com>
* build: don't export internal symbolsThomas Haller2015-02-021-6/+0
| | | | | | | | | | | | | | Hide internal symbols from the libraries. Before, all symbols were exported, including some that were not meant to be public. Hide them now. This is an ABI break, but nobody was supposed to use these symbols. Hence it seems acceptable to hide them now. Still don't hide any symbols that are internal, but wrongly exported in public header files (such as @ct_obj_ops). Signed-off-by: Thomas Haller <thaller@redhat.com>
* build: move linker script symbols since last stable release to own sectionThomas Haller2015-02-021-2/+6
| | | | | | | Move the symbols that were added since the last stable release to a new section of the linker file. Signed-off-by: Thomas Haller <thaller@redhat.com>
* build: explicitly list exported symbols in linker scriptsThomas Haller2015-02-021-5/+319
| | | | | | | | | | | | | | | | | | | | | | | | Before all symbols (global: *;) were exported, which included some symbols that should not be exported. Update the symbol files to exclude everything by default and name the exported symbols explicitly. Still the same symbols as before are exported. for SO in ./lib/.libs/*.so ./src/lib/.libs/*.so; do SYM="$(basename "$SO")" SYM="${SYM%.so}.sym" cat <<EOF | sed 's/^ *>> //' > "$SYM" >> libnl_3 { >> global: >> $(nm "$SO" | sed -n 's/^[a-fA-F0-9]\+ [BDRT] \(.*\)/\t\1;/p' | LANG=C sort) >> local: >> $(echo -e '\t')*; >> }; EOF done Signed-off-by: Thomas Haller <thaller@redhat.com>
* build: add individual linker version scripts for shared librariesThomas Haller2015-02-021-0/+9
Instead of using a shared version script 'libnl.sym', add individual linker scripts for all libnl libraries. For now, the content of the version script is unchanged and this patch does not have any externally visible changes. Signed-off-by: Thomas Haller <thaller@redhat.com>