HomeFreeBSD

libifconfig: fix carp key configuration

Description

libifconfig: fix carp key configuration

There were two issues with the carp key configuration in the new netlink
code.

The first is that userspace failed to actually pass the CARP_NL_KEY
attribute to the kernel, so a key was never set.

The second issue is that snl_attr_get_string() returns a pointer to the
string inside the netlink message. It does not copy the string to the
target buffer. That's somewhat inconvenient to work with in libifconfig
where we have a static buffer for the key.
Introduce snl_attr_copy_string() which can copy a string to a target
buffer and uses the 'arg' parameter to pass the buffer size, so it
doesn't accidentally exceed the available space.

Reviewed by: melifaro
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D39874

Details

Provenance
kpAuthored on Apr 28 2023, 4:18 PM
Reviewer
melifaro
Differential Revision
D39874: libifconfig: fix carp key configuration
Parents
rGa50ef47c0a22: newfs: fix up 32-bit compile
Branches
Unknown
Tags
Unknown