Merge branch 'stable' into pud
authorFerry Huberts <f.huberts@mindef.nl>
Wed, 5 Oct 2011 14:42:34 +0000 (16:42 +0200)
committerFerry Huberts <f.huberts@mindef.nl>
Wed, 5 Oct 2011 14:42:34 +0000 (16:42 +0200)
* stable:
  Update version to pre-0.6.3
  Add changelog for 0.6.2
  Update version to 0.6.2
  Sanitize the kernel check function for linux
  3 != 2
  Fix Linux kernel version check for >= 3.x.x

CHANGELOG
Makefile
gui/win32/Inst/installer.nsi
gui/win32/Main/Frontend.rc
src/linux/net.c

index c55f12a..dde59c8 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,17 @@
 This file states changes as of version 0.2.4:
 
+0.6.2 --------------------------------------------------------------------
+
+Bugfix release for 0.6.1
+
+- Compatibility for Linux kernel 3.x
+- Lots of small fixes
+- reworked makefile output
+- updates for some plugins
+- repair for Smartgateway feature
+
+Read GIT changelog at http://olsr.org/git to see a complete history.
+
 0.6.1 --------------------------------------------------------------------
 
 Bugfix release for 0.6.0
index 8dcb4fb..c3ffb17 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -39,7 +39,7 @@
 # Please also write a new version to:
 # gui/win32/Main/Frontend.rc (line 71, around "CAPTION [...]")
 # gui/win32/Inst/installer.nsi (line 57, around "MessageBox MB_YESNO [...]")
-VERS =         pre-0.6.2
+VERS =         pre-0.6.3
 
 TOPDIR = .
 include Makefile.inc
index ff39ffd..e2773fc 100644 (file)
@@ -54,7 +54,7 @@ UninstPage uninstConfirm
 UninstPage instfiles
 
 Function .onInit
-        MessageBox MB_YESNO "This will install olsr.org pre-0.6.2 on your computer. Continue?" IDYES NoAbort
+        MessageBox MB_YESNO "This will install olsr.org pre-0.6.3 on your computer. Continue?" IDYES NoAbort
         Abort
 NoAbort:
 FunctionEnd
index f8a339d..4af8085 100644 (file)
@@ -68,7 +68,7 @@ IDD_FRONTEND_DIALOG DIALOGEX 0, 0, 399, 289
 STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
     WS_SYSMENU\r
 EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "olsr.org Switch pre-0.6.2"\r
+CAPTION "olsr.org Switch pre-0.6.3"\r
 FONT 8, "MS Sans Serif", 0, 0, 0x1\r
 BEGIN\r
     CONTROL         "Tab1",IDC_TAB1,"SysTabControl32",0x0,7,7,383,256\r
index 8074401..4ff24f4 100644 (file)
  */
 
 /*
- * Linux spesific code
+ * Linux specific code
  */
 
+#define __BSD_SOURCE 1
+
 #include "../net_os.h"
 #include "../ipcalc.h"
 #include "../olsr.h"
@@ -163,6 +165,8 @@ static int writeToProc(const char *file, char *old, char value) {
 
 static bool is_at_least_linuxkernel_2_6_31(void) {
   struct utsname uts;
+  char *next;
+  int first = 0, second = 0, third = 0;
 
   memset(&uts, 0, sizeof(uts));
   if (uname(&uts)) {
@@ -170,10 +174,29 @@ static bool is_at_least_linuxkernel_2_6_31(void) {
     return false;
   }
 
-  if (strncmp(uts.release, "2.6.",4) != 0) {
-    return false;
+  first = strtol(uts.release, &next, 10);
+  /* check for linux 3.x */
+  if (first >= 3) {
+    return true;
+  }
+
+  if (*next != '.') {
+    goto kernel_parse_error;
   }
-  return atoi(&uts.release[4]) >= 31;
+
+  second = strtol(next+1, &next, 10);
+  if (*next != '.') {
+    goto kernel_parse_error;
+  }
+
+  third = strtol(next+1, NULL, 10);
+
+  /* better or equal than linux 2.6.31 ? */
+  return first == 2 && second == 6 && third >= 31;
+
+kernel_parse_error:
+  OLSR_PRINTF(1, "Error, cannot parse kernel version: %s\n", uts.release);
+  return false;
 }
 
 /**