Sanity check LQ configuration.
authorThomas Lopatic <thomas@lopatic.de>
Sun, 21 Nov 2004 00:50:54 +0000 (00:50 +0000)
committerThomas Lopatic <thomas@lopatic.de>
Sun, 21 Nov 2004 00:50:54 +0000 (00:50 +0000)
gui/win32/Frontend.ncb
gui/win32/Frontend.opt
gui/win32/Main/olsrd_cfgparser.lib
src/cfgparser/link.def
src/cfgparser/olsrd_conf.c
src/cfgparser/version-script.txt
src/olsr_cfg.h

index b9756f3..7d227b2 100644 (file)
Binary files a/gui/win32/Frontend.ncb and b/gui/win32/Frontend.ncb differ
index f65322d..8d7904a 100644 (file)
Binary files a/gui/win32/Frontend.opt and b/gui/win32/Frontend.opt differ
index 885cc05..b1900b9 100755 (executable)
Binary files a/gui/win32/Main/olsrd_cfgparser.lib and b/gui/win32/Main/olsrd_cfgparser.lib differ
index 9780ed3..59583df 100644 (file)
@@ -7,4 +7,4 @@ EXPORTS
        olsrd_get_default_cnf
        olsrd_cnf_malloc
        olsrd_cnf_free
-
+        olsrd_sanity_check_cnf
index 7ff4969..b839b61 100644 (file)
@@ -36,7 +36,7 @@
  * to the projcet. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_conf.c,v 1.25 2004/11/20 23:56:19 kattemat Exp $
+ * $Id: olsrd_conf.c,v 1.26 2004/11/21 00:50:54 tlopatic Exp $
  */
 
 
@@ -286,6 +286,22 @@ olsrd_sanity_check_cnf(struct olsrd_config *cnf)
       return -1;
     }
 
+  /* Link quality window size */
+
+  if (cnf->lq_wsize < MIN_LQ_WSIZE || cnf->lq_wsize > MAX_LQ_WSIZE)
+    {
+      fprintf(stderr, "LQ window size %d is not allowed\n", cnf->lq_wsize);
+      return -1;
+    }
+
+  /* Link quality level */
+
+  if (cnf->lq_level > MAX_LQ_LEVEL)
+    {
+      fprintf(stderr, "LQ level %d is not allowed\n", cnf->lq_level);
+      return -1;
+    }
+
   if(in == NULL)
     {
       fprintf(stderr, "No interfaces configured!\n");
index 386b5a1..0c4aac1 100644 (file)
@@ -9,6 +9,7 @@ VERS_1.0
     olsrd_get_default_cnf;
     olsrd_cnf_malloc;
     olsrd_cnf_free;
+    olsrd_sanity_check_cnf;
   local:
     *;
 };
index dc8966a..6380cd6 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: olsr_cfg.h,v 1.14 2004/11/20 22:51:23 tlopatic Exp $
+ * $Id: olsr_cfg.h,v 1.15 2004/11/21 00:50:54 tlopatic Exp $
  *
  */
 
 #define MIN_TC_REDUNDANCY   0
 #define MAX_HYST_PARAM      1.0
 #define MIN_HYST_PARAM      0.0
-
+#define MAX_LQ_LEVEL        2
+#define MIN_LQ_LEVEL        0
+#define MAX_LQ_WSIZE        128
+#define MIN_LQ_WSIZE        3
 
 #ifndef IPV6_ADDR_SITELOCAL
 #define IPV6_ADDR_SITELOCAL    0x0040U