summaryrefslogtreecommitdiffstats
path: root/libvncserver/main.c
Commit message (Collapse)AuthorAgeFilesLines
* rfbInitServer: only init Winsock onceChristian Beier2017-02-211-1/+9
|
* Add an rfbLogPError that shows something on WIN32Christian Beier2017-02-211-0/+9
|
* LibVNCServer: fix starting of an onHold-client in threaded mode.Christian Beier2016-12-281-9/+6
| | | | | | | | Discovered by madscientist159 on 11 Jan 2015: "noted in testing with the threaded server build, whereby if newClientHook() returned RFB_CLIENT_ON_HOLD there was no way to release the hold when the server became ready"
* Fix some typos (found by codespell)Stefan Weil2016-11-181-1/+1
| | | | Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix handling of multiple VNC commands per websockets frameFloris Bos2015-01-171-0/+8
| | | | | | | | | | | | | - When processing input, check if there is any extra data pending in the internal websocket frame and SSL buffers. - Prevents input events lagging behind because they get stuck in one of the buffers. Data pending in our own buffers cannot be detected with select() so was not processed until more input arrives from the network. - Closes # 55 Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
* Signal is a fundamental UNIX function, and must be omitted for any windows ↵Daniel Cohen Gindi2014-09-201-1/+1
| | | | compilation
* Fix crash in krfbAmandeep Singh2014-08-031-4/+7
| | | | | Krfb crashes on quit, if any client is connected due to a rfbClientConnectionGone call missing
* IPv6 support for LibVNCServer, part two: Let the http server listen on IPv6, ↵Christian Beier2012-02-271-0/+2
| | | | | | too. As done with the RFB sockets, this uses a separate-socket approach as well.
* IPv6 support for LibVNCServer, part onepointsix: fix a small logic error.Christian Beier2012-02-271-1/+1
| | | | | Without this, we would have gotten a stale IPv4 socket in a race condition.
* IPv6 support for LibVNCServer, part one: accept IPv4 and IPv6 connections.Christian Beier2012-02-201-10/+28
| | | | | | | | | This uses a separate-socket approach since there are systems that do not support dual binding sockets under *any* circumstances, for instance OpenBSD. Using separate sockets for IPv4 and IPv6 is thus more portable than having a v6 socket handle v4 connections as well. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Remove some unused variables.Christian Beier2011-06-011-1/+0
|
* Split two event-loop related functions out of the rfbProcessEvents() mechanism.George Kiagiadakis2011-06-011-25/+37
| | | | | | | 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>
* libvncserver: Make RRE, CoRRE and Ultra encodings thread-safe.Christian Beier2011-02-071-3/+0
| | | | | | | 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>
* 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>
* libvnc[server|client]: implement xvp VNC extension.Christian Beier2010-11-021-0/+1
| | | | | | | 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>
* Cleanup: remove CORBA stuff.Christian Beier2010-09-131-3/+0
| | | | | | | The header file and most of the functions referred to do not exist in libvncserver. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Implement a DisplayFinishedHook for libvncserver.Christian Beier2010-05-191-0/+1
| | | | | | | If set, this hook gets called just before rfbSendFrameBufferUpdate() returns. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* 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-211-16/+30
| | | | Proposed tight security type fix for debian bug 517422.
* Fix a locking problem in libvncserverdscho2007-03-171-2/+1
| | | | | | | | | | | | | | | | | | | There seems to be a locking problem in libvncserver, with respect to how condition variables are used. On certain machines in our lab, when using a vncviewer to view a display that has a very high rate of updates, we will occasionally see the VNC server process crash. In one stack trace that was obtained, an assertion had tripped in glibc's pthread_cond_wait, which was called from clientOutput. Inspection of clientOutput suggests that WAIT is being called incorrectly. The mutex that protects a condition variable should always be locked when calling wait, and on return from the wait will still be locked. The attached patch fixes the locking around this condition variable, and one other that I found by grepping the source for similar occurrences. Signed-off-by: Charles Coffing <ccoffing@novell.com>
* Plugged some memory leakagesteven_carr2006-05-281-0/+5
|
* Default to RFB 3.8, add command line option to specify the RFB version.steven_carr2006-05-151-3/+4
|
* The great UltraVNC Compatibility Commitsteven_carr2006-05-151-5/+27
|
* Client Independent Server Side Scaling is now supportedsteven_carr2006-05-031-3/+18
| | | | Both PalmVNC and UltraVNC SetScale messages are supported
* add KeyboardLedState extensiondscho2006-03-281-0/+1
|
* do not timeout on idle client input (with pthreads)dscho2006-03-011-0/+16
|
* add handleEventsEagerly flag (Thanks, Donald)dscho2006-02-281-0/+2
|
* Added method to get extension specific client datarohit_991292006-02-241-1/+1
|
* Added method to get extension specific client datarohit_991292006-02-241-0/+16
|
* add functions to unregister extensions/security typesdscho2006-02-221-5/+68
|
* fix some non-gcc compiler warnings and signals in x11vncrunge2006-02-201-0/+1
|
* logMutex needs to be initialized too; in rfbDefaultLog.runge2006-01-111-2/+12
|
* rfbProcessEvents() has to iterate also over clients with sock < 0 to close themdscho2006-01-101-1/+3
|
* fix client non-jpeg/libz buildsrunge2006-01-081-1/+1
|
* rfbRegisterProtocolExtension extMutex was never initialized.runge2006-01-061-0/+6
|
* introduce -deferptrupdate (thanks Dave)dscho2005-12-191-0/+21
|
* assorted fixes for MinGW32dscho2005-12-191-1/+1
|
* fix deadlock from rfbReleaseExtensionIterator(), fix no libz/libjpeg ↵runge2005-11-251-0/+2
| | | | builds, disable tightvnc-filetransfer if no libpthread, add --without-pthread option, rm // comments, set NAME_MAX if not defined, x11vnc: throttle load if fb update requests not taking place.
* kill BackChannel and CustomClientMessage: the new extension technique makes ↵dscho2005-10-061-6/+0
| | | | these hooks obsolete
* This monster commit contains support for TightVNC's file transfer protocol.dscho2005-09-281-0/+40
| | | | Thank you very much, Rohit!
* Introduce generic protocol extension method. Deprecatedscho2005-09-271-0/+38
| | | | the processCustomClientMessage() method.
* Security is global. This was a misguided attempt to evade a global list.dscho2005-09-271-1/+0
| | | | I eventually saw the light and went with Rohit´s original approach.
* support VNC protocol version 3.7dscho2005-09-261-0/+1
|
* main.c: fix screen->deferUpdateTime default.runge2005-06-271-3/+3
|
* main.c: no sraRgnSubstract for copyRect, scrolls for x11vnc -scale; add ↵runge2005-06-041-7/+3
| | | | -fixscreen
* main.c: fix copyRect for non-cursor-shape-aware clients.runge2005-05-311-0/+43
|
* fix off by one bugdscho2005-05-181-2/+2
|
* hide strict ansi stuff if not explicitely turned on; actually use the ↵dscho2005-05-181-0/+2
| | | | socklen_t test from configure.ac
* ANSIfy, fix some warnings from Linus' sparsedscho2005-05-151-31/+23
|