Commit Graph

82 Commits (c5ba3fee85a7ecbbca1df5ffd46d32b92757bc2a)

Author SHA1 Message Date
Tobias Junghans 5f9a07d7e1 LibVNCClient: add support for custom auth handlers
This allows to register custom authentication handlers in order to
support additional security types.
6 years ago
Christian Beier 474f64e5db
SDLvncviewer: work around SDL_TEXTINPUT not generating chars with CTRL down 7 years ago
Christian Beier 97c9b6c5d7
SDLvncviewer: handle mouse wheel events 7 years ago
Christian Beier b0957702a8
SDLvncviewer: adhere to C89 7 years ago
Christian Beier a2b5284e07
SDLvncviewer: implement Unicode input handling 7 years ago
Christian Beier c562ed4b99
SDLvncviewer: remove obsolete video scaling code 7 years ago
Christian Beier bfdb850bfb
SDLvncviewer: use SDL2 for clipboard handling
By using this, we can get rid of our own homebrewn solution scrap.[c|h] and drop X11 from the build system.
7 years ago
Christian Beier 8f1b565dbe
SDLvncviewer: make input work with SDL2
... at least somewhat. This is far from perfect but no regression compared to SDL1.2 functionality.
7 years ago
Christian Beier 65126b5826
SDLvncviewer: make display work with SDL2 7 years ago
Christian Beier 436a047f56
SDLvncviewer: add a very simple GetCredentials callback 7 years ago
Christian Beier 71c3215d8f
SDLvncviewer: enable the X11 clipboard if X11 was found 7 years ago
Christian Beier 666f37efc0
Fix building whithout SASL 8 years ago
simon cb4e15c1ae Added SASL authentication support
Added SASL support to OpenSSL
8 years ago
tmcqueen-materials ecb81d0e75 Update vnc2mpg.c
correct mistaken references to update_time...
8 years ago
tmcqueen-materials 709c8ea862 Update vnc2mpg.c
This update makes the example work on versions of ffmpeg newer than "ancient," fixes a bunch of bugs in the process, and with better documentation of the pitfalls.
8 years ago
Bert van Hall fe94339587 drop autotools
Since autotools officially is no longer supported (see various github
issues), drop the related infrastructure to stop tempting people to use
it for building.

Signed-off-by: Bert van Hall <bert.vanhall@gmx.de>
8 years ago
Stefan Weil 9c7efb7633 Fix some typos (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
9 years ago
Christian Beier 612de004c4 Revert "LibVNCClient: Add H.264 encoding for framebuffer updates"
This reverts commit d891478ec9.

Conflicts:
	configure.ac
	libvncclient/h264.c
10 years ago
Floris Bos aaee22aaa2 Fix compiler warnings libvncclient + gtkvncviewer
Fixes the following compiler warnings.

gtkvncviewer:

==
  CC       gtkvncviewer-gtkvncviewer.o
gtkvncviewer.c: In function ‘GtkDefaultLog’:
gtkvncviewer.c:591:2: warning: format not a string literal and no format arguments [-Wformat-security]
  fprintf (stdout, buf);
  ^
==

libvncclient:

==
  CC       rfbproto.lo
In file included from rfbproto.c:2376:0:
zrle.c: In function 'HandleZRLE8':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile8' differ in signedness [-Wpointer-sign]
     int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
     ^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                                 ^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
 #define CONCAT2(a,b) a##b
                      ^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                        ^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
 static int HandleZRLETile(rfbClient* client,
            ^
In file included from rfbproto.c:2385:0:
zrle.c: In function 'HandleZRLE16':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile16' differ in signedness [-Wpointer-sign]
     int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
     ^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                                 ^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
 #define CONCAT2(a,b) a##b
                      ^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                        ^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
 static int HandleZRLETile(rfbClient* client,
            ^
In file included from rfbproto.c:2387:0:
zrle.c: In function 'HandleZRLE15':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile15' differ in signedness [-Wpointer-sign]
     int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
     ^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                                 ^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
 #define CONCAT2(a,b) a##b
                      ^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                        ^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
 static int HandleZRLETile(rfbClient* client,
            ^
In file included from rfbproto.c:2396:0:
zrle.c: In function 'HandleZRLE32':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile32' differ in signedness [-Wpointer-sign]
     int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
     ^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                                 ^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
 #define CONCAT2(a,b) a##b
                      ^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                        ^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
 static int HandleZRLETile(rfbClient* client,
            ^
In file included from rfbproto.c:2398:0:
zrle.c: In function 'HandleZRLE24':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile24' differ in signedness [-Wpointer-sign]
     int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
     ^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                                 ^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
 #define CONCAT2(a,b) a##b
                      ^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
 #define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
                        ^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
 static int HandleZRLETile(rfbClient* client,
            ^
In file included from rfbproto.c:2401:0:
zrle.c: In function 'HandleZRLE24Down':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile24Down' differ in signedness [-Wpointer-sign]
     int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
     ^
zrle.c:40:33: note: expected 'uint8_t *' but argument is of type 'char *'
 #define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Down)
                                 ^
rfbproto.c:2366:24: note: in definition of macro 'CONCAT3'
 #define CONCAT3(a,b,c) a##b##c
                        ^
zrle.c:40:24: note: in expansion of macro 'CONCAT3E'
 #define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Down)
                        ^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
 static int HandleZRLETile(rfbClient* client,
            ^
In file included from rfbproto.c:2404:0:
zrle.c: In function 'HandleZRLE24Up':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile24Up' differ in signedness [-Wpointer-sign]
     int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
     ^
zrle.c:43:33: note: expected 'uint8_t *' but argument is of type 'char *'
 #define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Up)
                                 ^
rfbproto.c:2366:24: note: in definition of macro 'CONCAT3'
 #define CONCAT3(a,b,c) a##b##c
                        ^
zrle.c:43:24: note: in expansion of macro 'CONCAT3E'
 #define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Up)
                        ^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
 static int HandleZRLETile(rfbClient* client,
            ^
==

Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
10 years ago
Brian Bidulock 57b0e4f4fe Rename obsolete INCLUDES to AM_CPPFLAGS 11 years ago
Christian Beier fdf5f8876f The HAVE_X11 define is not there anymore, but we don't need it either. 11 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 efcdab50cc Merge branch 'server-ipv6' 13 years ago
Johannes Schindelin ee4593425f SDLvncviewer: map Apple/Windows keys correctly
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
13 years ago
Johannes Schindelin f11e49b4e7 SDLvncviewer: fix the SDL_KEYUP issue
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>
13 years ago
Christian Beier 75bfb1f5d3 IPv6 support for LibVNCServer, part three: make reverse connections 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.
13 years ago
Mateus Cesar Groess 1078e8a8b0 Here is a port of SDLvncviewer to GTK+2.
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>
13 years ago
Johannes Schindelin 84be9d3f49 SDLvncviewer: make it resizable by default
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>
14 years ago
Christian Beier 558a58e039 Remove unneeded files concerning CVS.
We have a git repo nowadays and I guess we won't go back to CVS.

Signed-off-by: Christian Beier <dontmind@freeshell.org>
14 years ago
Christian Beier 824644d0a2 SDLvncviewer: fix compilation from dist tarball.
Signed-off-by: Christian Beier <dontmind@freeshell.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
14 years ago
Christian Beier 705a5d46e6 Add doxygen documentation support.
Adds automagically generating libvncserver/libvncclient API
    documentation using doxygen. This gives a nice overview on both APIs,
    include dependencies and function call/caller dependencies.

    TODO: Modify all the explaining comments in the .c files for use with
          doxygen as well.

    This patch only changes comments, no functional changes at all!

Signed-off-by: Christian Beier <dontmind@freeshell.org>
14 years ago
Johannes Schindelin 166f0b9887 Another try to fix the _SOURCES issue
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
15 years ago
Johannes Schindelin 14854d2e5e Fix compilation with newer automake
For some reason, this developer's automake no longer understands _SOURCES
lines anymore. Work around that.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
15 years ago
Johannes Schindelin 9a9a1c5fbc Rename HAVE_X -> HAVE_X11
This change is just for consistency reasons.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
15 years ago
Vic Lee a4cc897222 Fix various compilation warnings
Signed-off-by: Vic Lee <llyzs@163.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
15 years ago
Christian Beier 76b468ceb0 SDLvncviewer: don't call clean up the same client twice.
If rfbInitConnection fails, it cleans up the client, so protect against
doing it ourselves again.

Signed-off-by: Christian Beier <dontmind@freeshell.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
Christian Beier 7ed1c0aeac SDLvncviewer: add SIGINT handler to be able to actually stop program.
Signed-off-by: Christian Beier <dontmind@freeshell.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
Christian Beier 1f6c560985 SDLvncviewer: use -listennofork when -listen specified.
As -listen mode isn't really working under UNIX and not at all under
windows, use -listennofork and an outer listen loop instead.

Signed-off-by: Christian Beier <dontmind@freeshell.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
Christian Beier 3b608cd39b SDLvncviewer: make listen mode work _somewhat_.
set the port to listen on and really ensure that the
window of the fork()ed instance is closed.

works somewhat: it's now actually possible to listen for an
incoming connection and to close it again, but the second
connection attempt fails with 'XIO:  fatal IO error 11
(Resource temporarily unavailable)'. this could relate to the
fact that SDL uses threads internally and we're fork()ing
here...

Signed-off-by: Christian Beier <dontmind@freeshell.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho e2874d343a Teach SDLvncviewer about scroll wheel events
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho 76db22022c SDLvncviewer: fix passing a wrong pointer type
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho ebe79c28c3 Clipboard support for SDLvncviewer
The clipboard support has only been tested on Linux so far.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho eb1cc7608b SDLvncviewer: upon focus loss, force releasing the Alt keys
When switching windows using the Alt+Tab shortcut, SDLvncviewer would
get the "down" event, but not the "up" event.  This patch provides
a workaround.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho e12c4ccf23 SDLvncviewer: refactor event handling
Instead of having deep indent levels, put the code to handle events into
its own function.  That also helps readability.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho a02607fe35 Teach SDLvncviewer to be resizable
Using "SDLvncviewer -resizable", you make the window resizable.  This
means that you can shrink the window (e.g. when you are trying to access
an x11vnc from your little netbook), or you can enlarge it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho 3ab7d5d766 SDLvncviewer: enable key repeat
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
16 years ago
dscho 3d2eab575e clean up build flags
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>
16 years ago
dscho a824cf443d SDLvncviewer: update screen correctly after a resize
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
17 years ago
dscho b069f1dc01 SDLvncviewer: add -viewonly
Just like its siblings from other projects, SDLvncviewer now supports
viewonly connections.

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