Makefile patches by Bruno added
authorAndreas Tonnesen <andreto@olsr.org>
Tue, 30 Nov 2004 16:52:16 +0000 (16:52 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Tue, 30 Nov 2004 16:52:16 +0000 (16:52 +0000)
12 files changed:
Makefile
lib/dot_draw/Makefile
lib/dyn_gw/Makefile
lib/dyn_gw/src/olsr_plugin_io.h
lib/dyn_gw/src/olsrd_dyn_gw.c
lib/dyn_gw/src/olsrd_dyn_gw.h
lib/dyn_gw/src/olsrd_plugin.c
lib/dyn_gw/src/olsrd_plugin.h
lib/powerinfo/Makefile
lib/secure/Makefile
src/cfgparser/Makefile
src/cfgparser/olsrd_conf.h

index 2295789..bf9752f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,9 @@
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.28 2004/11/28 00:13:27 tlopatic Exp $
+# $Id: Makefile,v 1.29 2004/11/30 16:52:15 kattemat Exp $
+
+VERS =         0.4.8
 
 #OS ?=         linux
 #OS =          fbsd
 #OS =          osx
 
 CC ?=          gcc
-
-PREFIX ?=
-
 STRIP ?=       strip
-
 BISON ?=       bison
 FLEX ?=                flex
-CFGDIR =       src/cfgparser
 
-DEPFILE =      .depend
-DEPBAK =       .depend.bak
-DEPEND =       makedepend -f $(DEPFILE)
+INSTALL_PREFIX ?=
 
 DEFINES =      -DUSE_LINK_QUALITY
 INCLUDES =     -I src
 
-all:           olsrd
-
-SRCS =         $(wildcard src/*.c) \
-               $(CFGDIR)/oparse.c $(CFGDIR)/oscan.c $(CFGDIR)/olsrd_conf.c
+DEPFILE =      .depend
 
-HDRS =         $(wildcard src/*.h) \
-               $(CFGDIR)/oparse.h $(CFGDIR)/olsrd_conf.h
+SRCS =         $(wildcard src/*.c)
+HDRS =         $(wildcard src/*.h)
 
-OBJS =         $(patsubst %.c,%.o,$(wildcard src/*.c)) \
-               $(CFGDIR)/oparse.o $(CFGDIR)/oscan.o $(CFGDIR)/olsrd_conf.o
+CFGDIR =       src/cfgparser
+CFGOBJS =      $(CFGDIR)/oscan.o $(CFGDIR)/oparse.o $(CFGDIR)/olsrd_conf.o
 
 ifeq ($(OS), linux)
 
 SRCS +=        $(wildcard src/linux/*.c) $(wildcard src/unix/*.c)
-
 HDRS +=                $(wildcard src/linux/*.h) $(wildcard src/unix/*.h)
-
-OBJS +=                $(patsubst %.c,%.o,$(wildcard src/linux/*.c)) \
-               $(patsubst %.c,%.o,$(wildcard src/unix/*.c))
-
 DEFINES +=     -Dlinux
-
 CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes \
                -O2 -g #-pg -DDEBUG #-march=i686
-
 LIBS =         -lm -ldl
-
-
-$(DEPFILE):    $(SRCS) $(HDRS)
-               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
-               $(DEPEND) -Y $(INCLUDES) $(DEFINES) $(SRCS) >/dev/null 2>&1
-
-olsrd:         $(OBJS)
-               $(CC) -o $@ $(OBJS) $(LIBS)
+MAKEDEPEND =   makedepend -f $(DEPFILE) -Y $(INCLUDES) $(DEFINES) $(SRCS) >/dev/null 2>&1
 
 else
 ifeq ($(OS), fbsd)
 
 SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
-
 HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
-
-OBJS +=                $(patsubst %.c,%.o,$(wildcard src/bsd/*.c)) \
-               $(patsubst %.c,%.o,$(wildcard src/unix/*.c))
-
 CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes \
                -O2 -g
-
 LIBS =         -lm
-
-$(DEPFILE):    $(SRCS) $(HDRS)
-               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
-               $(DEPEND) $(INCLUDES) $(DEFINES) $(SRCS)
-
-olsrd:         $(OBJS)
-               $(CC) -o $@ $(OBJS) $(LIBS)
+MAKEDEPEND =   makedepend -f $(DEPFILE) $(INCLUDES) $(DEFINES) $(SRCS)
 
 else
 ifeq ($(OS), win32)
 
 SRCS +=                $(wildcard src/win32/*.c)
-
 HDRS +=                $(wildcard src/win32/*.h)
-
-OBJS +=                $(patsubst %.c,%.o,$(wildcard src/win32/*.c))
-
 INCLUDES +=    -Isrc/win32
-
 DEFINES +=     -DWIN32
-
 CFLAGS ?=      -Wall -Wmissing-prototypes \
                -Wstrict-prototypes -mno-cygwin -O2 -g
-
 LIBS =         -mno-cygwin -lws2_32 -liphlpapi
-
-$(DEPFILE):    $(SRCS) $(HDRS)
-               @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
-               $(DEPEND) $(INCLUDES) $(DEFINES) $(SRCS) >/dev/null 2>&1
-
-olsrd:         $(OBJS)
-               $(CC) -o $@ $(OBJS) $(LIBS)
-
-VERS =         0.4.8
+MAKEDEPEND =   makedepend -f $(DEPFILE) $(INCLUDES) $(DEFINES) $(SRCS) >/dev/null 2>&1
 
 olsr-${VERS}.zip:      gui/win32/Main/Release/Switch.exe \
                gui/win32/Shim/Release/Shim.exe \
@@ -190,28 +141,45 @@ else
 ifeq ($(OS), osx)
 
 SRCS +=                $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
-
 HDRS +=                $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
+DEFINES +=     -D__MacOSX__
+CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -g 
+LIBS =         -lm -ldl
+MAKEDEPEND =   makedepend -f $(DEPFILE) $(INCLUDES) $(DEFINES) $(SRCS)
 
-OBJS +=                $(patsubst %.c,%.o,$(wildcard src/bsd/*.c)) \
-               $(patsubst %.c,%.o,$(wildcard src/unix/*.c))
+endif
+endif
+endif
+endif
 
-DEFINES +=     -D__MacOSX__
+ifndef OS
+all: help
+else
+all: olsrd
+endif
 
-CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -g 
 
-LIBS =         -lm -ldl
+OBJS = $(patsubst %.c,%.o,$(SRCS))
+override CFLAGS += $(INCLUDES) $(DEFINES)
+export CFLAGS
+
+
+olsrd:         $(OBJS) $(CFGOBJS)
+               $(CC) -o $@ $(OBJS) $(CFGOBJS) $(LIBS) 
 
 $(DEPFILE):    $(SRCS) $(HDRS)
+ifdef MAKEDEPEND
                @echo '# olsrd dependency file. AUTOGENERATED' > $(DEPFILE)
-               $(DEPEND) $(INCLUDES) $(DEFINES) $(SRCS)
+               $(MAKEDEPEND)
+endif
 
-olsrd:         $(OBJS)
-               $(CC) -o $@ $(OBJS) $(LIBS)
+$(CFGOBJS):
+               $(MAKE) -C src/cfgparser
 
-else
 
-olsrd:
+.PHONY: help libs clean_libs clean uberclean install_libs install_bin install
+
+help:
        @echo
        @echo '***** olsr.org olsr daemon Make ****'
        @echo ' You must provide a valid target OS '
@@ -230,69 +198,47 @@ olsrd:
        @echo ' be a good idea :-) Have fun!       '
        @echo '************************************'
        @echo
-endif
-endif
-endif
-endif
 
-override CFLAGS += $(INCLUDES) $(DEFINES)
-export CFLAGS
+clean:
+               rm -f $(OBJS) olsrd olsrd.exe
+               $(MAKE) -C src/cfgparser clean
 
-depend:                $(DEPFILE)
+uberclean:     clean libs_clean
+               rm -f $(DEPFILE) $(DEPFILE).bak
+               rm -f src/*[o~] src/linux/*[o~] src/unix/*[o~] src/win32/*[o~]
+               rm -f src/bsd/*[o~] 
+               $(MAKE) -C src/cfgparser uberclean
 
-$(CFGDIR)/oparse.c: \
-               $(CFGDIR)/oparse.y $(CFGDIR)/olsrd_conf.h
-               $(BISON) -d -o$(CFGDIR)/oparse.c $(CFGDIR)/oparse.y
 
-$(CFGDIR)/oparse.h: \
-               $(CFGDIR)/oparse.c
+install_bin:
+               $(STRIP) olsrd
+               install -D -m 755 olsrd $(INSTALL_PREFIX)/usr/sbin/olsrd
 
-$(CFGDIR)/oscan.c: \
-               $(CFGDIR)/oscan.lex $(CFGDIR)/oparse.h $(CFGDIR)/olsrd_conf.h
-               $(FLEX) -o$(CFGDIR)/oscan.c $(CFGDIR)/oscan.lex
+install:       install_bin
+               @echo olsrd uses the configfile $(INSTALL_PREFIX)/etc/olsr.conf
+               @echo a default configfile. A sample configfile
+               @echo can be installed
+               mkdir -p $(INSTALL_PREFIX)/etc
+               cp -i files/olsrd.conf.default $(INSTALL_PREFIX)/etc/olsrd.conf
+               @echo -------------------------------------------
+               @echo Edit $(INSTALL_PREFIX)/etc/olsrd.conf before running olsrd!!
+               @echo -------------------------------------------
+               mkdir -p $(INSTALL_PREFIX)/usr/share/man/man8/
+               cp files/olsrd.8.gz $(INSTALL_PREFIX)/usr/share/man/man8/olsrd.8.gz
 
 libs: 
                for i in lib/*; do \
                        $(MAKE) -C $$i; \
                done; 
 
-clean_libs
+libs_clean
                for i in lib/*; do \
                        $(MAKE) -C $$i clean; \
                done; 
 
-.PHONY:                clean
-
-clean:
-               rm -f $(OBJS)
-
-uberclean:
-               rm -f $(OBJS) $(DEPFILE) $(DEPBAK)
-               rm -f $(CFGDIR)/oscan.c $(CFGDIR)/oparse.h $(CFGDIR)/oparse.c
-               rm -f olsrd olsrd.exe
-               rm -f src/*~ src/linux/*~ src/unix/*~ src/win32/*~
-               rm -f src/bsd/*~ src/cfgparser/*~
-
-install_libs:
+libs_install:
                for i in lib/*; do \
-                       $(MAKE) -C $$i LIBDIR=$(PREFIX)/usr/lib install; \
+                       $(MAKE) -C $$i LIBDIR=$(INSTALL_PREFIX)/usr/lib install; \
                done;   
 
-install_bin:
-               $(STRIP) olsrd
-               install -D -m 755 olsrd $(PREFIX)/usr/sbin/olsrd
-
-install:       install_bin
-               @echo olsrd uses the configfile $(PREFIX)/etc/olsr.conf
-               @echo a default configfile. A sample configfile
-               @echo can be installed
-               mkdir -p $(PREFIX)/etc
-               cp -i files/olsrd.conf.default $(PREFIX)/etc/olsrd.conf
-               @echo -------------------------------------------
-               @echo Edit $(PREFIX)/etc/olsrd.conf before running olsrd!!
-               @echo -------------------------------------------
-               mkdir -p $(PREFIX)/usr/share/man/man8/
-               cp files/olsrd.8.gz $(PREFIX)/usr/share/man/man8/olsrd.8.gz
-
 sinclude       $(DEPFILE)
-
index dd044f9..7e48798 100644 (file)
@@ -6,6 +6,7 @@
 #Alter this file to fit your needs
 
 CC ?= gcc
+STRIP ?= strip
 NAME ?= olsrd_dot_draw.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 # -fPIC creates position independent code
@@ -39,7 +40,7 @@ plugin: $(OBJS)
 
 
 install:
-       strip $(NAME)
+       $(STRIP) $(NAME)
        install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
        /sbin/ldconfig -n $(LIBDIR)
 
index 773ac8c..39c6106 100644 (file)
@@ -1,17 +1,12 @@
 
-#############################################
-# EXAMPLE MAKEFILE TO CREATE A OLSRD PLUGIN #
-#############################################
-
-#Alter this file to fit your needs
-
 CC ?= gcc
 NAME ?= olsrd_dyn_gw.so.0.2
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 # -fPIC creates position independent code
 MYFLAGS ?= -Wall -fPIC -g # Uncomment -g for debugging
-LIBS ?= -lc -lm
-CFLAGS ?= -g -O2
+LIBS ?= -lpthread -lc -lm
+CFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes -g -O2
+STRIP ?= strip
 
 #Sourcefiles
 #add yours here
@@ -39,7 +34,7 @@ plugin: $(OBJS)
 
 
 install:
-       strip $(NAME)
+       $(STRIP) $(NAME)
        install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
        /sbin/ldconfig -n $(LIBDIR)
 
index 6068784..c6fbcc1 100644 (file)
@@ -1,28 +1,45 @@
 /*
- * OLSR ad-hoc routing table management protocol
- * Copyright (C) 2004 Andreas Tønnesen (andreto@ifi.uio.no)
+ * The olsr.org Optimized Link-State Routing daemon(olsrd)
+ * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+ * All rights reserved.
  *
- * This file is part of the olsr.org OLSR daemon.
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
  *
- * olsr.org is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * * 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.
  *
- * olsr.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * 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.
  *
- * You should have received a copy of the GNU General Public License
- * along with olsr.org; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
- * 
- * $Id: olsr_plugin_io.h,v 1.4 2004/11/05 23:24:40 kattemat Exp $
+ * 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.
+ *
+ * $Id: olsr_plugin_io.h,v 1.5 2004/11/30 16:52:15 kattemat Exp $
  */
 
+
 /*
  * REVISIONS(starting from 0.4.6):
  * 0.4.5 - 0.4.6 : GETD_S removed. The socket entries now reside within the 
  *                 GETD_PACKET removed
  *                 GETD_MAXMESSAGESIZE removed
  *                 GETD_OUTPUTSIZE removed
+ *                 GETF__NET_OUTBUFFER_PUSH added
+ *                 GETD__ROUTINGTABLE added
+ *                 GETD__HNA_ROUTES added
+ *                 GETD__MID_SET added
+ *                 GETF__NET_RESERVE_BUFSPACE added 
+ *                 GETF__NET_OUTBUFFER_PUSH_RESERVED added
  *                 - Andreas
  */
 
@@ -73,6 +96,9 @@
 #define GETD__TC_TABLE                             110
 #define GETD__HNA_SET                              111
 #define GETD__OLSR_CNF                             112
+#define GETD__ROUTINGTABLE                         113
+#define GETD__HNA_ROUTES                           114
+#define GETD__MID_SET                              115
 
 /* Function fetching - starts at 500 */
 #define GETF__OLSR_REGISTER_SCHEDULER_EVENT        500
 #define GETF__ADD_IFCHGF                           529
 #define GETF__DEL_IFCHGF                           530
 #define GETF__APM_READ                             531
+#define GETF__NET_OUTBUFFER_PUSH                   532
+#define GETF__NET_RESERVE_BUFSPACE                 533
+#define GETF__NET_OUTBUFFER_PUSH_RESERVED          534
 
 #endif
index 8483c9b..23b7c2c 100644 (file)
@@ -1,30 +1,43 @@
+
 /*
- * OLSR plugin
- * Copyright (C) 2004 Andreas Tønnesen (andreto@olsr.org)
+ * The olsr.org Optimized Link-State Routing daemon(olsrd)
+ * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+ * All rights reserved.
  *
- * This file is part of the olsrd dynamic gateway detection.
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
  *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * * 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 plugin is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * 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.
  *
- * You should have received a copy of the GNU General Public License
- * along with olsrd-unik; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
- * 
- * $Id: olsrd_dyn_gw.c,v 1.6 2004/11/07 10:57:54 kattemat Exp $
+ * Visit http://www.olsr.org for more information.
  *
- */
-
-/*
- * Dynamic linked library for UniK OLSRd
+ * 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.
+ *
+ * $Id: olsrd_dyn_gw.c,v 1.7 2004/11/30 16:52:15 kattemat Exp $
  */
 
 #include "olsrd_dyn_gw.h"
 #include <linux/in_route.h>
 #include <unistd.h>
 #include <errno.h>
+#include <pthread.h>
+#include <time.h>
+
 
 static int has_inet_gateway;
+static int has_available_gw;
+
+/* set default interval, in case none is given in the config file */
+static int interval = 5;
+
+/* list to store the Ping IP addresses given in the config file */
+struct ping_list {
+  char *ping_address;
+  struct ping_list *next;
+};
+struct ping_list *the_ping_list = NULL;
+
+int
+register_olsr_param(char *key, char *value)
+{
+  /* foo_addr is only used for call to inet_aton */ 
+  struct in_addr foo_addr;
+  int retval = -1;
+  if (!strcmp(key, "Interval")) {
+    if (sscanf(value, "%d", &interval) == 1) {
+      retval = 1;
+    }
+  }
+  if (!strcmp(key, "Ping")) {
+    /* if value contains a valid IPaddr, then add it to the list */
+    if (inet_aton(strdup(value), &foo_addr)) {
+      the_ping_list = add_to_ping_list(value, the_ping_list);
+      retval = 1;
+    }
+  }
+  return retval;
+}
+
+/* add the valid IPs to the head of the list */
+struct ping_list *
+add_to_ping_list(char *ping_address, struct ping_list *the_ping_list)
+{
+  struct ping_list *new = (struct ping_list *) malloc(sizeof(struct ping_list));
+  new->ping_address = strdup(ping_address);
+  new->next = the_ping_list;
+  return new;
+}    
 
 /**
  *Do initialization here
@@ -47,19 +106,24 @@ static int has_inet_gateway;
 int
 olsr_plugin_init()
 {
+  pthread_t ping_thread;
+  
   gw_net.v4 = INET_NET;
   gw_netmask.v4 = INET_PREFIX;
 
   has_inet_gateway = 0;
+  has_available_gw = 0;
+  
   /* Remove all local Inet HNA entries */
   while(remove_local_hna4_entry(&gw_net, &gw_netmask))
     {
       olsr_printf(1, "HNA Internet gateway deleted\n");
     }
 
+  pthread_create(&ping_thread, NULL, olsr_event, NULL);
+  
   /* Register the GW check */
-  olsr_register_scheduler_event(&olsr_event, NULL, 5, 4, NULL);
+  olsr_register_scheduler_event(&olsr_event_doing_hna, NULL, 3, 4, NULL);
 
   return 1;
 }
@@ -95,39 +159,27 @@ plugin_io(int cmd, void *data, size_t size)
 
 
 /**
- *Scheduled event
+ * the threaded function which happens within an endless loop,
+ * reiterated every "Interval" sec (as given in the config or 
+ * the default value)
  */
-void
+void *
 olsr_event(void *foo)
 {
-  int res;
+  for(;;) {
+    struct timespec remainder_spec;
+    /* the time to wait in "Interval" sec (see connfig), default=5sec */
+    struct timespec sleeptime_spec  = {(time_t) interval, 0L };
 
-  res = check_gw(&gw_net, &gw_netmask);
-
-  if((res == 1) && (has_inet_gateway == 0))
-    {
-      olsr_printf(1, "Adding OLSR local HNA entry for Internet\n");
-      add_local_hna4_entry(&gw_net, &gw_netmask);
-      has_inet_gateway = 1;
-    }
-  else
-    {
-      if((res == 0) && (has_inet_gateway == 1))
-       {
-         /* Remove all local Inet HNA entries */
-         while(remove_local_hna4_entry(&gw_net, &gw_netmask))
-           {
-             olsr_printf(1, "Removing OLSR local HNA entry for Internet\n");
-           }
-         has_inet_gateway = 0;
-       }
-    }
+    /* check for gw in table entry and if Ping IPs are given also do pings */
+    has_available_gw = check_gw(&gw_net, &gw_netmask);
 
+    while(nanosleep(&sleeptime_spec, &remainder_spec) < 0)
+      sleeptime_spec = remainder_spec;
+  }
 }
 
 
-
-
 int
 check_gw(union olsr_ip_addr *net, union hna_netmask *mask)
 {
@@ -179,8 +231,17 @@ check_gw(union olsr_ip_addr *net, union hna_netmask *mask)
           (netmask == mask->v4) && 
           (dest_addr == net->v4))
          {
-           olsr_printf(1, "INTERNET GATEWAY VIA %s detected.\n", iface);
-           retval = 1;
+      /* don't ping, if there was no "Ping" IP addr in the config file */
+      if (the_ping_list != NULL) {  
+        /*validate the found inet gw by pinging*/ 
+        if (ping_is_possible()) {
+          olsr_printf(1, "INTERNET GATEWAY (ping is possible) VIA %s detected in routing table.\n", iface);
+          retval=1;      
+        }
+      } else {
+        olsr_printf(1, "INTERNET GATEWAY VIA %s detected in routing table.\n", iface);
+        retval=1;      
+      }
          }
 
     }
@@ -195,53 +256,42 @@ check_gw(union olsr_ip_addr *net, union hna_netmask *mask)
     return retval;
 }
 
-
-
-
-
-
-
-
-
-/*************************************************************
- *                 TOOLS DERIVED FROM OLSRD                  *
- *************************************************************/
-
+int
+ping_is_possible() 
+{
+  struct ping_list *list;
+  for (list = the_ping_list; list != NULL; list = list->next) {
+    char ping_command[50] = "ping -c 1 -q ";
+    strcat(ping_command, list->ping_address);
+    olsr_printf(1, "\nDo ping on %s ...\n", list->ping_address);
+    if (system(ping_command) == 0) {
+      olsr_printf(1, "...OK\n\n");
+      return 1;      
+    } else {
+      olsr_printf(1, "...FAILED\n\n");
+    }
+  }
+  return 0;
+}
 
 /**
- *Converts a olsr_ip_addr to a string
- *Goes for both IPv4 and IPv6
- *
- *NON REENTRANT! If you need to use this
- *function twice in e.g. the same printf
- *it will not work.
- *You must use it in different calls e.g.
- *two different printfs
- *
- *@param the IP to convert
- *@return a pointer to a static string buffer
- *representing the address in "dots and numbers"
- *
+ * Scheduled event to update the hna table,
+ * called from olsrd main thread to keep the hna table thread-safe
  */
-char *
-olsr_ip_to_string(union olsr_ip_addr *addr)
+void
+olsr_event_doing_hna()
 {
-
-  char *ret;
-  struct in_addr in;
-  
-  if(ipversion == AF_INET)
-    {
-      in.s_addr=addr->v4;
-      ret = inet_ntoa(in);
-    }
-  else
-    {
-      /* IPv6 */
-      ret = (char *)inet_ntop(AF_INET6, &addr->v6, ipv6_buf, sizeof(ipv6_buf));
+  if (has_available_gw == 1 && has_inet_gateway == 0) {
+    olsr_printf(1, "Adding OLSR local HNA entry for Internet\n");
+    add_local_hna4_entry(&gw_net, &gw_netmask);
+    has_inet_gateway = 1;
+  } else if ((has_available_gw == 0) && (has_inet_gateway == 1)) {
+    /* Remove all local Inet HNA entries */
+    while(remove_local_hna4_entry(&gw_net, &gw_netmask)) {
+      olsr_printf(1, "Removing OLSR local HNA entry for Internet\n");
     }
-
-  return ret;
+    has_inet_gateway = 0;
+  }
 }
-
+  
 
index a04ec51..77492e0 100644 (file)
@@ -1,30 +1,43 @@
+
 /*
- * OLSR plugin
- * Copyright (C) 2004 Andreas Tønnesen (andreto@olsr.org)
+ * The olsr.org Optimized Link-State Routing daemon(olsrd)
+ * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+ * All rights reserved.
  *
- * This file is part of the olsrd dynamic gateway detection.
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
  *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * * 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 plugin is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * 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.
  *
- * You should have received a copy of the GNU General Public License
- * along with olsrd-unik; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
- * 
- * $Id: olsrd_dyn_gw.h,v 1.6 2004/11/07 10:57:55 kattemat Exp $
+ * Visit http://www.olsr.org for more information.
  *
- */
-
-/*
- * Dynamic linked library example for UniK OLSRd
+ * 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.
+ *
+ * $Id: olsrd_dyn_gw.h,v 1.7 2004/11/30 16:52:15 kattemat Exp $
  */
 
 #ifndef _OLSRD_PLUGIN_TEST
@@ -42,14 +55,27 @@ union hna_netmask gw_netmask;
 
 /* Timeout function to register with the sceduler */
 void
-olsr_timeout();
+olsr_timeout(void);
 
 
 /* Event function to register with the sceduler */
-void
+void *
 olsr_event(void *foo);
 
 int
 check_gw(union olsr_ip_addr *, union hna_netmask *);
 
+int
+ping_is_possible(void);
+
+struct ping_list *
+add_to_ping_list(char *, struct ping_list *);
+
+void
+olsr_event_doing_hna(void);
+
+
+
+
+
 #endif
index ee5214a..3fe6a7b 100644 (file)
@@ -1,33 +1,45 @@
+
 /*
- * OLSR plugin
- * Copyright (C) 2004 Andreas Tønnesen (andreto@olsr.org)
+ * The olsr.org Optimized Link-State Routing daemon(olsrd)
+ * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+ * All rights reserved.
  *
- * This file is part of the olsrd dynamic gateway detection.
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
  *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * * 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 plugin is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * 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.
  *
- * You should have received a copy of the GNU General Public License
- * along with olsrd-unik; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
- * 
- * $Id: olsrd_plugin.c,v 1.8 2004/11/06 12:23:46 kattemat Exp $
+ * 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.
+ *
+ * $Id: olsrd_plugin.c,v 1.9 2004/11/30 16:52:15 kattemat Exp $
  */
 
-/*
- * Dynamic linked library example for UniK OLSRd
- */
-
-
 #include "olsrd_plugin.h"
 #include <stdio.h>
 
@@ -57,7 +69,7 @@ int
 register_olsr_data(struct olsr_plugin_data *);
 
 int
-fetch_olsrd_data();
+fetch_olsrd_data(void);
 
 
 /*
@@ -103,13 +115,6 @@ my_fini()
 }
 
 
-int
-register_olsr_param(char *key, char *value)
-{
-  //if(!strcmp(key, "Ip6Net"
-  return 1;
-}
-
 
 /**
  *Register needed functions and pointers
index 4c8a507..724785f 100644 (file)
@@ -1,37 +1,43 @@
 
-
 /*
- * Copyright (c) 2004, Andreas Tønnesen(andreto-at-olsr.org)
+ * The olsr.org Optimized Link-State Routing daemon(olsrd)
+ * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
  * 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 the UniK olsr daemon nor the names of its contributors 
- *   may be used to endorse or promote products derived from this software 
- *   without specific prior written permission.
+ * * 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.
+ * 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.
  *
- */
-
-/*
- * Dynamic linked library example for UniK OLSRd
+ * 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.
+ *
+ * $Id: olsrd_plugin.h,v 1.7 2004/11/30 16:52:15 kattemat Exp $
  */
 
 #ifndef _OLSRD_PLUGIN_DEFS
@@ -124,7 +130,7 @@ olsr_ip_to_string(union olsr_ip_addr *);
 int (*olsr_plugin_io)(int, void *, size_t);
 
 /* Register a scheduled event */
-int (*olsr_register_scheduler_event)(void (*)(), void*, float, float, olsr_u8_t *);
+int (*olsr_register_scheduler_event)(void (*)(void), void*, float, float, olsr_u8_t *);
 
 /* olsrd printf wrapper */
 int (*olsr_printf)(int, char *, ...);
@@ -162,11 +168,11 @@ struct timeval     *now;       /* the olsrds schedulers idea of current time */
 
 /* Initialization function */
 int
-olsr_plugin_init();
+olsr_plugin_init(void);
 
 /* Destructor function */
 void
-olsr_plugin_exit();
+olsr_plugin_exit(void);
 
 /* Mulitpurpose funtion */
 int
@@ -176,6 +182,6 @@ int
 register_olsr_param(char *, char *);
 
 int 
-get_plugin_interface_version();
+get_plugin_interface_version(void);
 
 #endif
index efefc24..e07a746 100644 (file)
@@ -6,6 +6,7 @@
 #Alter this file to fit your needs
 
 CC ?= gcc
+STRIP ?= strip
 NAME ?= olsrd_power.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 # -fPIC creates position independent code
@@ -38,7 +39,7 @@ plugin: $(OBJS)
 
 
 install:
-       strip $(NAME)
+       $(STRIP) $(NAME)
        install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
        /sbin/ldconfig -n $(LIBDIR)
 
index 0aa765e..6a6389a 100644 (file)
@@ -6,6 +6,7 @@
 #Alter this file to fit your needs
 
 CC ?= gcc
+STRIP ?= strip
 NAME ?= olsrd_secure.so.0.4
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 # -fPIC creates position independent code
@@ -39,7 +40,7 @@ plugin: $(OBJS)
 
 
 install:
-#      strip $(NAME)
+       $(STRIP) $(NAME)
        install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
        /sbin/ldconfig -n $(LIBDIR)
 
index c05a7dd..1fb902e 100644 (file)
 # to the projcet. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.9 2004/11/21 17:10:27 tlopatic Exp $
-
-
+# $Id: Makefile,v 1.10 2004/11/30 16:52:16 kattemat Exp $
 
+CC ?=          gcc
+BISON ?=       bison
+FLEX ?=                flex
+CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes -g 
+LIBDIR ?=      $(INSTALL_PREFIX)/usr/lib
 
-#OS =          linux
-#OS =          fbsd
-#OS =          win32
-#OS =          osx
 
 ifeq ($(OS), win32)
 
@@ -57,29 +56,6 @@ PORT_OBJS =  ../win32/compat.o
 PORT_LIBS =    -lws2_32
 
 else
-ifeq ($(OS), linux)
-
-LIBNAME ?=     olsrd_cfgparser.so.0.1
-BINNAME ?=     olsrd_cfgparser
-
-PORT_CFLAGS =  -fPIC
-PORT_LDFLAGS = -Wl,--version-script=version-script.txt
-PORT_OBJS =
-PORT_LIBS =    -lm -lc
-
-else
-ifeq ($(OS), fbsd)
-
-LIBNAME ?=     olsrd_cfgparser.so.0.1
-BINNAME ?=     olsrd_cfgparser
-
-PORT_CFLAGS =  -fPIC
-PORT_LDFLAGS = -Wl,--version-script=version-script.txt
-PORT_OBJS =
-PORT_LIBS =    -lm -lc
-
-else
-ifeq ($(OS), osx)
 
 LIBNAME ?=     olsrd_cfgparser.so.0.1
 BINNAME ?=     olsrd_cfgparser
@@ -89,52 +65,44 @@ PORT_LDFLAGS =      -Wl,--version-script=version-script.txt
 PORT_OBJS =
 PORT_LIBS =    -lm -lc
 
-endif
-endif
-endif
 endif
 
-CC ?=          gcc
-OBJS =         olsrd_conf.o oparse.o oscan.o $(PORT_OBJS)
 
 ifdef MAKELIB
 
-LIBDIR ?=      $(PREFIX)/usr/lib
-LDFLAGS ?=     -shared -Wl,-soname,$(LIBNAME) $(PORT_LDFLAGS)
-CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes \
-               -g -DMAKELIB -I.. $(PORT_CFLAGS)
-LIBS ?=                $(PORT_LIBS)
-
+LDFLAGS +=     -shared -Wl,-soname,$(LIBNAME)
+CFLAGS +=      -DMAKELIB
 NAME =         $(LIBNAME)
 
 else 
+ifdef MAKEBIN
 
-LDFLAGS ?=     $(PORT_LDFLAGS)
-CFLAGS ?=      -Wall -Wmissing-prototypes -Wstrict-prototypes \
-               -g -DMAKEBIN -I.. $(PORT_CFLAGS)
-LIBS ?=                $(PORT_LIBS)
-
+CFLAGS +=      -DMAKEBIN 
 NAME =         $(BINNAME)
 
 endif
+endif
 
-BISON ?=       bison
-FLEX ?=                flex
 
-all:           clean $(NAME)
+OBJS =         olsrd_conf.o oparse.o oscan.o $(PORT_OBJS)
+LIBS +=                $(PORT_LIBS)
+CFLAGS +=      -I.. $(PORT_CFLAGS)
+LDFLAGS +=     $(PORT_LDFLAGS)
+
+
+all:           $(OBJS) $(NAME)
 
 $(NAME):       $(OBJS)
                $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
-               rm -f *.o
 
-oscan.c:       oscan.lex oparse.h olsrd_conf.h
+oscan.c:       oscan.lex
                $(FLEX) -ooscan.c oscan.lex
 
-oparse.h:      oparse.c
-
 oparse.c:      oparse.y olsrd_conf.h
                $(BISON) -d -ooparse.c oparse.y
 
+.PHONY: install clean uberclean
+
 install:
                install -D -m 755 $(NAME) $(LIBDIR)/$(NAME)
                /sbin/ldconfig -n $(LIBDIR)
@@ -143,3 +111,6 @@ clean:
                rm -f *.o
                rm -f $(LIBNAME)
                rm -f $(BINNAME)
+
+uberclean:     clean
+               rm -f oparse.c oparse.h oscan.c
index 81b5eae..5b30573 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_conf.h,v 1.11 2004/11/22 14:03:59 kattemat Exp $
+ * $Id: olsrd_conf.h,v 1.12 2004/11/30 16:52:16 kattemat Exp $
  */
 
 
@@ -44,7 +44,7 @@
 #define _OLSRD_CONF_H
 
 #include "olsr_protocol.h"
-#include "../olsr_cfg.h"
+#include "olsr_cfg.h"
 
 #define PARSER_VERSION "0.1.2"