summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'server-ipv6'Christian Beier2012-04-0212-48/+516
|\
| * IPv6 support for LibVNCServer, part four: add copyright notices to files ↵Christian Beier2012-04-024-0/+4
| | | | | | | | with non-trivial changes.
| * IPv6 support for LibVNCServer, part three: make reverse connections ↵Christian Beier2012-03-106-15/+174
| | | | | | | | | | | | | | | | IPv6-capable. Besided making libvncserver reverseVNC IPv6-aware, this introduces some changes on the client side as well to make clients listen on IPv6 sockets, too. Like the server side, this also uses a separate-socket approach.
| * IPv6 support for LibVNCServer, part onepointseven: Plug a memleak.Christian Beier2012-03-101-0/+3
| | | | | | | | | | We have to properly free the addrinfo struct when jumping out of the function.
| * IPv6 support for LibVNCServer, part twopointone: properly surround IPv6 ↵Christian Beier2012-03-091-1/+9
| | | | | | | | | | | | addresses with [] for noVNC URL. Some browsers omit the square brackets in document.location.hostname, so add them if missing.
| * IPv6 support for LibVNCServer, part two: Let the http server listen on IPv6, ↵Christian Beier2012-02-274-15/+90
| | | | | | | | | | | | 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 onepointfive: Fix compilation with IPv6 ↵Christian Beier2012-02-272-0/+8
| | | | | | | | | | | | missing. There was an oversight that crept in...
| * IPv6 support for LibVNCServer, part one: accept IPv4 and IPv6 connections.Christian Beier2012-02-205-19/+230
| | | | | | | | | | | | | | | | | | 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>
* | SDLvncviewer: map Apple/Windows keys correctlyJohannes Schindelin2012-03-291-3/+2
| | | | | | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | gitignore the compiled gtkvncclientJohannes Schindelin2012-03-291-0/+1
| | | | | | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | SDLvncviewer: fix the SDL_KEYUP issueJohannes Schindelin2012-03-291-6/+13
|/ | | | | | | | | | | Keys got stuck because unicode is 0 upon SDL_KEYUP events, even if the same key event sets unicode correctly in SDL_KEYDOWN events. Work around that for the common case (ASCII) using the fact that both SDL and X11 keysyms were created with ASCII compatibility in mind. So as long as we type ASCII symbols, we can map things trivially. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Here is a port of SDLvncviewer to GTK+2.Mateus Cesar Groess2012-02-114-3/+683
| | | | | | | | I think it may encourage people to implement more features for the viewer, because a GTK GUI seems to be easier to implement than a SDL one (and it is more integrated with the major Linux Desktops out there). Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Update AUTHORS.Christian Beier2012-02-111-1/+2
|
* Support Mac OS X vnc client with no passwordKyle J. McKay2012-02-113-10/+81
| | | | | | Support connections from the Mac OS X built-in VNC client to LibVNCServers running with no password and advertising a server version of 3.7 or greater.
* Add Luca to the AUTHORSJohannes Schindelin2012-02-041-1/+1
| | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Add an optional parameter to specify the ip address for reverse connectionsLuca Stauble2012-02-034-3/+25
| | | | | | | | | | | | | | | | For security reasons, it can be important to limit which IP addresses a LibVNCClient-based client should listen for reverse connections. This commit adds that option. To preserve binary backwards-compatibility, the field was added to the end of the rfbclient struct, and the function ListenAtTcpPort retains its signature (but calls the new ListenAtTcpPortAndAddress). [jes: shortened the commit subject, added a longer explanation in the commit body and adjusted style] Signed-off-by: Luca Stauble <gnekoz@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Merge branch 'websockets' of https://github.com/kanaka/libvncserverChristian Beier2012-01-122-18/+31
|\
| * websockets: removed debug messageGernot Tenchio2012-01-121-1/+1
| |
| * websockets: restore errno after logging an errorGernot Tenchio2012-01-121-6/+17
| |
| * cmake: adapted to latest websocket crypto changesGernot Tenchio2012-01-121-11/+13
| |
* | Small changes to LibNVCClient doxygen documentation.Christian Beier2011-12-151-22/+23
| |
* | Merge branch 'master' of https://github.com/watkipet/libvncserverChristian Beier2011-12-151-1/+215
|\ \
| * | Added comments.Peter Watkins2011-10-261-1/+215
| | |
* | | Fix build error when libpng is available, but libjpeg is not.Christian Beier2011-12-011-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The png stuff in tight.c depends on code in tight.c that uses libjpeg features. We could probably seperate that, but for now the dependency for 'tight' goes: PNG depends on JPEG depends on ZLIB. This is reflected in Makefile.am now. NB: Building tight.c with JPEG but without PNG is still possible, but nor the other way around.
* | | Use AM_SILENT_RULES only when it's actually available.Christian Beier2011-12-011-1/+1
| | | | | | | | | | | | | | | Otherwise building breaks with older make versions. Happens on OS X 10.6 for instance.
* | | Merge branch 'included-novnc'Christian Beier2011-11-1774-56/+7514
|\ \ \
| * | | Move the java stuff into webclients/java-applet.Christian Beier2011-11-0922-6/+11
| | | |
| * | | Rename 'classes' dir to 'webclients'.Christian Beier2011-11-0970-10/+10
| | | |
| * | | novnc client: use the client's notion about the server hostname instead of ↵Christian Beier2011-11-092-5/+14
| | | | | | | | | | | | | | | | what the server thinks.
| * | | Fix tiny typo.Christian Beier2011-11-091-1/+1
| | | |
| * | | httpd: fix sending of binary data such as images.Christian Beier2011-10-061-17/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do this simply by omitting the content-type and let the browser decide upon the mime-type of the sent file. Only exception is 'index.vnc', where we do set the content-type since some browsers fail to detect it's html when it's ending in '.vnc' Also, remove superfluous #defines. We close the connection always.
| * | | Fix typo && use proper website.Christian Beier2011-10-061-1/+1
| | | |
| * | | Add noVNC HTML5 client connect possibility to our http server.Christian Beier2011-10-0444-8/+7462
| | | | | | | | | | | | | | | | Pure JavaScript, no Java plugin required anymore! (But a recent browser...)
* | | | Add 0.9.8.2 NEWS entry.Christian Beier2011-11-091-0/+3
| | | |
* | | | When GetCredential() callback is not set, don't use authentications ↵Christian Beier2011-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | requiring it. The auth methods that employ Getcredential() will only be used if the client's GetCredential callback is actually set.
* | | | Update ChangeLog for 0.9.8.1.Christian Beier2011-11-081-0/+18
| | | |
* | | | Update version number in autotools && cmake, NEWS entry.Christian Beier2011-11-083-3/+6
| | | |
* | | | Fix deadlock in threaded mode when using nested rfbClientIteratorNext() calls.Christian Beier2011-10-261-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lengthy explanation follows... First, the scenario before this patch: We have three clients 1,2,3 connected. The main thread loops through them using rfbClientIteratorNext() (loop L1) and is currently at client 2 i.e. client 2's cl_2->refCount is 1. At this point we need to loop again through the clients, with cl_2->refCount == 1, i.e. do a loop L2 nested within loop L1. BUT: Now client 2 disconnects, it's clientInput thread terminates its clientOutput thread and calls rfbClientConnectionGone(). This LOCKs clientListMutex and WAITs for cl_2->refCount to become 0. This means this thread waits for the main thread to release cl_2. Waiting, with clientListMutex LOCKed! Meanwhile, the main thread is about to begin the inner rfbClientIteratorNext() loop L2. The first call to rfbClientIteratorNext() LOCKs clientListMutex. BAAM. This mutex is locked by cl2's clientInput thread and is only released when cl_2->refCount becomes 0. The main thread would decrement cl_2->refCount when it would continue with loop L1. But it's waiting for cl2's clientInput thread to release clientListMutex. Which never happens since this one's waiting for the main thread to decrement cl_2->refCount. DEADLOCK. Now, situation with this patch: Same as above, but when client 2 disconnects it's clientInput thread rfbClientConnectionGone(). This again LOCKs clientListMutex, removes cl_2 from the linked list and UNLOCKS clientListMutex. The WAIT for cl_2->refCount to become 0 is _after_ that. Waiting, with clientListMutex UNLOCKed! Therefore, the main thread can continue, do the inner loop L2 (now only looping through 1,3 - 2 was removed from the linked list) and continue with loop L1, finally decrementing cl_2->refCount, allowing cl2's clientInput thread to continue and terminate. The resources held by cl2 are not free()'d by rfbClientConnectionGone until cl2->refCount becomes 0, i.e. loop L1 has released cl2.
* | | | Update AUTHORSJohannes Schindelin2011-10-161-12/+2
| | | | | | | | | | | | | | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | | | Fix memory leakGeorge Fleury2011-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was debbuging some code tonight and i found a pointer that is not been freed, so i think there is maybe a memory leak, so it is... there is the malloc caller reverse order: ( malloc cl->statEncList ) <- rfbStatLookupEncoding <- rfbStatRecordEncodingSent <- rfbSendCursorPos <- rfbSendFramebufferUpdate <- rfbProcessEvents I didnt look the whole libvncserver api, but i am using rfbReverseConnection with rfbProcessEvents, and then when the client connection dies, i am calling a rfbShutdownServer and rfbScreenCleanup, but the malloc at rfbStatLookupEncoding isnt been freed. So to free the stats i added a rfbResetStats(cl) after rfbPrintStats(cl) at rfbClientConnectionGone in rfbserver.c before free the cl pointer. (at rfbserver.c line 555). And this, obviously, is correcting the memory leak. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | | | Hopefully fix the crash when updating from 0.9.7 or earlierJohannes Schindelin2011-10-121-4/+5
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For backwards-compatibility reasons, we can only add struct members to the end. That way, existing callers still can use newer libraries, as the structs are always allocated by the library (and therefore guaranteed to have the correct size) and still rely on the same position of the parts the callers know about. Reported by Luca Falavigna. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | | SDLvncviewer: make it resizable by defaultJohannes Schindelin2011-10-091-1/+3
|/ / | | | | | | | | | | | | | | | | I got annoyed having to specify -resizable all the time; I never use it in another mode anymore, since I am on a netbook. The option -no-resizable was added to be able to switch off that feature. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | Merge branch 'websockets'Christian Beier2011-10-0426-159/+3441
|\ \
| * | This build warning is a libvncserver one, not for x11vnc.Christian Beier2011-10-041-17/+14
| | | | | | | | | | | | | | | Also, make it warn more generally when no known encryption lib is available.
| * | Merge branch 'websockets' of https://github.com/kanaka/libvncserver into ↵Christian Beier2011-09-231-2/+2
| |\ \ | | |/ | | | | | | websockets
| | * md5: forced to use function names with leading underscoresGernot Tenchio2011-09-211-2/+2
| | | | | | | | | | | | | | | | | | Commented out the surrounding '#ifdef _LIBC' to build md5.o with leading underscores. This is required to match the prototypes defined in md5.h.
| * | Merge branch 'websockets' of https://github.com/kanaka/libvncserver into ↵Christian Beier2011-09-201-3/+3
| |\ \ | | |/ | | | | | | websockets
| | * rfbcrypto_included: fix c&p errorsGernot Tenchio2011-09-201-3/+3
| | |
| * | Merge remote branch 'kanaka/websockets' into websocketsChristian Beier2011-09-209-37/+217
| |\ \ | | |/ | | | | | | | | | Conflicts, resolved manually: libvncserver/Makefile.am