Remove IPC interface
authorHenning Rogge <hrogge@googlemail.com>
Sat, 27 Jun 2009 22:12:31 +0000 (00:12 +0200)
committerHenning Rogge <hrogge@googlemail.com>
Sat, 27 Jun 2009 22:12:31 +0000 (00:12 +0200)
src/ipc_frontend.c [deleted file]
src/ipc_frontend.h [deleted file]
src/linux/kernel_routes.c
src/main.c
src/olsr_cfg.c
src/olsr_cfg.h
src/olsr_cfg_gen.c

diff --git a/src/ipc_frontend.c b/src/ipc_frontend.c
deleted file mode 100644 (file)
index d13dc04..0000000
+++ /dev/null
@@ -1,446 +0,0 @@
-
-/*
- * The olsr.org Optimized Link-State Routing daemon(olsrd)
- * Copyright (c) 2004-2009, the olsr.org team - see HISTORY file
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in
- *   the documentation and/or other materials provided with the
- *   distribution.
- * * Neither the name of olsr.org, olsrd nor the names of its
- *   contributors may be used to endorse or promote products derived
- *   from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * Visit http://www.olsr.org for more information.
- *
- * If you find this software useful feel free to make a donation
- * to the project. For more information see the website or contact
- * the copyright holders.
- *
- */
-
-/*
- *
- *IPC - interprocess communication
- *for the OLSRD - GUI front-end
- *
- */
-
-#include "ipc_frontend.h"
-#include "link_set.h"
-#include "olsr.h"
-#include "log.h"
-#include "parser.h"
-#include "scheduler.h"
-#include "net_olsr.h"
-#include "ipcalc.h"
-#include "olsr_ip_prefix_list.h"
-#include "olsr_logging.h"
-
-#include <unistd.h>
-#include <stdlib.h>
-
-#ifndef MSG_NOSIGNAL
-#define MSG_NOSIGNAL 0
-#endif
-
-/*
- *IPC message sent to the front-end
- *at every route update. Both delete
- *and add
- */
-struct ipcmsg {
-  uint8_t msgtype;
-  uint16_t size;
-  uint8_t metric;
-  uint8_t add;
-  union olsr_ip_addr target_addr;
-  union olsr_ip_addr gateway_addr;
-  char device[4];
-};
-
-
-struct ipc_net_msg {
-  uint8_t msgtype;
-  uint16_t size;
-  uint8_t mids;                        /* No. of extra interfaces */
-  uint8_t hnas;                        /* No. of HNA nets */
-  uint8_t unused1;
-  uint16_t hello_int;
-  uint16_t hello_lan_int;
-  uint16_t tc_int;
-  uint16_t neigh_hold;
-  uint16_t topology_hold;
-  uint8_t ipv6;
-  union olsr_ip_addr main_addr;
-};
-
-static int ipc_sock = -1;
-static int ipc_conn = -1;
-
-static int
-  ipc_send_all_routes(int fd);
-
-static int
-  ipc_send_net_info(int fd);
-
-static void
-  ipc_accept(int, void *, unsigned int);
-
-#if 0
-static int
-  ipc_input(int);
-#endif
-
-static bool ipc_check_allowed_ip(union olsr_ip_addr *);
-
-static bool frontend_msgparser(union olsr_message *, struct interface *, union olsr_ip_addr *);
-
-
-/**
- *Create the socket to use for IPC to the
- *GUI front-end
- *
- *@return the socket FD
- */
-int
-ipc_init(void)
-{
-  struct sockaddr_in sin4;
-  int yes;
-
-  /* Add parser function */
-  olsr_parser_add_function(&frontend_msgparser, PROMISCUOUS);
-
-  /* get an internet domain socket */
-  ipc_sock = socket(AF_INET, SOCK_STREAM, 0);
-  if (ipc_sock == -1) {
-    OLSR_ERROR(LOG_IPC, "Could not open IPC socket\n");
-    olsr_exit(EXIT_FAILURE);
-  }
-
-  yes = 1;
-  if (setsockopt(ipc_sock, SOL_SOCKET, SO_REUSEADDR, (char *)&yes, sizeof(yes)) < 0) {
-    OLSR_WARN(LOG_IPC, "Could not allow socket to reuse port\n");
-    return 0;
-  }
-
-  /* complete the socket structure */
-  memset(&sin4, 0, sizeof(sin4));
-  sin4.sin_family = AF_INET;
-  sin4.sin_addr.s_addr = INADDR_ANY;
-  sin4.sin_port = htons(IPC_PORT);
-
-  /* bind the socket to the port number */
-  if (bind(ipc_sock, (struct sockaddr *)&sin4, sizeof(sin4)) == -1) {
-    OLSR_WARN(LOG_IPC, "Could not bind IPC socket, will retry in 10 seconds...\n");
-    sleep(10);
-    if (bind(ipc_sock, (struct sockaddr *)&sin4, sizeof(sin4)) == -1) {
-      OLSR_ERROR(LOG_IPC, "Second attempt to bind IPC socket failed\n");
-      olsr_exit(EXIT_FAILURE);
-    }
-  }
-
-  /* show that we are willing to listen */
-  if (listen(ipc_sock, olsr_cnf->ipc_connections) == -1) {
-    OLSR_ERROR(LOG_IPC, "Could not listen to IPC socket\n");
-    olsr_exit(EXIT_FAILURE);
-  }
-
-  OLSR_INFO(LOG_IPC, "Initializing IPC connection...\n");
-
-  /* Register the socket with the socket parser */
-  add_olsr_socket(ipc_sock, &ipc_accept, NULL, NULL, SP_PR_READ);
-
-  return ipc_sock;
-}
-
-static bool
-ipc_check_allowed_ip(union olsr_ip_addr *addr)
-{
-  if (addr->v4.s_addr == ntohl(INADDR_LOOPBACK)) {
-    return true;
-  }
-
-  /* check nets */
-  return ip_acl_acceptable(&olsr_cnf->ipc_nets, addr, olsr_cnf->ip_version);
-}
-
-static void
-ipc_accept(int fd, void *data __attribute__ ((unused)), unsigned int flags __attribute__ ((unused)))
-{
-  struct sockaddr_in pin;
-  char *addr;
-  socklen_t addrlen = sizeof(struct sockaddr_in);
-
-  ipc_conn = accept(fd, (struct sockaddr *)&pin, &addrlen);
-  if (ipc_conn == -1) {
-    OLSR_ERROR(LOG_IPC, "Could not accept incoming connection to IPC socket\n");
-    olsr_exit(EXIT_FAILURE);
-  } else {
-    addr = inet_ntoa(pin.sin_addr);
-    if (ipc_check_allowed_ip((union olsr_ip_addr *)&pin.sin_addr.s_addr)) {
-      ipc_send_net_info(ipc_conn);
-      ipc_send_all_routes(ipc_conn);
-      OLSR_INFO(LOG_IPC, "Front end connected from %s\n", addr);
-    } else {
-      OLSR_WARN(LOG_IPC, "Front end-connection from foregin host(%s) not allowed!\n", addr);
-      CLOSESOCKET(ipc_conn);
-    }
-  }
-}
-
-#if 0
-
-/**
- *Read input from the IPC socket. Not in use.
- *
- *@todo for future use
- *@param sock the IPC socket
- *@return 1
- */
-static int
-ipc_input(int sock)
-{
-  union {
-    char buf[MAXPACKETSIZE + 1];
-    struct olsr olsr;
-  } inbuf;
-
-  if (recv(sock, dir, sizeof(dir), 0) == -1) {
-    perror("recv");
-    exit(1);
-  }
-  return 1;
-}
-#endif
-
-/**
- *Sends a olsr packet on the IPC socket.
- *
- *@param olsr the olsr struct representing the packet
- *
- *@return true for not preventing forwarding
- */
-static bool
-frontend_msgparser(union olsr_message *msg,
-                   struct interface *in_if __attribute__ ((unused)), union olsr_ip_addr *from_addr __attribute__ ((unused)))
-{
-  if (ipc_conn >= 0) {
-    const size_t len = olsr_cnf->ip_version == AF_INET ? ntohs(msg->v4.olsr_msgsize) : ntohs(msg->v6.olsr_msgsize);
-    if (send(ipc_conn, (void *)msg, len, MSG_NOSIGNAL) < 0) {
-      OLSR_WARN(LOG_IPC, "(OUTPUT)IPC connection lost!\n");
-      CLOSESOCKET(ipc_conn);
-    }
-  }
-  return true;
-}
-
-
-/**
- *Send a route table update to the front-end.
- *
- *@param kernel_route a rtentry describing the route update
- *@param add 1 if the route is to be added 0 if it is to be deleted
- *@param int_name the name of the interface the route is set to go by
- *
- *@return negative on error
- */
-int
-ipc_route_send_rtentry(const union olsr_ip_addr *dst, const union olsr_ip_addr *gw, int met, int add, const char *int_name)
-{
-  struct ipcmsg packet;
-
-  if (olsr_cnf->ipc_connections <= 0) {
-    return -1;
-  }
-
-  if (ipc_conn < 0) {
-    return 0;
-  }
-  memset(&packet, 0, sizeof(packet));
-  packet.size = htons(IPC_PACK_SIZE);
-  packet.msgtype = ROUTE_IPC;
-
-  packet.target_addr = *dst;
-
-  packet.add = add;
-  if (add && gw) {
-    packet.metric = met;
-    packet.gateway_addr = *gw;
-  }
-
-  if (int_name != NULL) {
-    memcpy(&packet.device[0], int_name, 4);
-  } else {
-    memset(&packet.device[0], 0, 4);
-  }
-
-  /*
-     x = 0;
-     for(i = 0; i < IPC_PACK_SIZE;i++)
-     {
-     if (x == 4)
-     {
-     x = 0;
-     printf("\n\t");
-     }
-     x++;
-     printf(" %03i", (u_char) tmp[i]);
-     }
-
-     printf("\n");
-   */
-
-  if (send(ipc_conn, (void *)&packet, IPC_PACK_SIZE, MSG_NOSIGNAL) < 0) {       // MSG_NOSIGNAL to avoid sigpipe
-    OLSR_WARN(LOG_IPC, "(RT_ENTRY)IPC connection lost!\n");
-    CLOSESOCKET(ipc_conn);
-    return -1;
-  }
-
-  return 1;
-}
-
-
-
-static int
-ipc_send_all_routes(int fd)
-{
-  struct rt_entry *rt;
-
-  if (ipc_conn < 0) {
-    return 0;
-  }
-
-  OLSR_FOR_ALL_RT_ENTRIES(rt) {
-    struct ipcmsg packet;
-
-    memset(&packet, 0, sizeof(packet));
-    packet.size = htons(IPC_PACK_SIZE);
-    packet.msgtype = ROUTE_IPC;
-
-    packet.target_addr = rt->rt_dst.prefix;
-
-    packet.add = 1;
-    packet.metric = rt->rt_best->rtp_metric.hops;
-
-    packet.gateway_addr = rt->rt_nexthop.gateway;
-
-    memcpy(&packet.device[0], rt->rt_nexthop.interface->int_name, 4);
-
-    /* MSG_NOSIGNAL to avoid sigpipe */
-    if (send(fd, (void *)&packet, IPC_PACK_SIZE, MSG_NOSIGNAL) < 0) {
-      OLSR_WARN(LOG_IPC, "(RT_ENTRY)IPC connection lost!\n");
-      CLOSESOCKET(ipc_conn);
-      return -1;
-    }
-  }
-  OLSR_FOR_ALL_RT_ENTRIES_END(rt);
-  return 1;
-}
-
-
-
-/**
- *Sends OLSR info to the front-end. This info consists of
- *the different time intervals and holding times, number
- *of interfaces, HNA routes and main address.
- *
- *@return negative on error
- */
-static int
-ipc_send_net_info(int fd)
-{
-  //int x, i;
-  struct ipc_net_msg net_msg;
-
-  OLSR_DEBUG(LOG_IPC, "Sending net-info to front end...\n");
-
-  memset(&net_msg, 0, sizeof(net_msg));
-
-  /* Message size */
-  net_msg.size = htons(sizeof(net_msg));
-  /* Message type */
-  net_msg.msgtype = NET_IPC;
-
-  /* MIDs */
-  /* XXX fix IPC MIDcnt */
-  net_msg.mids = (!list_is_empty(&interface_head)) ? 1 : 0;
-
-  /* HNAs */
-  net_msg.hnas = list_is_empty(&olsr_cnf->hna_entries) ? 0 : 1;
-
-  /* Different values */
-  /* Temporary fixes */
-  /* XXX fix IPC intervals */
-  net_msg.hello_int = 0;        //htons((uint16_t)hello_int);
-  net_msg.hello_lan_int = 0;    //htons((uint16_t)hello_int_nw);
-  net_msg.tc_int = 0;           //htons((uint16_t)tc_int);
-  net_msg.neigh_hold = 0;       //htons((uint16_t)neighbor_hold_time);
-  net_msg.topology_hold = 0;    //htons((uint16_t)topology_hold_time);
-
-  net_msg.ipv6 = olsr_cnf->ip_version == AF_INET ? 0 : 1;
-
-  /* Main addr */
-  net_msg.main_addr = olsr_cnf->router_id;
-
-  /*
-     printf("\t");
-     x = 0;
-     for(i = 0; i < sizeof(struct ipc_net_msg);i++)
-     {
-     if (x == 4)
-     {
-     x = 0;
-     printf("\n\t");
-     }
-     x++;
-     printf(" %03i", (u_char) msg[i]);
-     }
-
-     printf("\n");
-   */
-
-  if (send(fd, (void *)&net_msg, sizeof(net_msg), MSG_NOSIGNAL) < 0) {
-    OLSR_WARN(LOG_IPC, "(NETINFO)IPC connection lost!\n");
-    CLOSESOCKET(ipc_conn);
-    return -1;
-  }
-  return 0;
-}
-
-
-
-void
-shutdown_ipc(void)
-{
-  OLSR_INFO(LOG_IPC, "Shutting down IPC...\n");
-  CLOSESOCKET(ipc_conn);
-}
-
-/*
- * Local Variables:
- * c-basic-offset: 2
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/src/ipc_frontend.h b/src/ipc_frontend.h
deleted file mode 100644 (file)
index 9eae4a2..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-
-/*
- * The olsr.org Optimized Link-State Routing daemon(olsrd)
- * Copyright (c) 2004-2009, the olsr.org team - see HISTORY file
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in
- *   the documentation and/or other materials provided with the
- *   distribution.
- * * Neither the name of olsr.org, olsrd nor the names of its
- *   contributors may be used to endorse or promote products derived
- *   from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * Visit http://www.olsr.org for more information.
- *
- * If you find this software useful feel free to make a donation
- * to the project. For more information see the website or contact
- * the copyright holders.
- *
- */
-
-/*
- *
- *IPC - interprocess communication
- *for the OLSRD - GUI front-end
- *
- */
-
-#ifndef _OLSR_IPC
-#define _OLSR_IPC
-
-#include "olsr_types.h"
-
-#define IPC_PORT 1212
-#define IPC_PACK_SIZE 44        /* Size of the IPC_ROUTE packet */
-#define        ROUTE_IPC 11            /* IPC to front-end telling of route changes */
-#define NET_IPC 12              /* IPC to front end net-info */
-
-/*
- *IPC functions
- *These are moved to a plugin soon
- * soon... duh!
-*/
-
-int
-  ipc_init(void);
-
-void
-  shutdown_ipc(void);
-
-int
-  ipc_route_send_rtentry(const union olsr_ip_addr *, const union olsr_ip_addr *, int, int, const char *);
-
-#endif
-
-/*
- * Local Variables:
- * c-basic-offset: 2
- * indent-tabs-mode: nil
- * End:
- */
index c419cb3..5e53e92 100644 (file)
@@ -40,7 +40,6 @@
  */
 
 #include "kernel_routes.h"
-#include "ipc_frontend.h"
 #include <assert.h>
 #include <errno.h>
 #include <linux/types.h>
@@ -373,9 +372,6 @@ olsr_netlink_route_int(const struct rt_entry *rt, uint8_t family, uint8_t rttabl
     req.r.rtm_scope = RT_SCOPE_NOWHERE;
   }
   ret = olsr_netlink_send(&req.n, req.buf, sizeof(req.buf), flag, rt, nexthop, family, rttable);
-  if (0 <= ret && olsr_cnf->ipc_connections > 0) {
-    ipc_route_send_rtentry(&rt->rt_dst.prefix, &nexthop->gateway, metric, RTM_NEWROUTE == cmd, nexthop->interface->int_name);
-  }
   return ret;
 }
 
@@ -387,7 +383,6 @@ olsr_netlink_route_int(const struct rt_entry *rt, uint8_t family, uint8_t rttabl
 int
 olsr_kernel_add_route(const struct rt_entry *rt, int ip_version)
 {
-  int rslt;
   int rttable;
 
   OLSR_DEBUG(LOG_ROUTING, "KERN: Adding %s\n", olsr_rtp_to_string(rt->rt_best));
@@ -401,16 +396,7 @@ olsr_kernel_add_route(const struct rt_entry *rt, int ip_version)
     olsr_netlink_route(rt, AF_INET, 253, RTM_NEWROUTE);
   }
   rttable = 0 == rt->rt_dst.prefix_len && olsr_cnf->rttable_default != 0 ? olsr_cnf->rttable_default : olsr_cnf->rttable;
-  rslt = olsr_netlink_route(rt, ip_version, rttable, RTM_NEWROUTE);
-
-  if (rslt >= 0) {
-    /*
-     * Send IPC route update message
-     */
-    ipc_route_send_rtentry(&rt->rt_dst.prefix, &rt->rt_best->rtp_nexthop.gateway,
-                           rt->rt_best->rtp_metric.hops, 1, rt->rt_best->rtp_nexthop.interface->int_name);
-  }
-  return rslt;
+  return olsr_netlink_route(rt, ip_version, rttable, RTM_NEWROUTE);
 }
 
 
@@ -422,7 +408,6 @@ olsr_kernel_add_route(const struct rt_entry *rt, int ip_version)
 int
 olsr_kernel_del_route(const struct rt_entry *rt, int ip_version)
 {
-  int rslt;
   int rttable;
 
   OLSR_DEBUG(LOG_ROUTING, "KERN: Deleting %s\n", olsr_rt_to_string(rt));
@@ -434,15 +419,7 @@ olsr_kernel_del_route(const struct rt_entry *rt, int ip_version)
     olsr_netlink_route(rt, AF_INET, 253, RTM_DELROUTE);
   }
   rttable = 0 == rt->rt_dst.prefix_len && olsr_cnf->rttable_default != 0 ? olsr_cnf->rttable_default : olsr_cnf->rttable;
-  rslt = olsr_netlink_route(rt, ip_version, rttable, RTM_DELROUTE);
-  if (rslt >= 0) {
-    /*
-     * Send IPC route update message
-     */
-    ipc_route_send_rtentry(&rt->rt_dst.prefix, NULL, 0, 0, NULL);
-  }
-
-  return rslt;
+  return olsr_netlink_route(rt, ip_version, rttable, RTM_DELROUTE);
 }
 
 
index 5c5909f..3f16dc3 100644 (file)
@@ -57,7 +57,6 @@
 #include "net_os.h"
 #include "build_msg.h"
 #include "net_olsr.h"
-#include "ipc_frontend.h"
 #include "misc.h"
 #include "olsr_cfg_gen.h"
 #include "common/string.h"
@@ -320,11 +319,6 @@ main(int argc, char *argv[])
   }
 #endif
 
-  /* Initialize the IPC socket */
-
-  if (olsr_cnf->ipc_connections > 0) {
-    ipc_init();
-  }
   /* Initialisation of different tables to be used. */
   olsr_init_tables();
 
@@ -499,11 +493,6 @@ olsr_shutdown(void)
   /* Flush duplicate set */
   olsr_flush_duplicate_entries();
 
-  /* front-end IPC socket */
-  if (olsr_cnf->ipc_connections > 0) {
-    shutdown_ipc();
-  }
-
   /* Shut down LQ plugin */
   deinit_lq_handler();
 
index ee13666..8ec7fab 100644 (file)
@@ -607,13 +607,7 @@ parse_cfg_ipc(char *argstr, struct olsr_config *rcfg, char *rmsg)
         parse_tok_free(tok);
         return CFG_ERROR;
       }
-      if (0 == strcmp("MaxConnections", p[0])) {
-        int arg = -1;
-        sscanf(argstr, "%d", &arg);
-        if (0 <= arg && arg < 1 << (8 * sizeof(rcfg->ipc_connections)))
-          rcfg->ipc_connections = arg;
-        PARSER_DEBUG_PRINTF("\tIPC connections: %d\n", rcfg->ipc_connections);
-      } else if (0 == strcmp("Host", p[0])) {
+      if (0 == strcmp("Host", p[0])) {
         union olsr_ip_addr ipaddr;
         if (inet_pton(rcfg->ip_version, p[1], &ipaddr) <= 0) {
           sprintf(rmsg, "Failed converting IP address %s\n", p[0]);
@@ -867,10 +861,6 @@ parse_cfg_option(const int optint, char *argstr, const int line, struct olsr_con
   case 'i':                    /* iface */
     /* Ignored */
     break;
-  case 'P':                    /* ipc */
-    rcfg->ipc_connections = 1;
-    PARSER_DEBUG_PRINTF("IPC connections: %d\n", rcfg->ipc_connections);
-    break;
   case 'n':                    /* nofork */
     rcfg->no_fork = true;
     PARSER_DEBUG_PRINTF("no_fork set to %d\n", rcfg->no_fork);
@@ -1207,7 +1197,6 @@ olsr_parse_cfg(int argc, char *argv[], const char *file, char *rmsg, struct olsr
     {"Hna4",                     required_argument, 0, '4'}, /* (4body) */
     {"Hna6",                     required_argument, 0, '6'}, /* (6body) */
     {"Interface",                required_argument, 0, 'I'}, /* (if1 if2 {ifbody}) */
-    {"IpcConnect",               required_argument, 0, 'Q'}, /* (Host,Net,MaxConnections) */
     {"IpVersion",                required_argument, 0, 'V'}, /* (i) */
     {"LinkQualityDijkstraLimit", required_argument, 0, 'J'}, /* (i,f) */
     {"LinkQualityFishEye",       required_argument, 0, 'E'}, /* (i) */
@@ -1231,6 +1220,7 @@ olsr_parse_cfg(int argc, char *argv[], const char *file, char *rmsg, struct olsr
     {"TxtPort",                  required_argument, 0, CFG_TXTPORT},   /* (i) */
     {"TxtLimit",                 required_argument, 0, CFG_TXTLIMIT},  /* (i) */
 
+    {"IpcConnect",               required_argument, 0,  0 }, /* ignored */
     {"UseHysteresis",            required_argument, 0,  0 }, /* ignored */
     {"HystScaling",              required_argument, 0,  0 }, /* ignored */
     {"HystThrHigh",              required_argument, 0,  0 }, /* ignored */
@@ -1634,7 +1624,6 @@ olsr_get_default_cfg(void)
   assert(cfg->rtproto == 0);
   cfg->rttable = 254;
   assert(cfg->rttable_default == 0);
-  cfg->ipc_connections = DEF_IPC_CONNECTIONS;
   cfg->fib_metric = DEF_FIB_METRIC;
 
   for (i = 0; i < LOG_SOURCE_COUNT; i++) {
index 4b42506..8190077 100644 (file)
@@ -191,7 +191,6 @@ struct olsr_config {
   uint8_t rttable;                     /* Policy routing table, 254(main) is default */
   uint8_t rttable_default;             /* Polroute table for default route, 0==use rttable */
   olsr_fib_metric_options fib_metric;  /* Determines route metrics update mode */
-  uint8_t ipc_connections;             /* Number of allowed IPC connections */
 
   /* logging information */
   bool log_event[LOG_SEVERITY_COUNT][LOG_SOURCE_COUNT]; /* New style */
index b36b105..6624b83 100644 (file)
@@ -112,10 +112,6 @@ olsr_write_cnf_buf(struct autobuf *abuf, struct olsr_config *cnf, bool write_mor
                "# dynammically based on battery/power status\n"
                "%sWillingness\t%d\n\n", cnf->willingness_auto ? "#" : "", cnf->willingness_auto ? 4 : cnf->willingness);
 
-  /* IPC */
-  abuf_appendf(abuf, "# Allow processes like the GUI front-end\n"
-               "# to connect to the daemon.\n" "IpcConnect {\n" "    MaxConnections\t%d\n", cnf->ipc_connections);
-
   if (list_is_empty(&cnf->ipc_nets.accept)) {
     struct ip_prefix_entry *ie;
     OLSR_FOR_ALL_IPPREFIX_ENTRIES(&cnf->ipc_nets.accept, ie) {