Added Brunos patch
authorAndreas Tonnesen <andreto@olsr.org>
Tue, 30 Nov 2004 09:45:16 +0000 (09:45 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Tue, 30 Nov 2004 09:45:16 +0000 (09:45 +0000)
lib/dot_draw/src/olsrd_dot_draw.c
lib/dot_draw/src/olsrd_plugin.c
lib/dot_draw/src/olsrd_plugin.h

index 6166b75..ab569d8 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: olsrd_dot_draw.c,v 1.6 2004/11/06 14:07:20 kattemat Exp $
+ * $Id: olsrd_dot_draw.c,v 1.7 2004/11/30 09:45:16 kattemat Exp $
  *
  */
 
@@ -88,7 +88,7 @@ plugin_ipc_init()
       memset(&sin, 0, sizeof(sin));
       sin.sin_family = AF_INET;
       sin.sin_addr.s_addr = INADDR_ANY;
-      sin.sin_port = htons(2004);
+      sin.sin_port = htons(ipc_port);
       
       /* bind the socket to the port number */
       if (bind(ipc_socket, (struct sockaddr *) &sin, sizeof(sin)) == -1) 
@@ -130,7 +130,7 @@ ipc_action(int fd)
   else
     {
       addr = inet_ntoa(pin.sin_addr);
-      if(ntohl(pin.sin_addr.s_addr) != INADDR_LOOPBACK)
+      if(ntohl(pin.sin_addr.s_addr) != ntohl(ipc_accept_ip.s_addr))
        {
          olsr_printf(1, "Front end-connection from foregin host(%s) not allowed!\n", addr);
          close(ipc_connection);
@@ -246,7 +246,6 @@ pcf_event(int changes_neighborhood,
                }
              entry = entry->next;
            }
-         
        }
 
       /* HNA entries */
index 469aba0..00fd615 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: olsrd_plugin.c,v 1.4 2004/11/06 14:07:20 kattemat Exp $
+ * $Id: olsrd_plugin.c,v 1.5 2004/11/30 09:45:16 kattemat Exp $
  *
  */
 
@@ -82,6 +82,10 @@ my_init()
   /* Print plugin info to stdout */
   printf("%s\n", MOD_DESC);
 
+  /* defaults for parameters */
+  ipc_port = 2004;
+  ipc_accept_ip.s_addr = htonl(INADDR_LOOPBACK);
+  
   return;
 }
 
@@ -103,6 +107,22 @@ my_fini()
   return;
 }
 
+int
+register_olsr_param(char *key, char *value)
+{
+  if(!strcmp(key, "port"))
+    {
+     ipc_port = atoi(value);
+     printf("(DOT DRAW) listening on port: %d\n", ipc_port);
+    }
+
+  if(!strcmp(key, "accept"))
+    {
+       inet_aton(value, &ipc_accept_ip);
+       printf("(DOT DRAW) accept only: %s\n", inet_ntoa(ipc_accept_ip));
+    }
+  return 1;
+}
 
 /**
  *Register needed functions and pointers
index 47cd16a..0d6de2f 100644 (file)
@@ -59,7 +59,8 @@
 #define MOD_DESC PLUGIN_NAME " " PLUGIN_VERSION " by " PLUGIN_AUTHOR
 #define PLUGIN_INTERFACE_VERSION 2
 
-
+struct in_addr ipc_accept_ip;
+int ipc_port;
 
 /****************************************************************************
  *           Various datastructures and definitions from olsrd              *
@@ -185,6 +186,12 @@ struct topo_dst
   olsr_u16_t T_seq;
   struct topo_dst *next;
   struct topo_dst *prev;
+#if defined USE_LINK_QUALITY
+  double link_quality;
+  double inverse_link_quality;
+  double saved_link_quality;
+  double saved_inverse_link_quality;
+#endif
 };
 
 
@@ -284,6 +291,9 @@ olsr_plugin_init();
 int
 plugin_ipc_init();
 
+int
+register_olsr_param(char *, char *);
+
 /* Destructor function */
 void
 olsr_plugin_exit();