Commit Graph

1383 Commits (475a2c944731aa5c578f1fc4aba51a3ae0069c2d)
 

Author SHA1 Message Date
dscho da7cf4fe2a Merge pull request #6 from waldheinz/cmake-cleanup
Use CMAKE_CURRENT_*_DIR instead of CMAKE_*_DIR.
11 years ago
Matthias Treydte b6b8889306 Initialize padding in SetFormatAndEncodings' rfbSetPixelFormatMsg. 11 years ago
Matthias Treydte 57fcf68844 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.
11 years ago
dscho 8c21b31cef Merge pull request #4 from dextero/master
x11vnc: adjust blackout region coordinates to the clipping region
11 years ago
dextero f2d516866c x11vnc: adjust blackout region coordinates to the clipping region 11 years ago
Johannes Schindelin 646f844f69 Merge branch 'repeater'
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>

Conflicts:
	.gitignore
11 years ago
Johannes Schindelin a705cd625c libvncclient: If we have TLS support, enable VeNCrypt by default
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
11 years ago
Johannes Schindelin 0e19b7c509 Ignore the 'mac' example, too
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
11 years ago
Johannes Schindelin 8d558daf05 Ignore the vencrypt document
https://www.berrange.com/~dan/vencrypt.txt

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
11 years ago
Johannes Schindelin 186da4f10e 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>
11 years ago
Johannes Schindelin 71d0f9b06f 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>
11 years ago
Johannes Schindelin c0e012e4d2 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>
11 years ago
Christian Beier 817f6e658d Update sourceforge links to point to github. 11 years ago
Johannes Schindelin 3351ba69a4 Fix tyop
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
11 years ago
Johannes Schindelin 79e68d0650 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>
11 years ago
Robbert Klarenbeek f2a93afb46 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>
11 years ago
Johannes Schindelin bd811bdee9 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>
11 years ago
Joel Martin 7b9fc019de Set opcode correctly for binary frames. 12 years ago
Christian Beier 0de0fa498d Remove unneeded #ifdefs. 12 years ago
Christian Beier 38c181a2d5 Fix ABI compatibility issue. 12 years ago
David Verbeiren d891478ec9 LibVNCClient: Add H.264 encoding for framebuffer updates
This patch implements support in LibVNCClient for framebuffer updates
encoded as H.264 frames. Hardware accelerated decoding is performed
using VA API.

This is experimental support to let the community explore the possibilities
offered by the potential bandwidth and latency reductions that H.264 encoding
allows. This may be particularly useful for use cases such as online gaming,
hosted desktops, hosted set top boxes...

This patch only provides the client side support and is meant to be used
with corresponding server-side support, as provided by an upcoming patch for
qemu ui/vnc module (to view the display of a virtual machine executing under
QEMU).

With this H.264-based encoding, if multiple framebuffer update messages
are generated for a single server framebuffer modification, the H.264
frame data is sent only with the first update message. Subsequent update
framebuffer messages will contain only the coordinates and size of the
additional updated regions.

Instructions/Requirements:
* The patch should be applied on top of the previous patch I submitted with
minor enhancements to the gtkvncviewer application:
http://sourceforge.net/mailarchive/message.php?msg_id=30323804
* Currently only works with libva 1.0: use branch "v1.0-branch" for libva and
intel-driver. Those can be built as follows:
   cd libva
   git checkout v1.0-branch
   ./autogen.sh
   make
   sudo make install
   cd ..
   git clone git://anongit.freedesktop.org/vaapi/intel-driver
   cd intel-driver
   git checkout v1.0-branch
   ./autogen.sh
   make
   sudo make install

Signed-off-by: David Verbeiren <david.verbeiren@intel.com>
12 years ago
David Verbeiren 98d49517ed gtkvncviewer enhancements
Hide "Connecting" dialog in gtkvncviewer once an update is received.

Hide local cusror in gtkvncviewer.
12 years ago
Christian Beier 55bdab0257 Add Raphael to AUTHORS. 13 years ago
Raphael Kubo da Costa ec3fff609c Include strings.h for strncasecmp(3) 13 years ago
Raphael Kubo da Costa 8f544bd276 Work around a gcc bug with anonymous structs and unions.
GCC < 4.6 failed to parse the declaration of ws_header_t correctly because
it did not accept anonymous structs and unions. [1]

Work around the bug by adding names to the unions and structs. Ugly, but
works.

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4784
13 years ago
Raphael Kubo da Costa a63312c6fb Include stdio.h for snprintf(3) 13 years ago
Raphael Kubo da Costa 252f5d9c7c Add the required headers for read(2) 13 years ago
Raphael Kubo da Costa 95dd76327b Use htobeNN(3) to convert numbers in websocket.c.
byteswap.h exists only on glibc, so building libvncserver with websockets
support was not possible in other systems.

Replace the inclusion of byteswap.h and the WS_* definitions with calls to
htobeNN, which should perform the same conversions, be more portable and
avoid the need to check for the platform's endianness.
13 years ago
Raphael Kubo da Costa 2d18f3cdcf Do not hardcode the need for libresolv.
libresolv is only present on systems which use glibc; platforms such as
FreeBSD have __b64_ntop as part of libc itself.

Improve the detection process and only link against libresolv if it exists
on the system, and remember to reset CMAKE_REQUIRED_LIBRARIES after
performing the necessary tests, since we do not always want to link against
libresolv.
13 years ago
Raphael Kubo da Costa 4c148e5f74 Tune the definitions needed when building with -ansi.
The current definitions were mostly useful to glibc and followed its
feature_test_macros(3) documentation.

However, this means other platforms still had problems when building with
strict compilation flags. _BSD_SOURCE, for example, is only recognized by
glibc, and other platforms sometimes need _XOPEN_SOURCE instead, or even the
removal of some definitions (such as the outdate _POSIX_SOURCE one).

_POSIX_SOURCE also had to be conditionally defined in some places, as what
it enables or disables during compilation varies across systems.
13 years ago
Raphael Kubo da Costa 8f1ef3d66c Add some missing feature macro definitions.
Building with -ansi failed due to some code (as well as system
headers) using non-C89 features. Fix that by adding the usual
_POSIX_SOURCE and _BSD_SOURCE definitions already present in some
other files.
13 years ago
Raphael Kubo da Costa 3cbef1a976 Use C-style comments in rfbconfig.h.cmake and C source code.
Using C++-style comments when building the code with -ansi does not
work, so be more conservative with the comment style.
13 years ago
Raphael Kubo da Costa 88e6043585 Correctly include rfbconfig.h.
build_dir/rfb is not passed as an include directory automatically to
the compiler, so including that file fails.
13 years ago
Raphael Kubo da Costa 539b310b48 CMake: Link against libgcrypt when it is found.
So far, libgcrypt was looked for but no targets linked against it
directly; this caused linking problems for the client and server
examples, as the symbols they needed were not passed to the linker.

The issue that the GnuTLS websockets code uses libgcrypt regardless of
whether it has been found or not has not been touched by this commit,
though.
13 years ago
Christian Beier 2b4f616d96 Update noVNC webclient. 13 years ago
Christian Beier 2fba1be453 Update AUTHORS. 13 years ago
Oliver Loch 584542ba97 Patched sockets.c to allow the use of IPv6 without IPv4.
As requested only those lines are indented that have been changed.
13 years ago
Johannes Schindelin 54f50c5e1d Add another contributor
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
13 years ago
Rostislav Lisovy 0b396959fd Fix in milliseconds to struct timeval conversion
Signed-off-by: Rostislav Lisovy <lisovy@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
13 years ago
Christian Beier af614dea11 Remove autogenerated files from repo. 13 years ago
Christian Beier fef4386acc Add Compile Time Version Test Defines. 13 years ago
Kyle J. McKay 66282f5800 libvncserver/sockets.c: do not segfault when listenSock/listen6Sock == -1 13 years ago
Christian Beier 2a97ab8679 Fix some compiler warnings that hinted some no too unimportant errors. 13 years ago
Christian Beier ab74d36dcd Update TODO. 13 years ago
Luca Falavigna a6fedf258a Encodingstest: Use format string argument with fprintf. 13 years ago
Christian Beier 62cfb3bbda Bump version to 0.9.10. 13 years ago
Christian Beier 7bac05aeed Update ChangeLog for 0.9.9. 13 years ago
Christian Beier f9e11bb222 Enable building DLLs with MinGW32. 13 years ago
Christian Beier 8327179d12 Update NEWS for 0.9.9. 13 years ago
Christian Beier 231763cb0e LibVNCClient: #undef these types in case it's WIN32.
The various other headers include windows.h and the winsock headers
which give an error when SOCKET and socklen_t are already defined.
13 years ago