summaryrefslogtreecommitdiffstats
path: root/libvncserver
Commit message (Collapse)AuthorAgeFilesLines
* websockets: Add UTF-8 encoding support.Joel Martin2011-08-172-46/+88
| | | | | | | | | | | | | | | This is not completely standard UTF-8 encoding. Only code points 0-255 are encoded and never encoded to more than two octets. Since '\x00' is a WebSockets framing character, it's easier for all parties to encode zero as '\xc4\x80', i.e. 194+128, i.e. UTF-8 256. This means that a random stream will be slightly more than 50% larger using this encoding scheme. But it's easy CPU-wise for client and server to decode/encode. This is especially important for clients written in languages that have weak bitops, like Javascript (i.e. the noVNC client). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* websockets: Better disconnect detection.Joel Martin2011-08-171-0/+5
| | | | | | | If the only thing we are waiting on is a WebSockets terminator, then remove it from the stream early on in rfbProcessClientNormalMessage. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* websockets: Initial WebSockets support.Joel Martin2011-08-176-2/+1164
| | | | | | | | | | | | | | Has a bug: WebSocket client disconnects are not detected. rfbSendFramebufferUpdate is doing a MSG_PEEK recv to determine if enough data is available which prevents a disconnect from being detected. Otherwise it's working pretty well. [jes: moved added struct members to the end for binary compatibility with previous LibVNCServer versions, removed an unused variable] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* tightPng: check even for SendGradientRect.Joel Martin2011-07-221-0/+6
| | | | Signed-off-by: Christian Beier <dontmind@freeshell.org>
* tightPng: Add initial tightPng encoding support.Joel Martin2011-07-224-48/+331
| | | | | | | http://wiki.qemu.org/VNC_Tight_PNG Signed-off-by: Joel Martin <github@martintribe.org> Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Remove some unused variables.Christian Beier2011-06-012-3/+0
|
* Fix rfbProcessNewConnection to return some value instead of void.George Kiagiadakis2011-06-011-6/+9
| | | | | | BUG: 256891 Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Split two event-loop related functions out of the rfbProcessEvents() mechanism.George Kiagiadakis2011-06-012-56/+79
| | | | | | | This is required to be able to do proper event loop integration with Qt. Idea was taken from vino's libvncserver fork. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Fix buffer overflowCristian Rodríguez2011-05-091-1/+1
| | | | | Signed-off-by: Cristian Rodríguez <crrodriguez@opensuse.org> Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Revert "Fix memory corruption bug."Christian Beier2011-04-301-2/+0
| | | | | | This reverts commit c1363fa9583ed41b94fbc79b3ff410b7d5189407. The proper fix was already in 804335f9d296440bb708ca844f5d89b58b50b0c6.
* Fix memory corruption bug.George Kiagiadakis2011-04-281-0/+2
| | | | | | | | This bug occured when a second telepathy tubes client was connected after the first one had disconnected and the channel (thus, the screen too) had been destroyed. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Fix compilation in c89 mode.George Kiagiadakis2011-04-284-6/+6
| | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Fix regression in Ultra encoding introduced by commit ↵Christian Beier2011-03-171-1/+1
| | | | | | fe1ca16e9b75b5f38ab374c8dfff92d2c3ea4532. My bad. There we see what the encodings test is good for ;-)
* Fix (most) MinGW32 compiler warnings.Christian Beier2011-03-172-4/+4
|
* Fix remaining compiler warnings.Christian Beier2011-03-172-9/+0
|
* Set proper file permissions for source files.Christian Beier2011-03-1019-0/+0
|
* Call WSAGetLastError() everywhere errno is read after a Winsock call.Christian Beier2011-03-033-0/+12
| | | | | Winsock does NOT update errno for us, we have fetch the last error manually using WSAGetLastError().
* Update minilzo library used for Ultra encoding to ver 2.04.Christian Beier2011-02-261-1/+1
| | | | | | | | | | According to the minilzo README, this brings a significant speedup on 64-bit architechtures. Changes compared to old version 1.08 can be found here: http://www.oberhumer.com/opensource/lzo/lzonews.php Signed-off-by: Christian Beier <dontmind@freeshell.org>
* libvncserver: Make RRE, CoRRE and Ultra encodings thread-safe.Christian Beier2011-02-076-159/+96
| | | | | | | This adds generic before/after encoding buffers to the rfbClient struct, so there is no need for thread local storage. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Remove unneeded files concerning CVS.Christian Beier2011-01-312-8/+0
| | | | | | We have a git repo nowadays and I guess we won't go back to CVS. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Put files used by both libs into a 'common' dir.Christian Beier2011-01-258-5019/+5
| | | | | | | | | No functional changes. All files used by _both_ libvncserver and libvncclient are put into a 'common' directory and references from other files as well as Autotools and CMake build systems are updated. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Fix two errors found by cppcheckebola_rulez2011-01-201-1/+5
| | | | | Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Remove never used protocol version name string.runge2011-01-011-8/+3
|
* libvncserver sockets: check cl->screen before accessing itTobias Doerffel2010-12-011-2/+2
| | | | | | | | | In commit 079394ca5b14d8067b95a9cf95a834828b4425a6 new code with insufficient checks was introduced causing a segfault when doing a HTTP server connection. Such connections have no screen set in the client data structure. Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
* libvncserver: fix endless loop when server closed client in threaded mode.Christian Beier2010-11-181-5/+5
| | | | Signed-off-by: Christian Beier <dontmind@freeshell.org>
* libvncserver sockets: favor per-screen maxclientwait over global one when set.Christian Beier2010-11-181-3/+8
| | | | Signed-off-by: Christian Beier <dontmind@freeshell.org>
* libvncserver cleanup: remove rfbKeyFrame remnants.Christian Beier2010-11-112-4/+0
|
* libvnc[server|client]: implement xvp VNC extension.Christian Beier2010-11-023-2/+64
| | | | | | | This implements the xvp VNC extension, which is described in the community version of the RFB protocol: http://tigervnc.sourceforge.net/cgi-bin/rfbproto It is also mentioned in the official RFB protocol.
* Added missing initialization of extension mutexTobias Doerffel2010-10-291-0/+5
| | | | | | | | | | When not calling rfbRegisterProtocolExtension() the extension mutex is uninitialized but used upon calling rfbGetExtensionIterator() and rfbReleaseExtensionIterator() in rfbNewTCPOrUDPClient(). This causes libvncserver to crash on Win32 when building with thread support. Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com> Signed-off-by: Christian Beier <dontmind@freeshell.org>
* In rfbSendDirContent() we have to make sure to call closedir() beforeTobias Doerffel2010-10-201-1/+5
| | | | | | returning. This did not happen if rfbSendFileTransferMessage() failed. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Non-blocking sockets for Windows.Christian Beier2010-09-133-39/+31
| | | | | | | | | | | Expands the SetNonBlocking() function in libvncclient/sockets.c to also work under Windows and also changes it to honour maybe already present socket flags. A similar function was introduced for libvncserver as well and all the #ifdef'ed fnctl calls replaced with calls to that one. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Cleanup: remove CORBA stuff.Christian Beier2010-09-133-20/+1
| | | | | | | The header file and most of the functions referred to do not exist in libvncserver. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Fix MinGW32 compilation with libjpeg.Christian Beier2010-09-061-0/+3
| | | | | | | | | MinGW32 (or more exactly, a rpcndr.h file included by winsock2.h) typedefs a 'boolean' type that jmorecfg.h included by jpeglib.h also tries to typedef. So, tell the jpeg headers. Closes: 3007302
* Implement a DisplayFinishedHook for libvncserver.Christian Beier2010-05-192-1/+12
| | | | | | | If set, this hook gets called just before rfbSendFrameBufferUpdate() returns. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* libvncserver/font.c: add some checks to rfbDrawChar().Christian Beier2010-01-071-1/+2
| | | | | | | | | | In some cases (bad font data) the coordinates evaluate to <0, causing a segfault in the following memcpy(). [jes: keep the offset, but do not try to segfault] Signed-off-by: Christian Beier <dontmind@freeshell.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* year++;runge2010-01-021-1/+1
|
* tightvnc-filetransfer/rfbtightserver.c: enabled fixrunge2010-01-021-0/+6
| | | | for tight security type for RFB 3.8 (debian bug 517422.)
* Add locks of updateMutex in rfbRedrawAfterHideCursor() andrunge2009-12-013-3/+8
| | | | rfbSetClientColourMap(). Up listen limit from 5 to 32.
* Fix checks for socket values, 0 is a legal value.Christian Beier2009-11-111-1/+1
| | | | | | | | | | To make this work, we also have to initialize sockets to a default value of -1. Also close a client listen socket if it's open. Signed-off-by: Christian Beier <dontmind@freeshell.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Fix various compilation warningsVic Lee2009-11-102-2/+2
| | | | | Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Merge branch 'VeNCrypt'Johannes Schindelin2009-11-021-0/+15
|\
| * Add MSLogon security typeVic Lee2009-11-021-0/+15
| | | | | | | | | | Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | Some broken build environments treat fprintf(fh, buf) as a fatal error...runge2009-10-071-1/+1
|/
* Thread safety for zrle, zlib, tight.runge2009-05-217-47/+156
| | | | Proposed tight security type fix for debian bug 517422.
* clean up build flagsdscho2009-02-031-1/+1
| | | | | | | | | | | | | | | | | The flag handling (both compiler options and include paths) are a mess at the moment. There is no point in forcing "-O2 -g" when these are already the defaults, and if someone changes the defaults, chances are good they don't want you clobbering their choices. The -Wall flag should be handled in configure and thrown into CFLAGS once rather than every Makefile.am. Plus, this way we can control which compilers the flag actually gets used with. Finally, the INCLUDES variable is for -I paths, not AM_CFLAGS. Nor should it contain -I. as this is already in the default includes setup. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* We seem to need to guard against freeing iterator 'i' twice in ↵runge2008-06-241-4/+8
| | | | rfbSendFramebufferUpdate() (italc reported bug)
* Handle colormaps with more than 256 colors.runge2008-05-231-4/+14
|
* Please MS Visual C++ a bit (Christian Ehrlicher)dscho2008-02-181-2/+2
| | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Fix ZYWRLE en/decoding for width != scanline (thanks Noriaki Yamazaki)dscho2008-02-041-145/+152
| | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Add ZYWRLE to server printout.runge2008-02-031-0/+1
|