After free()ing clientData, set it to NULL

We will change rfbClientCleanup() to free the data.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Address #12 ClientData does not get freed

rfbClientSetClientData() allocates a new rfbClientData, but never gets
cleaned up, which causes memory leaks.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Ignore more generated files

While at it, also ignore the documentation of the RFB protocol best
downloaded manually from

	http://www.realvnc.com/docs/rfbproto.pdf

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Fix tyop

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Update sourceforge links to point to github.
Add an example how to connect to an UltraVNC-style repeater

UltraVNC offers an add-on to connect clients and servers via IDs with
a so-called repeater (e.g. to bridge firewalled clients and servers):

	http://www.uvnc.com/products/uvnc-repeater.html

This example demonstrates how to use that feature with a
LibVNCServer-based server.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Repeater example: show how to shut down cleanly

Since we connected to the client through the repeater, chances are
that we want this server shut down once the client disconnected.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Ignore rfbproto.rst

A more up-to-date version of the RFB protocol is maintained by TigerVNC:

	http://sourceforge.net/p/tigervnc/code/HEAD/tree/rfbproto/rfbproto.rst

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Ignore the vencrypt document

	https://www.berrange.com/~dan/vencrypt.txt

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Ignore the 'mac' example, too

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
libvncclient: If we have TLS support, enable VeNCrypt by default

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Merge branch 'repeater'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>

Conflicts:
	.gitignore
x11vnc: adjust blackout region coordinates to the clipping region
Merge pull request #4 from dextero/master

x11vnc: adjust blackout region coordinates to the clipping region
Use CMAKE_CURRENT_*_DIR instead of CMAKE_*_DIR.

This makes the library friendly to use as a git submodule within another
project, and should change nothing when compiled alone.

For example when having a directory structure like "my_project/external/libvnc",
where in libvnc resides a checkout of libvncserver, one can just reference that
directory from the CMakeLists.txt in my_project with

> add_directory ( external/libvnc )

and add vncclient / vncserver in my_project's taret_link_libraries, one can just
hack away without having to manually make / install LibVNCServer whenever
something is changed there.
Initialize padding in SetFormatAndEncodings' rfbSetPixelFormatMsg.
Merge pull request #6 from waldheinz/cmake-cleanup

Use CMAKE_CURRENT_*_DIR instead of CMAKE_*_DIR.
Merge pull request #7 from waldheinz/init-sfae-padding

Initialize padding in SetFormatAndEncodings' rfbSetPixelFormatMsg.
Update LZO to version 2.07

It was reported that LZO has security issues in LMS-2014-06-16-1:
Oberhumer LZO (CVE-2014-4607): http://seclists.org/oss-sec/2014/q2/665

This was also reported by Alex Xu as
https://github.com/LibVNC/libvncserver/issues/9.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
x11vnc: fix double X_UNLOCK on xrandr events

check_xrandr_event() assumes X_LOCK is taken before it is called, and
currently calls X_UNLOCK on behalf of the caller. But in practice, all
callers assume that the lock is still held after check_xrandr_event()
returns. In particular, this leads to a double-unlock and crash in
check_xevents() on any xrandr event.