From: Denis Vlasenko Date: Wed, 10 Dec 2008 11:24:33 +0000 (-0000) Subject: add a note that SO_BINDTODEVICE needs padded iface name on 2.6.26 X-Git-Tag: 1_14_0~396 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a3ca7cf069177dba7b3c064324bd77e39483f13a;p=oweals%2Fbusybox.git add a note that SO_BINDTODEVICE needs padded iface name on 2.6.26 --- diff --git a/libbb/xconnect.c b/libbb/xconnect.c index d078e9811..2eb4cb9be 100644 --- a/libbb/xconnect.c +++ b/libbb/xconnect.c @@ -24,7 +24,9 @@ int FAST_FUNC setsockopt_bindtodevice(int fd, const char *iface) int r; struct ifreq ifr; strncpy_IFNAMSIZ(ifr.ifr_name, iface); - /* Actually, ifr_name is at offset 0, and in practice + /* NB: passing (iface, strlen(iface) + 1) does not work! + * (maybe it works on _some_ kernels, but not on 2.6.26) + * Actually, ifr_name is at offset 0, and in practice * just giving char[IFNAMSIZ] instead of struct ifreq works too. * But just in case it's not true on some obscure arch... */ r = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr));