aboutsummaryrefslogtreecommitdiff
path: root/nxcomp
Commit message (Collapse)AuthorAgeFilesLines
* nxcomp: add basic logging_test utility in test subdirectory.Mihai Moldovan2017-10-276-1/+373
| | | | Needs more sophisticated features to actually test stuff correctly.
* nxcomp/src/Log.h: prepare for logger testing application.Mihai Moldovan2017-10-271-0/+4
| | | | DO NOT USE!
* nxcomp/src/Log.cpp: add PID to thread ID output if requested.Mihai Moldovan2017-10-271-1/+2
| | | | | | | | The default function we use (if a thread name is not specified explicitly) is pthread_self(). This function returns a number that is guaranteed to be unique for each thread within a process, but this assertion doesn't hold globally. Hence only using the thread ID is ambiguous when logging from multiple processes.
* nxcomp/src/Log.h: block signals while writing out data.Mihai Moldovan2017-10-271-0/+20
| | | | | Prevents race conditions caused by signal handlers while flushing out our log queue.
* nxcomp/src/Log.{cpp,h}: port to std::stack as internal buffer structure.Mihai Moldovan2017-10-272-23/+37
| | | | | | | | This has one drawback: after flushing log data to its underlying output, a new NXLogStamp object MUST be written to the NXLog object in order to create a new entry within the stack. This can be changed if necessary. For now I'd like to keep it as-is.
* nxcomp/{configure.ac,Log.cpp}: implement configure-time std::put_time check ↵Mihai Moldovan2017-10-272-1/+19
| | | | and use macro value in Log.cpp.
* nxcomp/Log.h: delete stream_ member before class object destruction.Mihai Moldovan2017-10-271-0/+4
|
* nxcomp/Log.h: also clear the buffer after setting it to an empty string.Mihai Moldovan2017-10-271-1/+2
|
* Set default log level to WARNINGVadim Troshchinskiy2017-10-271-1/+1
| | | | | This is to ensure the log output is the same as previous releases, which didn't have INFO defined by default.
* New logging implementationVadim Troshchinskiy2017-10-274-0/+719
| | | | | | | | Features: * Works without ifdefs * Configurable with commandline arguments * Log level configurable per file * Thread safe
* nxcomp: add AX_PTHREAD code from autoconf-archive and check for pthread support.Mihai Moldovan2017-10-273-1/+494
|
* nx{comp{,shad},proxy}: add configure flag --enable-cxx11 to enable and setup ↵Mihai Moldovan2017-10-273-0/+8
| | | | | | | | | | optional C++11 support. Use AX_CXX_COMPILE_STDCXX(_11) from autotools archive. Note: should only be used in tandem. Make sure that each component either uses the C++11 ABI or none uses it. Mixing and matching libraries and binaries with different C++ ABIs might lead to weird errors.
* nxcomp/configure.ac: rename --{en,dis}able-info to --{en,dis}able-debug, as ↵Mihai Moldovan2017-10-271-1/+1
| | | | originally planned.
* Fix bug #525: PANIC! No port specified for multimedia connectionsVadim Troshchinskiy2017-10-103-11/+19
| | | | | | | Commit 5f1eb0dc3eb89e84a3b146975e147b995fb7673f introduced a regression that made the use of the multimedia port mandatory. Fixes ArcticaProject/nx-libs#525
* nxcomp/src/Loop.cpp: Reduce control->TokenSize slightly again in order to ↵Simon Matter2017-10-091-2/+2
| | | | fix fragmentation of packages when on VPN (or otherwise encapsulated) connections.
* .gitignore: Improve all .gitignore files, adapt to autotools build-flow and ↵Mike Gabriel2017-10-091-2/+0
| | | | its build cruft.
* nxcomp/src/Loop.cpp: whitespace fixes only.Mihai Moldovan2017-09-291-6/+6
|
* nxcomp/configure.ac: prettify AC_ARG_ENABLE() calls, use more quotes and ↵Mihai Moldovan2017-09-291-13/+13
| | | | AS_IF() where appropriate.
* Fix nxagent argument parsing logicVadim Troshchinskiy2017-09-292-57/+51
| | | | | | | | | This makes it so that slave=1 works again as it should. The changes introduced earlier resulted in the unintentional requirement to specify the actual port number, breaking backwards compatibility. Fixes: ArcticaProject/nx-libs#518
* nxcomp/src/{Loop,Proxy}.cpp: On Debian/kFreeBSD (and other *BSD variants) ↵Mike Gabriel2017-09-062-0/+16
| | | | | | the sockaddr_un.sun_path property is 104 chars long, not 108. Hard-coding Unix domain sockets in nxcomp the string length 104. Fixes ArcticaProject/nx-libs#507.
* nx*/configure.ac: Use newly introduced macro NX_DEFAULT_OPTIONS instead of ↵Mike Gabriel2017-08-111-1/+1
| | | | NX_COMPILER_FLAGS.
* nxcomp/configure.ac: fix copy-and-paste typo (nxcompshad.pc.)Mihai Moldovan2017-08-091-1/+1
|
* nxcomp/configure.ac: we don't need to specify empty optional parameters.Mihai Moldovan2017-08-091-2/+2
|
* nxcomp/configure.ac: Don't rely on pkg-config alone when it comes to testing ↵Mike Gabriel2017-08-081-4/+4
| | | | | | | | | | for presence of libjpeg shared lib and header files. Especially systems still using the IJG libjpeg implementation are likely to lack the libjpeg.pc file. . So this adds some alternative way of detecting if all libjpeg related build-dependencies are in place.
* nxcomp: Add __attribute__((noreturn)) to more functions where appropriate.Mike Gabriel2017-07-263-4/+4
|
* nxcomp/src/Loop.cpp: Don't mix using global proxyFD and a local p(roxy)FD ↵Mike Gabriel2017-07-261-16/+16
| | | | variable (in WaitForRemote() and ConnectToRemote()). Rename local variable name.
* nxcomp/src/Loop.cpp: Don't use global variables as function paramters in ↵Mike Gabriel2017-07-261-4/+4
| | | | handleLogReopenInLoop().
* nxcomp/src/Loop.cpp: Drop global variable diffTs, declare it in every ↵Mike Gabriel2017-07-261-5/+2
| | | | funtion where it is needed.
* nxcomp/src/Transport.cpp: Don't redeclare local variable if it can be reused.Mike Gabriel2017-07-261-1/+1
|
* nxcomp/src/Loop.cpp: Don't reuse global variable names as function ↵Mike Gabriel2017-07-261-18/+18
| | | | parameters in SetupDisplaySocket().
* nxcomp/src/Loop.cpp: Rename local variable 'handler' to 'signalHandler'.Mike Gabriel2017-07-262-5/+5
|
* nxcomp/src/Loop.cpp: Drop duplicate prototypes (which already exist in Misc.h).Mike Gabriel2017-07-261-7/+2
|
* nxcomp/src/Proxy.cpp: Fix index usage of nested loops.Mike Gabriel2017-07-261-5/+5
|
* nxcomp/src/Loop.cpp: Avoid duplicate usage of proxyFD (global variable) and ↵Mike Gabriel2017-07-261-19/+19
| | | | *proxyFD (function parameter).
* nxcomp: Trivially fix local variables shadowing variables of same name from ↵Mike Gabriel2017-07-264-77/+77
| | | | higher scope.
* nxcomp/configure.ac,m4/nx-macros.m4,nxcomp/src/Socket.h: Use AC_CHECK_TYPES ↵Mike Gabriel2017-07-262-9/+11
| | | | to detect if type 'in_addr_t' is available.
* nxcomp/configure.ac: Re-add previously available configure options ↵Mike Gabriel2017-07-261-0/+14
| | | | --with-valgrind and --with-info as renamed options --enable-valgrind and --enable-debug.
* nxcomp: Switch to autoreconf.Mike Gabriel2017-07-26241-1020/+710
|
* nxcomp: Set TokenSize to 1536 for link type ADSL and WAN. Improving ↵Oleksandr Shneyder2017-06-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | non-xrender based browser scrolling behaviour when link type is set to ADSL or WAN. In the 40-ies (talking about release version numbers), Firefox started using the Skia library [1] for client-side rendering of browser content. With current versions of Firefox you can switch between libXrender based rendering (esp. of Fonts) and Skia based rendering: gfx.xrender.enabled = true|false Some time around Firefox 52, the default for the gfx.xrender.enabled setting got changed by Firefox upstream from true to false. So nowadays, Firefox uses Skia by default. However, it turns out that Skia scales really badly on remote X11 connections. Scrolling of long web pages becomes really jolty. Something similar could be observed earlier already when using Chrome or Chromium (which also has been using Skia for some time now). This change in nxcomp works around those issues and greatly improves scrolling and general browser experience on medium throughput networks (like cable modem, ADSL, HDSPA, slow LTE). [1] https://en.wikipedia.org/wiki/Skia_Graphics_Engine Fixes ArcticaProject/nx-libs#443.
* nxcomp/Children.cpp: Don't generate warnings with duplicated NX paths.Mike Gabriel2017-04-211-61/+70
| | | | Fixes ArcticaProject/nx-libs#370.
* nxcomp/Loop.cpp: Fix server/client mode info cerr printing in ↵Mike Gabriel2017-04-071-1/+1
| | | | PrintProcessInfo().
* Remove EMX (MS-DOS & OS/2) supportMike DePaulo2017-03-292-19/+0
|
* Cygwin nxcomp: Use Cygwin un.hMike DePaulo2017-03-292-7/+2
| | | | | Cygwin has modified it over the years. Fixes FTBFS #394
* nxcomp/ChannelEndPoint.cpp: we're not really testing for a character, but a ↵Mihai Moldovan2017-03-091-1/+1
| | | | | | pointer. Fixes: ArcticaProject/nxlibs#389.
* nxcomp/Loop.cpp: Allow nx/nx:<disp> as DISPLAY variable (i.e. an empty nx/nx ↵Mike Gabriel2017-03-021-1/+2
| | | | options string.
* nxcomp/Loop.cpp: Ignore, options= nx/nx parameter, if file options path ↵Mike Gabriel2017-03-021-1/+1
| | | | | | starts with /dev/, /proc/, or /sys/. Partially resolved ArcticaProject/nx-libs#51.
* nxcomp: Fix artifacts in copyright headers.Mike Gabriel2016-12-203-11/+0
|
* Make nxagent only bind to loopback when requestedVadim Troshchinskiy2016-12-141-4/+8
|
* Fix reversed logic in acceptHost settingVadim Troshchinskiy2016-12-131-2/+2
|
* add .gitignore filesUlrich Sibiller2016-11-171-0/+2
|