adding new GNUNET_HELPER_ API for communication with (SUID) helper binaries via stdin...
[oweals/gnunet.git] / src / util / os_network.c
index a4758496e8c296bea20886a11ca1513cc9bf86c4..7449f80686872b9f96b49fa3d8b067ca7ead3084 100644 (file)
@@ -58,12 +58,13 @@ GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc,
 
   for (i = 0; i < results_count; i++)
   {
-    if (GNUNET_OK != proc (proc_cls, results[i].pretty_name,
-        results[i].is_default,
-        &results[i].address,
-        results[i].flags & ENUMNICS3_MASK_OK ? &results[i].mask : NULL,
-        results[i].flags & ENUMNICS3_BCAST_OK ? &results[i].broadcast : NULL,
-        results[i].addr_size))
+    if (GNUNET_OK !=
+        proc (proc_cls, results[i].pretty_name, results[i].is_default,
+              &results[i].address,
+              results[i].
+              flags & ENUMNICS3_BCAST_OK ? &results[i].broadcast : NULL,
+              results[i].flags & ENUMNICS3_MASK_OK ? &results[i].mask : NULL,
+              results[i].addr_size))
       break;
   }
   EnumNICs3_free (results);
@@ -92,10 +93,8 @@ GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc,
         if (GNUNET_OK !=
             proc (proc_cls, ifa_ptr->ifa_name,
                   0 == strcmp (ifa_ptr->ifa_name, GNUNET_DEFAULT_INTERFACE),
-                  ifa_ptr->ifa_addr,
-                  ifa_ptr->ifa_broadaddr,
-                  ifa_ptr->ifa_netmask,
-                  alen))
+                  ifa_ptr->ifa_addr, ifa_ptr->ifa_broadaddr,
+                  ifa_ptr->ifa_netmask, alen))
           break;
       }
     }
@@ -106,6 +105,7 @@ GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc,
   const char *start;
   char ifc[12];
   char addrstr[128];
+  char bcstr[128];
   FILE *f;
   int have_ifc;
   struct sockaddr_in a4;
@@ -150,7 +150,7 @@ GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc,
     while (('\0' != *start) && (isspace (*start)))
       start++;
     if (                        /* Linux */
-         (1 == SSCANF (start, "inet addr:%127s", addrstr)) ||
+       (2 == SSCANF (start, "inet addr:%127s Bcast:%127s", addrstr, bcstr)) ||
          (1 == SSCANF (start, "inet6 addr:%127s", addrstr)) ||
          /* Solaris, OS X */
          (1 == SSCANF (start, "inet %127s", addrstr)) ||
@@ -169,9 +169,7 @@ GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc,
             proc (proc_cls, ifc, 0 == strcmp (ifc, GNUNET_DEFAULT_INTERFACE),
                   (const struct sockaddr *) &a4,
                   /* TODO broadcast and netmask */
-                  NULL,
-                  NULL,
-                  sizeof (a4)))
+                  NULL, NULL, sizeof (a4)))
           break;
         continue;
       }
@@ -188,9 +186,7 @@ GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc,
             proc (proc_cls, ifc, 0 == strcmp (ifc, GNUNET_DEFAULT_INTERFACE),
                   (const struct sockaddr *) &a6,
                   /* TODO broadcast and netmask */
-                  NULL,
-                  NULL,
-                  sizeof (a6)))
+                  NULL, NULL, sizeof (a6)))
           break;
         continue;
       }