From 4ab7225b8db48eb6678c793f29735fceaf70282b Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Fri, 29 Aug 2008 02:45:44 +0000 Subject: [PATCH] Use libnl 1.1 API. --- configure.ac | 7 +------ src/vip6-autod.c | 14 ++++++++++---- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 2274448..2dec4a4 100644 --- a/configure.ac +++ b/configure.ac @@ -77,11 +77,6 @@ dnl {check for libnl dnl ensc_have_libnl=yes -LIBNL_ROOT=`readlink -f ../libnl*/` -if test -d "$LIBNL_ROOT"; then - CFLAGS="$CFLAGS -I ${LIBNL_ROOT}/include" - LDFLAGS="$LDFLAGS -L${LIBNL_ROOT}/lib" -fi if test x"$ensc_have_libnl" = xyes; then AC_CHECK_HEADERS([asm/types.h stdint.h], [ : ], @@ -110,7 +105,7 @@ if test x"$ensc_have_libnl" = xyes; then fi if test x"$ensc_have_libnl" = xyes; then - AC_CHECK_LIB(nl, nlmsg_get_src, [ : ], + AC_CHECK_LIB(nl, nl_handle_alloc_cb, [ : ], [ ensc_have_libnl=no ]) fi diff --git a/src/vip6-autod.c b/src/vip6-autod.c index feade59..75055c1 100644 --- a/src/vip6-autod.c +++ b/src/vip6-autod.c @@ -29,6 +29,7 @@ #include #include +#include #include #include @@ -107,7 +108,7 @@ static int add_address_to_interface(int ifindex, struct in6_addr *address, if (rtnl_addr_add(handle, rta, NLM_F_REPLACE) != -1 || errno == EEXIST) err = 0; - rtnl_addr_free(rta); + rtnl_addr_put(rta); nl_addr_destroy(nl); return err; } @@ -139,7 +140,7 @@ static inline int remove_address_from_interface(struct nid_prefix_map *entry) ret = rtnl_addr_delete(handle, rta, 0); - rtnl_addr_free(rta); + rtnl_addr_put(rta); nl_addr_destroy(nl); return ret; @@ -595,11 +596,16 @@ int main(int argc, char *argv[]) openlog("vip6-autod", LOG_PERROR, LOG_DAEMON); - handle = nl_handle_alloc_nondefault(NL_CB_VERBOSE); - cbs = nl_handle_get_cb(handle); + cbs = nl_cb_alloc(NL_CB_VERBOSE); + if (!cbs) { + syslog(LOG_CRIT, "nl_cb_alloc: %s", strerror(errno)); + exit(1); + } nl_cb_set(cbs, NL_CB_VALID, NL_CB_CUSTOM, handle_valid_msg, &map); nl_cb_set(cbs, NL_CB_SEQ_CHECK, NL_CB_CUSTOM, handle_no_op, NULL); nl_cb_err(cbs, NL_CB_CUSTOM, handle_error_msg, &map); + + handle = nl_handle_alloc_cb(cbs); nl_disable_sequence_check(handle); nl_join_groups(handle, RTMGRP_IPV6_PREFIX|RTMGRP_IPV6_IFADDR); -- 2.43.0