add compile time option to accept localhost + specified ip in txtinfo
authorMarkus Kittenberger <Markus.Kittenberger@gmx.at>
Tue, 15 Dec 2009 21:43:40 +0000 (22:43 +0100)
committerMarkus Kittenberger <Markus.Kittenberger@gmx.at>
Tue, 15 Dec 2009 21:43:40 +0000 (22:43 +0100)
lib/txtinfo/src/olsrd_txtinfo.c
lib/txtinfo/src/olsrd_txtinfo.h

index 5122e25..ce55f80 100644 (file)
@@ -258,9 +258,15 @@ ipc_action(int fd)
     if (inet_ntop(olsr_cnf->ip_version, &sin4->sin_addr, addr, INET6_ADDRSTRLEN) == NULL)
       addr[0] = '\0';
     if (!ip4equal(&sin4->sin_addr, &txtinfo_accept_ip.v4) && txtinfo_accept_ip.v4.s_addr != INADDR_ANY) {
-      olsr_printf(1, "(TXTINFO) From host(%s) not allowed!\n", addr);
-      close(ipc_connection);
-      return;
+#ifdef TXTINFO_ALLOW_LOCALHOST
+      if (sin4->sin_addr.s_addr!=INADDR_LOOPBACK) {
+#endif
+        olsr_printf(1, "(TXTINFO) From host(%s) not allowed!\n", addr);
+        close(ipc_connection);
+        return;
+#ifdef TXTINFO_ALLOW_LOCALHOST
+      }
+#endif
     }
   } else {
     sin6 = (struct sockaddr_in6 *)&pin;
index 8b776a9..79b0db0 100644 (file)
@@ -54,6 +54,9 @@
 /* uncomment this to include VTime values into Link/Topology command */
 /* #define ACTIVATE_VTIME_TXTINFO */
 
+/* uncomment this to allow connections from 127.0.0.1 regardless of olsrd.conf (useful to allow externel ip/network + localhost) (ipv4 only)*/
+/* #define TXTINFO_ALLOW_LOCALHOST */
+
 extern union olsr_ip_addr txtinfo_accept_ip;
 extern union olsr_ip_addr txtinfo_listen_ip;
 extern int ipc_port;