util: Make sock_l4() treat empty string ifname like NULL
sock_l4() takes NULL for ifname if you don't want to bind the socket to a particular interface. However, for a number of the callers, it's more natural to use an empty string for that case. Change sock_l4() to accept either NULL or an empty string equivalently, and simplify some callers using that change. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:

committed by
Stefano Brivio

parent
5cada56186
commit
57de44a4bc
2
util.c
2
util.c
@@ -187,7 +187,7 @@ int sock_l4(const struct ctx *c, int af, uint8_t proto,
|
||||
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &y, sizeof(y)))
|
||||
debug("Failed to set SO_REUSEADDR on socket %i", fd);
|
||||
|
||||
if (ifname) {
|
||||
if (ifname && *ifname) {
|
||||
/* Supported since kernel version 5.7, commit c427bfec18f2
|
||||
* ("net: core: enable SO_BINDTODEVICE for non-root users"). If
|
||||
* it's unsupported, don't bind the socket at all, because the
|
||||
|
Reference in New Issue
Block a user