aboutsummaryrefslogtreecommitdiff
path: root/libbb/xconnect.c
diff options
context:
space:
mode:
authorGravatar Denis Vlasenko <vda.linux@googlemail.com>2008-12-10 11:24:33 +0000
committerGravatar Denis Vlasenko <vda.linux@googlemail.com>2008-12-10 11:24:33 +0000
commita3ca7cf069177dba7b3c064324bd77e39483f13a (patch)
treeffaae181320cb1a744e5fa5643f479e66f822d4c /libbb/xconnect.c
parent517413f9affae582f5e824ef45805662d676be6a (diff)
downloadbusybox-a3ca7cf069177dba7b3c064324bd77e39483f13a.tar.gz
busybox-a3ca7cf069177dba7b3c064324bd77e39483f13a.tar.bz2
add a note that SO_BINDTODEVICE needs padded iface name on 2.6.26
Diffstat (limited to 'libbb/xconnect.c')
-rw-r--r--libbb/xconnect.c4
1 files changed, 3 insertions, 1 deletions
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));