]> git.meshlink.io Git - catta/commitdiff
* replaced some ioctl by if_nametoindex and if_indextoname
authorSebastien Estienne <sebastien.estienne@gmail.com>
Wed, 19 Oct 2005 22:12:28 +0000 (22:12 +0000)
committerSebastien Estienne <sebastien.estienne@gmail.com>
Wed, 19 Oct 2005 22:12:28 +0000 (22:12 +0000)
 * cosmetic fix in socket.c

git-svn-id: file:///home/lennart/svn/public/avahi/trunk@829 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

avahi-core/socket.c
avahi-daemon/dbus-protocol.c

index de27226b5175703688fe3059d07bf5ea68d067ec..12a860575547cea60ffd23e2ec6040319b3aa116 100644 (file)
@@ -114,7 +114,7 @@ int avahi_mdns_mcast_join_ipv4(int fd, int idx) {
     memset(&mreq, 0, sizeof(mreq));
 
     if ((!if_indextoname(idx, ifreq.ifr_name))) {
-      avahi_log_warn("Can't find iface name for iface index %i:%s\n", idx, strerror(errno));
+      avahi_log_warn("if_indextoname failed: %s", strerror(errno));
       return -1;
     }
 
@@ -171,7 +171,7 @@ int avahi_mdns_mcast_leave_ipv4(int fd, int idx) {
     memset(&mreq, 0, sizeof(mreq));
 
     if ((!if_indextoname(idx, ifreq.ifr_name))) {
-      avahi_log_warn("Can't find iface name for iface index %i:%s\n", idx, strerror(errno));
+      avahi_log_warn("if_indextoname failed: %s", strerror(errno));
       return -1;
     }
 
index 8994a25bd7c74f4fccd5d18281202af6c6d0a3ef..965ffd5e30fcfd6213297472da10e624a65aa658 100644 (file)
@@ -1791,7 +1791,8 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void
     } else if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_SERVER, "GetNetworkInterfaceNameByIndex")) {
         int32_t idx;
         int fd;
-        struct ifreq ifr;
+       char name[IF_NAMESIZE];
+
         
         if (!(dbus_message_get_args(m, &error, DBUS_TYPE_INT32, &idx, DBUS_TYPE_INVALID))) {
             avahi_log_warn("Error parsing Server::GetNetworkInterfaceNameByIndex message");
@@ -1809,11 +1810,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void
                 return respond_error(c, m, AVAHI_ERR_OS, txt);
             }
 
-        memset(&ifr, 0, sizeof(ifr));
-
-        ifr.ifr_ifindex = idx;
-
-        if (ioctl(fd, SIOCGIFNAME, &ifr) < 0) {
+        if ((!if_indextoname(idx, name))) {
             char txt[256];
             snprintf(txt, sizeof(txt), "OS Error: %s", strerror(errno));
             close(fd);
@@ -1822,13 +1819,13 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void
 
         close(fd);
         
-        return respond_string(c, m, ifr.ifr_name);
+        return respond_string(c, m, name);
 #endif
         
     } else if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_SERVER, "GetNetworkInterfaceIndexByName")) {
         char *n;
         int fd;
-        struct ifreq ifr;
+        int32_t idx;
         
         if (!(dbus_message_get_args(m, &error, DBUS_TYPE_STRING, &n, DBUS_TYPE_INVALID)) || !n) {
             avahi_log_warn("Error parsing Server::GetNetworkInterfaceIndexByName message");
@@ -1845,10 +1842,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void
                 return respond_error(c, m, AVAHI_ERR_OS, txt);
             }
 
-        memset(&ifr, 0, sizeof(ifr));
-        snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s", n);
-
-        if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
+        if (!(idx = if_nametoindex(n))) {
             char txt[256];
             snprintf(txt, sizeof(txt), "OS Error: %s", strerror(errno));
             close(fd);
@@ -1857,7 +1851,7 @@ static DBusHandlerResult msg_server_impl(DBusConnection *c, DBusMessage *m, void
 
         close(fd);
         
-        return respond_int32(c, m, ifr.ifr_ifindex);
+        return respond_int32(c, m, idx);
 #endif
 
     } else if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_SERVER, "GetAlternativeHostName")) {