[Dnsmasq-discuss] server option interface name don't work

MURASE Katsunori katsunori.murase at nifty.ne.jp
Sat Feb 14 12:55:57 GMT 2009


Hello.

I am using dnsmasq 2.47.
"server" option with *long* interface name don't work.

This is my configuration file.
    server=/example.jp/10.0.0.1 at eth10

Dnsmasq say following message.
    dnsmasq: ignoring nameserver 10.0.0.1 - cannot make/bind socket: No such device

My patch. Replase to strlen from sizeof.

diff -ruNp org/dnsmasq-2.47/src/network.c dnsmasq-2.47/src/network.c
--- org/dnsmasq-2.47/src/network.c	2009-02-02 01:00:58.000000000 +0900
+++ dnsmasq-2.47/src/network.c	2009-02-14 21:36:29.000000000 +0900
@@ -529,7 +529,7 @@ int local_bind(int fd, union mysockaddr 
     
 #if defined(SO_BINDTODEVICE)
   if (intname[0] != 0 &&
-      setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, intname, sizeof(intname)) == -1)
+      setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, intname, strlen(intname)) == -1)
     return 0;
 #endif
 

Thanks.

-- 
 MURASE Katsunori




More information about the Dnsmasq-discuss mailing list