aboutsummaryrefslogtreecommitdiff
path: root/nxcomp/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix parsing ports set to unix socketsVadim2019-01-221-1/+5
|
* Make getUnixPath() return the right value when called without an argument.Vadim2019-01-211-3/+3
| | | | This fixes the verification in validateSpec()
* Fix some memory leaks.Mario Trangoni2018-07-031-0/+1
|
* nxcomp: fix spelling errors as reported by codespellUlrich Sibiller2018-05-2412-18/+18
|
* Fix clang error: comparison of array authCookie not equal to a null pointer ↵Mario Trangoni2018-03-011-1/+1
| | | | is always true
* nxagent: Also provide auto DPI feature via nx/nx option 'autodpi', taking ↵Mike Gabriel2018-02-272-1/+3
| | | | only effect on session startups.
* nxcomp/src/Loop.cpp: Harmonize log output. Uniformly, embrace port values by ↵Mike Gabriel2018-02-271-6/+6
| | | | | | single quotes. Fixes ArcticaProject/nx-libs#617.
* nxcomp/src/Loop.cpp: Make know the agent option 'keyconv' to nxcomp and ↵Mike Gabriel2018-02-271-1/+2
| | | | | | tolerate it as a valid option. Fixes ArcticaProject/nx-libs#630.
* nxagent: Add support for optionally enabling/disabling the magic pixel feature.Mike Gabriel2018-02-262-1/+3
| | | | Fixes ArcticaProject/nx-libs#657.
* nxcomp/src/Loop.cpp: Typo fix in error msg.Mike Gabriel2018-01-201-1/+1
|
* nxcomp/src/Timestamp.{cpp,h}: use ::ctime_s or ::ctime_r instead of plain ↵Mihai Moldovan2018-01-092-22/+49
| | | | | | ctime, on-stack buffers and return std::string objects. Fixes: ArcticaProject/nx-libs#616
* EncodeBuffer.cpp: add another VALGRIND guardUlrich Sibiller2017-12-291-1/+9
| | | | Fixes ArcticaProject/nx-libs#572
* nxcomp: drop strncpy in favour of snprintfUlrich Sibiller2017-12-293-44/+33
| | | | with very few exceptions which require careful thinking ;-)
* Loop.cpp: fix memleak happening with unknown tcp hostUlrich Sibiller2017-12-291-0/+1
| | | | | | | | | | | | | | | ==28424== 6 bytes in 1 blocks are definitely lost in loss record 1 of 7 ==28424== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28424== by 0x541D4D9: strndup (strndup.c:43) ==28424== by 0x4E8AD4B: ChannelEndPoint::getTCPHostAndPort(char**, long*) const (ChannelEndPoint.cpp:311) ==28424== by 0x4EBE9CC: ConnectToRemote(ChannelEndPoint&) (Loop.cpp:6656) ==28424== by 0x4EB0A4C: SetupProxyConnection() (Loop.cpp:3205) ==28424== by 0x4EDC81A: handleNegotiationInLoop(int&, fd_set&, fd_set&, timeval&) (Loop.cpp:14308) ==28424== by 0x4EAE40F: NXTransPrepare (Loop.cpp:2576) ==28424== by 0x4EAA801: NXTransContinue (Loop.cpp:1610) ==28424== by 0x4EB50C9: WaitCleanup() (Loop.cpp:4436) ==28424== by 0x4EA9507: NXTransProxy (Loop.cpp:1235) ==28424== by 0x400B2A: main (Main.c:111)
* ChannelEndPoint.cpp: fix possible memleak in getUnixPath()Ulrich Sibiller2017-12-293-4/+7
|
* ChannelEndPoint.cpp: remove unneccessary codeUlrich Sibiller2017-12-291-2/+0
| | | | SAFE_FREE has set defaultUnixPath_ to NULL already
* ChannelEndPoint.cpp: fix another memleakUlrich Sibiller2017-12-293-3/+7
| | | | | | | | | | | | | | | ==7689== 50 bytes in 5 blocks are definitely lost in loss record 1 of 2 ==7689== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==7689== by 0x54074D9: strndup (strndup.c:43) ==7689== by 0x4E7D803: ChannelEndPoint::getTCPHostAndPort(char**, long*) const (ChannelEndPoint.cpp:309) ==7689== by 0x4EC9D93: ConnectToRemote(ChannelEndPoint&) [clone .constprop.144] (Loop.cpp:6660) ==7689== by 0x4ECB94E: SetupProxyConnection() (Loop.cpp:3204) ==7689== by 0x4ECE824: handleNegotiationInLoop(int&, fd_set&, fd_set&, timeval&) [clone .isra.129] (Loop.cpp:14312) ==7689== by 0x4ED0F8A: NXTransPrepare (Loop.cpp:2575) ==7689== by 0x4ED1C35: NXTransContinue (Loop.cpp:1609) ==7689== by 0x4ED1D7B: WaitCleanup() (Loop.cpp:4440) ==7689== by 0x4ED2343: NXTransProxy (Loop.cpp:1234) ==7689== by 0x400B2A: main (Main.c:111)
* EncodeBuffer.cpp: add VALGRIND guardUlrich Sibiller2017-12-291-0/+7
| | | | | | | Same as in WriteBuffer.cpp Valgrind will complain about uninitialized data, but we are only writing to the memory here.
* nxcomp: implement correct length handling for unix socket structsUlrich Sibiller2017-12-292-28/+57
| | | | (partially) fixes ArcticaProject/nx-libs#612
* Loop.cpp: drop ugly ifdef indentationUlrich Sibiller2017-12-291-9/+6
|
* Loop.cpp: create xServerAddrUNIX only if requiredUlrich Sibiller2017-12-291-4/+3
|
* Loop.cpp: improve/fix usage of s(n)printfUlrich Sibiller2017-12-291-4/+6
|
* Loop.cpp: some reformatting/simplification/FIXMEsUlrich Sibiller2017-12-291-5/+11
| | | | (partially) fixes ArcticaProject/nx-libs#612
* Loop.cpp: delete passed object prior to overwriting itUlrich Sibiller2017-12-291-1/+4
|
* ChannelEndPoint.cpp: re-scope/improve getSpecUlrich Sibiller2017-12-292-9/+21
|
* Loop.cpp: delete structs when no longer requiredUlrich Sibiller2017-12-291-0/+2
| | | | | | Fix another memleak (partially) fixes ArcticaProject/nx-libs#612
* Loop.cpp: always close testSocketFDUlrich Sibiller2017-12-291-1/+2
| | | | | | was missing in the non-abstract code path (partially) fixes ArcticaProject/nx-libs#612
* Loop.cpp: free display before leaving SetupDisplaySocket()Ulrich Sibiller2017-12-291-0/+5
| | | | fixes a memory leak
* Loop.cpp: Fix memset (size was 0)Ulrich Sibiller2017-12-291-1/+1
| | | | (partially) fixes ArcticaProject/nx-libs#612
* nxcomp/src/Log.h: take a reference-type in generic has_newline() function.Mihai Moldovan2017-12-271-1/+1
| | | | Should avoid copy-constructing objects again.
* nxcomp/src/Log.cpp: don't confuse users with useless warning messages in ↵Mihai Moldovan2017-12-271-8/+12
| | | | case that a log line append operation was requested, but the message level has lower precedence than the current log filter.
* nxcomp/src/Log.h: make sure we don't pass NULL pointers to strstr().Mihai Moldovan2017-12-271-1/+8
|
* nxcomp/src/Loop.cpp: whitespace in log messages only.Mihai Moldovan2017-12-251-4/+4
|
* nxcomp/src/Loop.cpp: use new log continuation mechanism.Mihai Moldovan2017-12-251-18/+18
| | | | | | | | | | | Especially don't flush data out mid-append. Doing so will lead to the next append operation failing. Should fix messages queuing up indefinitely (until they are discarded at program termination, at least) and missing messages in general. Fixes: ArcticaProject/nx-libs#577 Fixes: ArcticaProject/nx-libs#611
* nxcomp/src/Loop.cpp: whitespace only.Mihai Moldovan2017-12-251-3/+3
|
* nxcomp/src/Log.{cpp,h}: provide infrastructure for appending to already ↵Mihai Moldovan2017-12-252-23/+89
| | | | | | | | | existing log lines. Also handle errors due to missing buffers gracefully. This error is surprisingly easy to trigger, so we should make sure that the program does not crash.
* nxcomp/src/Log.h: NXLogStamp constructor should actually take a size_t-typed ↵Mihai Moldovan2017-12-251-1/+1
| | | | line parameter.
* nxcomp/src/Log.h: use initializer lists instead of initializing member ↵Mihai Moldovan2017-12-251-17/+4
| | | | variables in-block.
* nxcomp/src/ChannelEndPoint.cpp: don't use C-style casting in C++ code...Mihai Moldovan2017-12-241-3/+3
|
* nxcomp/src/Loop.cpp: fix small memory leak.Mihai Moldovan2017-12-241-0/+2
|
* nxcomp/src/Loop.cpp: log message fixups only.Mihai Moldovan2017-12-181-2/+2
|
* nxcomp/src/Log.cpp: only create a new queue entry if we actually intend to ↵Mihai Moldovan2017-12-111-3/+3
| | | | | | write it out later. Fixes: ArcticaProject/nx-libs#596
* nxcomp: fix shadow warningUlrich Sibiller2017-12-111-2/+2
| | | | | | | | | | | | | | Fixes this: CXX Loop.lo Loop.cpp: In function 'void handleCheckResultInLoop(int&, int&, int&, fd_set&, fd_set&, timeval&, timeval&)': Loop.cpp:14080:68: warning: declaration of 'startTs' shadows a global declaration [-Wshadow] struct timeval &startTs) ^ Loop.cpp:1020:13: note: shadowed declaration is here T_timestamp startTs; Fixes ArcticaProject/nx-libs#545
* nxcomp: use new macro SAFE_FREE(ptr)Ulrich Sibiller2017-12-094-39/+33
| | | | | Should be used instead of free() calls and will clear the pointer after calling free(). This can prevent double-free or use-after-free errors.
* Loop.cpp: fix more memory leaksUlrich Sibiller2017-12-091-1/+15
| | | | | | | The thread specific stringstream objects on the stack need to be deleted, not just pop()ed. Fixes ArcticaProject/nx-libs#573 (partially)
* Loop.cpp: fix two memleaksUlrich Sibiller2017-12-091-4/+19
|
* ChannelEndPoint.cpp: fix two memleaksUlrich Sibiller2017-12-091-4/+10
|
* nxcomp: simplify free callsUlrich Sibiller2017-12-091-3/+3
| | | | free() can handle NULL itself
* nxcomp: fix double freeUlrich Sibiller2017-12-091-0/+2
| | | | Fixes ArcticaProject/nx-libs#569
* nxproxy/nxcomp: document logging optionsUlrich Sibiller2017-12-071-0/+14
|