[X2Go-Commits] [nx-libs] 04/14: Allow version 4-digit version comparison/handshake (400_nxcomp-version.full+lite.patch).

git-admin at x2go.org git-admin at x2go.org
Fri Feb 13 13:59:10 CET 2015


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch 3.6.x
in repository nx-libs.

commit d4d3fe0e6e77a58e68defc5895a589a681d7d092
Author: Nito Martinez <Nito at Qindel.ES>
Date:   Fri Feb 13 13:26:27 2015 +0100

    Allow version 4-digit version comparison/handshake (400_nxcomp-version.full+lite.patch).
---
 debian/patches/400_nxcomp-version.full+lite.patch |  240 ---------------------
 debian/patches/series                             |    1 -
 nxcomp/Control.cpp                                |   40 +---
 nxcomp/Control.h                                  |    9 +
 nxcomp/Loop.cpp                                   |    3 +-
 nxcomp/Makefile.in                                |    3 +-
 nxcomp/NX.h                                       |    6 +
 7 files changed, 26 insertions(+), 276 deletions(-)

diff --git a/debian/patches/400_nxcomp-version.full+lite.patch b/debian/patches/400_nxcomp-version.full+lite.patch
deleted file mode 100644
index 703cec8..0000000
--- a/debian/patches/400_nxcomp-version.full+lite.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-Description: Allow version 4-digit version comparison/handshake
-Author: Nito Martinez <Nito at Qindel.ES>
---- a/nxcomp/Control.cpp
-+++ b/nxcomp/Control.cpp
-@@ -15,6 +15,7 @@
- /*                                                                        */
- /**************************************************************************/
- 
-+#include "NX.h"
- #include "NXpack.h"
- 
- #include "Control.h"
-@@ -594,44 +595,17 @@
-   RemoteVersionMajor = -1;
-   RemoteVersionMinor = -1;
-   RemoteVersionPatch = -1;
-+  RemoteVersionMaintenancePatch = -1;
- 
-   CompatVersionMajor = -1;
-   CompatVersionMinor = -1;
-   CompatVersionPatch = -1;
-+  CompatVersionMaintenancePatch = -1;
- 
--  char version[32];
--
--  strcpy(version, VERSION);
--
--  char *value;
--
--  value = strtok(version, ".");
--
--  for (int i = 0; value != NULL && i < 3; i++)
--  {
--    switch (i)
--    {
--      case 0:
--
--        LocalVersionMajor = atoi(value);
--
--        break;
--
--      case 1:
--
--        LocalVersionMinor = atoi(value);
--
--        break;
--
--      case 2:
--
--        LocalVersionPatch = atoi(value);
--
--        break;
--    }
--
--    value = strtok(NULL, ".");
--  }
-+  LocalVersionMajor = NXMajorVersion();
-+  LocalVersionMinor = NXMinorVersion();
-+  LocalVersionPatch = NXPatchVersion();
-+  LocalVersionMaintenancePatch = NXMaintenancePatchVersion();
- 
-   #ifdef TEST
-   *logofs << "Control: Major version is " << LocalVersionMajor
---- a/nxcomp/Control.h
-+++ b/nxcomp/Control.h
-@@ -299,17 +299,26 @@
-   // Version number of local and remote proxy.
-   //
- 
-+  /* 
-+   * LocalVersionMaintenancePatch, RemoteVersionMaintenancePatch
-+   * CompatVersionMaintenancePatch
-+   *
-+   * currently not used, for future compatibility checks
-+   */
-   int LocalVersionMajor;
-   int LocalVersionMinor;
-   int LocalVersionPatch;
-+  int LocalVersionMaintenancePatch;
- 
-   int RemoteVersionMajor;
-   int RemoteVersionMinor;
-   int RemoteVersionPatch;
-+  int RemoteVersionMaintenancePatch;
- 
-   int CompatVersionMajor;
-   int CompatVersionMinor;
-   int CompatVersionPatch;
-+  int CompatVersionMaintenancePatch;
- 
-   //
-   // Which unpack methods are implemented in proxy?
---- a/nxcomp/Loop.cpp
-+++ b/nxcomp/Loop.cpp
-@@ -14250,7 +14250,8 @@
-   cerr << "NXPROXY - " << "Version "
-        << control -> LocalVersionMajor << "."
-        << control -> LocalVersionMinor << "."
--       << control -> LocalVersionPatch;
-+       << control -> LocalVersionPatch << "."
-+       << control -> LocalVersionMaintenancePatch;
- 
-   cerr << endl;
- }
---- a/nxcomp/Makefile.in
-+++ b/nxcomp/Makefile.in
-@@ -105,7 +105,8 @@
- 
- CSRC   = MD5.c					\
- 	 Pack.c					\
--         Vars.c
-+	 Vars.c					\
-+	 Version.c
- 
- CXXSRC = Loop.cpp 				\
- 	 Children.cpp				\
---- a/nxcomp/NX.h
-+++ b/nxcomp/NX.h
-@@ -442,6 +442,12 @@
- 
- extern void NXTransCleanup(void) __attribute__((noreturn));
- 
-+extern const char* NXVersion();
-+extern int NXMajorVersion();
-+extern int NXMinorVersion();
-+extern int NXPatchVersion();
-+extern int NXMaintenancePatchVersion();
-+
- #ifdef __cplusplus
- }
- #endif
---- /dev/null
-+++ b/nxcomp/Version.c
-@@ -0,0 +1,106 @@
-+/**************************************************************************/
-+/*                                                                        */
-+/* Copyright (C) 2014 Qindel http://qindel.com and QVD http://theqvd.com  */
-+/*                                                                        */
-+/* This program 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 3 of the License, or (at  */
-+/* your option) any later version.                                        */
-+/*                                                                        */
-+/* This program 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.                   */
-+/*                                                                        */
-+/* You should have received a copy of the GNU General Public License      */
-+/* along with this program; if not, see <http://www.gnu.org/licenses>.    */
-+/*                                                                        */
-+/* Additional permission under GNU GPL version 3 section 7                */
-+/*                                                                        */
-+/* If you modify this Program, or any covered work, by linking or         */
-+/* combining it with [name of library] (or a modified version of that     */
-+/* library), containing parts covered by the terms of [name of library's  */
-+/* license], the licensors of this Program grant you additional           */
-+/* permission to convey the resulting work. {Corresponding Source for a   */
-+/* non-source form of such a combination shall include the source code    */
-+/* for the parts of [name of library] used as well as that of the covered */
-+/* work.}                                                                 */
-+/*                                                                        */
-+/*                                                                        */
-+/**************************************************************************/
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include "NX.h"
-+
-+
-+static int _NXVersionMajor = -1;
-+static int _NXVersionMinor = -1;
-+static int _NXVersionPatch = -1;
-+static int _NXVersionMaintenancePatch = -1;
-+
-+
-+const char* NXVersion() {
-+  const char *version = VERSION;
-+  return version;
-+}
-+
-+void _parseNXVersion() {
-+  char version[32];
-+  int i;
-+  strcpy(version, VERSION);
-+
-+  char *value;
-+  /* Reset values to 0 if undefined */
-+  _NXVersionMajor = _NXVersionMinor = _NXVersionPatch = _NXVersionMaintenancePatch = 0;
-+
-+
-+#define NXVERSIONSEPARATOR "."
-+  value = strtok(version, NXVERSIONSEPARATOR);
-+
-+  for (i = 0; value != NULL && i < 4; i++)
-+  {
-+    switch (i)
-+    {
-+      case 0:
-+        _NXVersionMajor = atoi(value);
-+        break;
-+
-+      case 1:
-+        _NXVersionMinor = atoi(value);
-+        break;
-+
-+      case 2:
-+        _NXVersionPatch = atoi(value);
-+        break;
-+
-+      case 3:
-+        _NXVersionMaintenancePatch = atoi(value);
-+        break;
-+    }
-+
-+    value = strtok(NULL, NXVERSIONSEPARATOR);
-+  }
-+}
-+
-+int NXMajorVersion() {
-+  if (_NXVersionMajor == -1)
-+    _parseNXVersion();
-+  return _NXVersionMajor;
-+}
-+int NXMinorVersion() {
-+  if (_NXVersionMinor == -1)
-+    _parseNXVersion();
-+  return _NXVersionMinor;
-+}
-+int NXPatchVersion() {
-+  if (_NXVersionPatch == -1)
-+    _parseNXVersion();
-+  return _NXVersionPatch;
-+}
-+int NXMaintenancePatchVersion() {
-+  if (_NXVersionMaintenancePatch == -1)
-+    _parseNXVersion();
-+  return _NXVersionMaintenancePatch;
-+}
diff --git a/debian/patches/series b/debian/patches/series
index 86575ec..b00553e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,3 @@
-400_nxcomp-version.full+lite.patch
 #401_nxcomp_bigrequests-and-genericevent-extensions.full+lite.patch
 600_nx-X11+nxcompext+nxcompshad_unique-libnames.full.patch
 601_nx-X11_build-option-changes-to-not-use-bundled-libraries.full.patch
diff --git a/nxcomp/Control.cpp b/nxcomp/Control.cpp
index ce99567..0626542 100644
--- a/nxcomp/Control.cpp
+++ b/nxcomp/Control.cpp
@@ -15,6 +15,7 @@
 /*                                                                        */
 /**************************************************************************/
 
+#include "NX.h"
 #include "NXpack.h"
 
 #include "Control.h"
@@ -594,44 +595,17 @@ Control::Control()
   RemoteVersionMajor = -1;
   RemoteVersionMinor = -1;
   RemoteVersionPatch = -1;
+  RemoteVersionMaintenancePatch = -1;
 
   CompatVersionMajor = -1;
   CompatVersionMinor = -1;
   CompatVersionPatch = -1;
+  CompatVersionMaintenancePatch = -1;
 
-  char version[32];
-
-  strcpy(version, VERSION);
-
-  char *value;
-
-  value = strtok(version, ".");
-
-  for (int i = 0; value != NULL && i < 3; i++)
-  {
-    switch (i)
-    {
-      case 0:
-
-        LocalVersionMajor = atoi(value);
-
-        break;
-
-      case 1:
-
-        LocalVersionMinor = atoi(value);
-
-        break;
-
-      case 2:
-
-        LocalVersionPatch = atoi(value);
-
-        break;
-    }
-
-    value = strtok(NULL, ".");
-  }
+  LocalVersionMajor = NXMajorVersion();
+  LocalVersionMinor = NXMinorVersion();
+  LocalVersionPatch = NXPatchVersion();
+  LocalVersionMaintenancePatch = NXMaintenancePatchVersion();
 
   #ifdef TEST
   *logofs << "Control: Major version is " << LocalVersionMajor
diff --git a/nxcomp/Control.h b/nxcomp/Control.h
index c214775..71f357c 100644
--- a/nxcomp/Control.h
+++ b/nxcomp/Control.h
@@ -299,17 +299,26 @@ class Control
   // Version number of local and remote proxy.
   //
 
+  /* 
+   * LocalVersionMaintenancePatch, RemoteVersionMaintenancePatch
+   * CompatVersionMaintenancePatch
+   *
+   * currently not used, for future compatibility checks
+   */
   int LocalVersionMajor;
   int LocalVersionMinor;
   int LocalVersionPatch;
+  int LocalVersionMaintenancePatch;
 
   int RemoteVersionMajor;
   int RemoteVersionMinor;
   int RemoteVersionPatch;
+  int RemoteVersionMaintenancePatch;
 
   int CompatVersionMajor;
   int CompatVersionMinor;
   int CompatVersionPatch;
+  int CompatVersionMaintenancePatch;
 
   //
   // Which unpack methods are implemented in proxy?
diff --git a/nxcomp/Loop.cpp b/nxcomp/Loop.cpp
index 77b0c80..c8c95bd 100644
--- a/nxcomp/Loop.cpp
+++ b/nxcomp/Loop.cpp
@@ -14250,7 +14250,8 @@ void PrintVersionInfo()
   cerr << "NXPROXY - " << "Version "
        << control -> LocalVersionMajor << "."
        << control -> LocalVersionMinor << "."
-       << control -> LocalVersionPatch;
+       << control -> LocalVersionPatch << "."
+       << control -> LocalVersionMaintenancePatch;
 
   cerr << endl;
 }
diff --git a/nxcomp/Makefile.in b/nxcomp/Makefile.in
index 1be9281..93bb0b3 100644
--- a/nxcomp/Makefile.in
+++ b/nxcomp/Makefile.in
@@ -105,7 +105,8 @@ MSRC   =
 
 CSRC   = MD5.c					\
 	 Pack.c					\
-         Vars.c
+	 Vars.c					\
+	 Version.c
 
 CXXSRC = Loop.cpp 				\
 	 Children.cpp				\
diff --git a/nxcomp/NX.h b/nxcomp/NX.h
index d98af79..2dbf686 100644
--- a/nxcomp/NX.h
+++ b/nxcomp/NX.h
@@ -442,6 +442,12 @@ extern int NXTransParseEnvironment(const char *env, int force);
 
 extern void NXTransCleanup(void) __attribute__((noreturn));
 
+extern const char* NXVersion();
+extern int NXMajorVersion();
+extern int NXMinorVersion();
+extern int NXPatchVersion();
+extern int NXMaintenancePatchVersion();
+
 #ifdef __cplusplus
 }
 #endif

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list