aboutsummaryrefslogtreecommitdiff
path: root/nxcomp
Commit message (Collapse)AuthorAgeFilesLines
* OPTFLAGS: Properly propagate build option flags to nxcomp{,ext,shad} and the ↵Mike Gabriel2016-07-012-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nx-X11 build scripts. Note: - The "normal" way to inject CFLAGS (and CPPFLAGS) into nx-X11 builds is copying those options over into the variable CDEBUGFLAGS. - LDFLAGS have to be handed to nx-X11 via LOCAL_LDFLAGS. This change also includes a slight change in the nx-X11 build order. Old build order: Main Makefile: - [...] - libNX_X11 + implicitly building nxcomp + implicitly building nxcompext - [...] - nxagent + implicitly building nxcompshad - [...] New build ordner: Main Makefile: - [...] - nxcomp - setup nx-X11 build env + cd nx-X11 && make BuildEnv - nx-X11/lib/* - nxcompext - nxcompshad - [...] - nxagent - [...] Fixes ArcticaProject/nx-libs#141 Fixes X2GoBTS#84
* nx-X11/config/{imake,makedepend}: Use system-wide available imake and ↵Mike Gabriel2016-06-301-10/+0
| | | | makedepend tools.
* {nx-X11/programs/Xserver/hw/nxagent/{{Args,Handlers,Image,Options}.c,Options ↵Mihai Moldovan2016-06-172-2/+4
| | | | .h},nxcomp/{Loop,Misc}.cpp}: add configurable sleep delay if session is suspended.
* nx-X11/programs/Xserver: Include nxcomp{,ext,shad} headers like one would do ↵Mike Gabriel2016-06-131-1/+1
| | | | with system-wide shared libraries.
* nxcomp/Makefile.in: Only install MD5.h, NX.h, NXalert.h, NXpack.h, NXproto.h ↵Mike Gabriel2016-06-131-3/+5
| | | | | | | and NXvars.h as publicly available header files. * Also adapt debian/libxcomp-dev.install.in accordingly. * Also adapt nx-libs.spec accordingly.
* Fix debugging function for Loop.cpp. getDebugSpec was replaced by << operand ↵Nito Martinez2016-05-311-6/+6
| | | | in ChannelEndPoint.{h|cpp}, fixes #130
* display version number in nxcomp log, fixes #127Nito Martinez2016-05-312-3/+2
|
* Provide support for channel endpoints being UNIX file sockets in addition to ↵Salvador Fandino2016-04-2710-315/+634
| | | | being TCP/IP sockets.
* nxcomp: Rephrase comment in previous commit.Mike Gabriel2016-04-271-3/+3
|
* Clean up compiler warnings in nxcompFernando Carvajal2016-04-275-61/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes several warnings in nxcomp related to unused but set variables. It also replaces tempnam function with the more secure one mkstemp and there has been removed another warning related to setgid and setuid returning values not being checked. So these were the compiler warnings in nxcomp that have been fixed: Loop.cpp: In function ‘int ParseRemoteOptions(char*)’: Loop.cpp:9423:7: warning: variable ‘hasLimit’ set but not used [-Wunused-but-set-variable] int hasLimit = 0; ^ Loop.cpp:9424:7: warning: variable ‘hasRender’ set but not used [-Wunused-but-set-variable] int hasRender = 0; ^ Loop.cpp:9425:7: warning: variable ‘hasTaint’ set but not used [-Wunused-but-set-variable] int hasTaint = 0; ^ Loop.cpp:9427:7: warning: variable ‘hasStrict’ set but not used [-Wunused-but-set-variable] int hasStrict = 0; ^ Loop.cpp:9428:7: warning: variable ‘hasShseg’ set but not used [-Wunused-but-set-variable] int hasShseg = 0; ^ ServerChannel.cpp: In member function ‘virtual int ServerChannel::handleWrite(const unsigned char*, unsigned int)’: ServerChannel.cpp:2132:9: warning: variable ‘hit’ set but not used [-Wunused-but-set-variable] int hit; ^ Proxy.o: In function `Proxy::handleSaveAllStores(char const*) const': Proxy.cpp:(.text+0x2cac): warning: the use of `tempnam' is dangerous, better use `mkstemp' Pipe.cpp: In function ‘FILE* Popen(char* const*, const char*)’: Pipe.cpp:240:23: warning: ignoring return value of ‘int setgid(__gid_t)’, declared with attribute warn_unused_result [-Wunused-result] setgid(getgid()); ^ Pipe.cpp:241:23: warning: ignoring return value of ‘int setuid(__uid_t)’, declared with attribute warn_unused_result [-Wunused-result] setuid(getuid()); ^ There was also a hidden problem in the way Proxy::handleSaveAllStores was checking for an error in the returning value from the call to the virtual method handleSaveAllStores of the specific proxy class really being used (ClientProxy or ServerProxy). Former code was considering the value 0 as the returning value in case of an error whereas both subclasses return the value -1 when there is an error in their handleSaveAllStores method. This bug has been fixed in this commit taking advantage of the modification that was already being made to this method in order to replace tempnam function with the more secure one mkstemp. Fixes: ArcticaProject/nx-libs#103
* Fix copyright notice in nxcomp/Version.cSalvador Fandino2016-04-201-19/+10
| | | | | | It was GPL3 instead of GPL2! Fixes ArcticaProject/nx-libs#112
* Remove TextCompressor class and files from nxcompFernando Carvajal2016-04-157-143/+0
| | | | | | | | | | | | This commit removes TextCompressor class references from ClientCache and ServerCache as it's no longer used after removing old protocol's compatibility code from nxcomp. It also removes the attribute textCache from both classes as it's no longer used either. Finally the header and source files associated with the TextCompressor class are also deleted and removed from the compilation process. Refs: ArcticaProject/nx-libs#108
* Remove obsolete compatibility files from nxcompFernando Carvajal2016-04-1225-3960/+1
| | | | | | | | This commit removes obsolete compatibility files whose components were only used to handle compatibility with old protocol versions that are no longer supported. Refs: ArcticaProject/nx-libs#108
* Remove compatibility code for nxcomp before 3.5.0Fernando Carvajal2016-04-1258-2492/+649
| | | | | | | | | | | | | | As a part of nxcomp's clean-up process, compatibility with old protocol versions has been set now at 3.5.0. This commit removes compatibility code from nxcomp so the minimum supported version changes from 1.5.0 (protocol step 6) to 3.5.0 (protocol step 10). At this moment the removal is not complete and it will be followed by some other commits, in order to get rid of several components and files that are no longer used as they were only needed to work with old protocol versions. Refs: ArcticaProject/nx-libs#108
* nxcomp: Properly define NX*Version(void) prototypes in NX.h.Mike Gabriel2016-03-221-5/+5
| | | | Fixes ArcticaProject/nx-libs#104
* Rename file for windows environments, Fixes #96Nito Martinez2016-03-021-1/+1
|
* nxcomp: Make nxcomp/nxproxy aware of nxagent's xinerama option in the ↵Mike Gabriel2015-12-301-1/+2
| | | | $DISPLAY variable.
* Provide support for re-enabling Xinerama on session resumptions.Mike Gabriel2015-12-301-0/+1
| | | | | | | | | | | | | | By design, when resuming a session, Xinerama can only be re-enabled by NX option parsing. Thus, this change introduces a "xinerama" NX option that can be loaded via an options file into NX agent when resuming a session. The new xinerame NX session option also allows switching on Xinerama at session startup via an option file. When implementing the new NX Xinerama support into clients (like TheQVD, X2Go Client, etc., this new xinerama NX option should be used for activating Xinerama in the NX / QVD / X2Go session.
* Merge pull request #64 from uli42/pr/add_pkgconfigMike Gabriel2015-09-281-0/+2
|\ | | | | Various fixes for pkgconfig file creation.
| * Fix "Makefile.in seems to ignore the --datarootdir setting" warningUlrich Sibiller2015-08-261-0/+2
| |
| * create pkgcnfig dir before copying anythingUlrich Sibiller2015-08-261-0/+1
| |
* | nxcomp{,ext,shad}/Makefile.in: Create pkgconfigdir before putting files in it.Mike Gabriel2015-07-141-0/+1
| |
* | nxcomp{,shad,ext}: Remove nxcomp*.pc file on clean and distclean.Mike Gabriel2015-07-141-1/+1
|/
* Add pkg-config support to nxcomp, nxcompext and nxcompshadUlrich Sibiller2015-07-123-9/+30
|
* nxcomp/Loop.cpp: tiny whitespace fix. No functional change.Mihai Moldovan2015-06-161-1/+1
|
* Merge pull request #28 from theqvd/3.6.xMike Gabriel2015-06-161-1/+37
|\ | | | | Fix negotiation in stage 10 error.
| * Fix negotiation in stage 10 errorVadim Troshchinskiy2015-05-201-1/+37
| | | | | | | | | | Problem fixed by adding a select() call to implement a timeout, and retrying writes if needed.
* | nxcomp/README.on-retroactive-DXPC-license: Some layout and interpunctuation ↵Mike Gabriel2015-05-291-1/+1
| | | | | | | | fixes.
* | nxcomp/Misc.cpp: fix build failure introduced in ↵Mihai Moldovan2015-05-281-3/+3
| | | | | | | | 1f44331574bdbe4069d13e4c26df18094b49e658.
* | Document retroactive re-licensing of the original DXPC code (closes #30).Mike Gabriel2015-05-263-6/+328
|/ | | | | | | | | | | * Update nxcomp/LICENSE. * Add nxcomp/README.on-retroactive-DXPC-license, giving a short overview of the flow of discussions * Add "modified or unmodified" to the license information printed out to stdout in nxcomp/Misc.cpp * Fix copyright year (2006->2003) for Gian Filippo Pinzari (and move him to the GPL-2 section). * Add the complete .mbox file of Debian bug #748565.
* Merge pull request #26 from nitomartinez/fix_developer_debuggingMike Gabriel2015-05-163-3/+3
|\ | | | | This patch is some code fixes to allow developer debuging by using TEST macros in the NX code
| * This patch is some code fixes to debug some debuging macro usage in the NX code.Nito Martinez2015-05-153-3/+3
| | | | | | | | Particularly the following macros have been tested -DTEST -DDEBUG -DDUMP -DFLUSH -DTOKEN -DSPLIT -DPING -DMIXED -DMATCH -DTIME
* | This patch allows to cleanup the nxcomp resources to allow for a second ↵Nito Martinez2015-05-153-0/+36
|/ | | | | | | | | | | | | | | connection inside the same process, instead of a new process as is the nxproxy case. This involves creating a new API call void NXTransCleanupForReconnect(void); which basically cleans up the global state for the connection but does not exit the process. Background ========== This is needed for the IOS platform, where the nxproxy model of forking does not work. Also NX handles most of the errors with an "exit" call which in IOS cannot be easily handled.
* nxcomp{,ext,shad}: only use the first three numbers in the full version for ↵Mihai Moldovan2015-03-261-1/+2
| | | | current_version on OS X. ld(1) on 10.6 fails otherwise.
* nx{comp{,ext,shad},proxy}: try really hard to find makedepend. Do not fail ↵Mihai Moldovan2015-03-162-2/+12
| | | | if it is not available.
* nxcomp{,ext,shad}: use the correct library naming scheme on OS X. It differs ↵Clemens Lang2015-03-151-7/+15
| | | | from other UNIX-based systems.
* nxcomp{,shad}: fix dynamic library linking on OS X. Use -dynamiclib instead ↵Clemens Lang2015-03-151-2/+2
| | | | of -bundle.
* nx{comp{,ext,shad},proxy}: use path discovery for finding makedepend. Remove ↵Clemens Lang2015-03-151-14/+1
| | | | old cruft.
* VERSION file: master VERSION file is in base folder, symlinked from ↵Mike Gabriel2015-02-141-1/+1
| | | | | | | | | | | | | | | | | | nx*/VERSION and hw/nxagent/VERSION. This commit removes the debian/VERSION file at makes it now unnecessary to copy/symlink the VERSION file at build time. These build scripts got adapted: debian/roll-tarballs.sh debian/rules nx-libs.spec Furthermore, all NX component now use the main VERSION file as reference. typechange: nxcomp/VERSION typechange: nxcompext/VERSION typechange: nxcompshad/VERSION typechange: nxproxy/VERSION
* nxcomp: Add Version.c file. Fix for commit ↵Mike Gabriel2015-02-141-0/+106
| | | | d4d3fe0e6e77a58e68defc5895a589a681d7d092.
* Fix several typos in nxcomp.Mike Gabriel2015-02-138-9/+9
| | | | | | Former patch file names: 991_fix-hr-typos.full+lite.patch 991_fix-hr-typos.full.patch
* Detection for Mac OS X's launchd service on Mac OS X 10.10 and beyond ↵Mike Gabriel2015-02-131-1/+1
| | | | (607_nxcomp_macosx-X11-launcher-in-private-tmp.full+lite.patch).
* In Types.h, don't use STL internals on libc++ ↵Clemens Lang2015-02-131-0/+8
| | | | | | | | | | | | | | | | | (605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch). The nx-libs-lite package does not compile on OS X Mavericks because Apple's clang compilers now default to compiling against the libc++ STL rather than (their outdated copy of) libstdc++. While the compiler still allows changing that, we should not rely on this being possible forever. The compiler chokes in Types.h, specifically the clear() methods in subclasses of vectors that use implementation details of the GNU STL. The attached patch fixes these compilation issues by not overriding the clear() method when compiling against libc++, since the libc++ headers seem to do essentially the same as the overriden method.
* Be compliant with POS36-C: Observe correct revocation order while ↵Orion Poplawski2015-02-131-0/+3
| | | | | | | | | | | | | | | | relinquishing privileges (602_nx-X11_initgroups.full.patch). The Fedora review of NX (redistributed) caught the following rpmlint issue: This executable is calling setuid and setgid without setgroups or initgroups. There is a high probability this mean it didn't relinquish all groups, and this would be a potential security issue to be fixed. Seek POS36-C on the web for details about the problem. Ref POS36-C: https://www.securecoding.cert.org/confluence/display/seccode/POS36-C.+Observe+correct+revocation+order+while+relinquishing+privileges This patch adds initgroups() calls to the code to initialize the supplemental group list.
* Allow version 4-digit version comparison/handshake ↵Nito Martinez2015-02-135-35/+26
| | | | (400_nxcomp-version.full+lite.patch).
* Force NX proxy to bind to loopback devices only (loopback option) ↵Mike Gabriel2015-02-103-4/+55
| | | | (220_nxproxy_bind-loopback-only.full+lite.patch).
* Fix FTBFS of nxproxy/nxcomp on Android ↵Nito Martinez2015-02-105-13/+64
| | | | (212_nxcomp_build-on-Android.full+lite.patch).
* Set default pack and link options to avoid damage of session ↵Oleksandr Shneyder2015-02-101-4/+4
| | | | (211_nxcomp_set_default_options.full+lite.patch).
* Save session state in file.Oleksandr Shneyder2015-02-101-1/+2
| | | | | | | | | 210_nxagent_save_session_state.full.patch 210_nxcomp_save_session_state.full+lite.patch This patch adds a "state" option to NX (agent) which allows one to specify a file where nxagent will write its session state into.
* Fix nxauth location on Mac OS X 10 ↵Mihai Moldovan2015-02-091-4/+13
| | | | (052_nxcomp_macos10-nxauth-location.full+lite.patch)