Removed olsrd binary, as it gets overwritten when compiling the FreeBSD
authorThomas Lopatic <thomas@lopatic.de>
Wed, 17 Nov 2004 16:17:41 +0000 (16:17 +0000)
committerThomas Lopatic <thomas@lopatic.de>
Wed, 17 Nov 2004 16:17:41 +0000 (16:17 +0000)
port. So, we never know whether the CVS currently contains a Linux or a
FreeBSD version. ICMP redirects are now disabled only once, even if more
than one interface is used.

bin/olsrd [deleted file]
src/bsd/net.c

diff --git a/bin/olsrd b/bin/olsrd
deleted file mode 100755 (executable)
index 0a2bef9..0000000
Binary files a/bin/olsrd and /dev/null differ
index 4e97358..9652629 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: net.c,v 1.3 2004/11/17 16:01:19 tlopatic Exp $
+ * $Id: net.c,v 1.4 2004/11/17 16:17:41 tlopatic Exp $
  *
  */
 
@@ -32,6 +32,8 @@ static int ignore_redir;
 static int send_redir;
 static int gateway;
 
+static int first_time = 1;
+
 static int set_sysctl_int(char *name, int new)
 {
   int old;
@@ -68,6 +70,16 @@ int disable_redirects(char *if_name, int index, int version)
 {
   char *name;
 
+  // this function gets called for each interface olsrd uses; however,
+  // FreeBSD can only globally control ICMP redirects, and not on a
+  // per-interface basis; hence, only disable ICMP redirects on the first
+  // invocation
+
+  if (first_time == 0)
+    return 1;
+
+  first_time = 0;
+
   // do not accept ICMP redirects
 
   if (olsr_cnf->ip_version == AF_INET)