Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
d4d3fe0e
Commit
d4d3fe0e
authored
Feb 13, 2015
by
Nito Martinez
Committed by
Mike Gabriel
Feb 13, 2015
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow version 4-digit version comparison/handshake (400_nxcomp-version.full+lite.patch).
parent
fea8fb5a
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
26 additions
and
276 deletions
+26
-276
400_nxcomp-version.full+lite.patch
debian/patches/400_nxcomp-version.full+lite.patch
+0
-240
series
debian/patches/series
+0
-1
Control.cpp
nxcomp/Control.cpp
+7
-33
Control.h
nxcomp/Control.h
+9
-0
Loop.cpp
nxcomp/Loop.cpp
+2
-1
Makefile.in
nxcomp/Makefile.in
+2
-1
NX.h
nxcomp/NX.h
+6
-0
No files found.
debian/patches/400_nxcomp-version.full+lite.patch
deleted
100644 → 0
View file @
fea8fb5a
Description: Allow version 4-digit version comparison/handshake
Author: Nito Martinez <Nito@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;
+}
debian/patches/series
View file @
d4d3fe0e
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
...
...
nxcomp/Control.cpp
View file @
d4d3fe0e
...
...
@@ -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
...
...
nxcomp/Control.h
View file @
d4d3fe0e
...
...
@@ -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?
...
...
nxcomp/Loop.cpp
View file @
d4d3fe0e
...
...
@@ -14250,7 +14250,8 @@ void PrintVersionInfo()
cerr
<<
"NXPROXY - "
<<
"Version "
<<
control
->
LocalVersionMajor
<<
"."
<<
control
->
LocalVersionMinor
<<
"."
<<
control
->
LocalVersionPatch
;
<<
control
->
LocalVersionPatch
<<
"."
<<
control
->
LocalVersionMaintenancePatch
;
cerr
<<
endl
;
}
...
...
nxcomp/Makefile.in
View file @
d4d3fe0e
...
...
@@ -105,7 +105,8 @@ MSRC =
CSRC
=
MD5.c
\
Pack.c
\
Vars.c
Vars.c
\
Version.c
CXXSRC
=
Loop.cpp
\
Children.cpp
\
...
...
nxcomp/NX.h
View file @
d4d3fe0e
...
...
@@ -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
...
...
dimbor
@dimbor
mentioned in commit
82345051
·
Jan 26, 2018
mentioned in commit
82345051
mentioned in commit 823450515591369d1899e85ab86a8780ed3d995b
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment