]>
source.dussan.org Git - tigervnc.git/log
Pierre Ossman [Mon, 21 Jul 2014 14:17:23 +0000 (16:17 +0200)]
Use NoSymbol as the error code
This is how the X11 API does things, so it's clearer if we use
the same principle.
Pierre Ossman [Mon, 21 Jul 2014 14:12:00 +0000 (16:12 +0200)]
Make keysymtab static and const
Static to avoid namespace polution, and const so that it can be
shared among instances.
Pierre Ossman [Mon, 21 Jul 2014 14:10:03 +0000 (16:10 +0200)]
Use printf constructor safely
The input string might contain formatting marks, so make sure those
are ignored.
Pierre Ossman [Mon, 14 Jul 2014 14:22:05 +0000 (16:22 +0200)]
Merge branch 'encodemanager' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 14 Jul 2014 14:17:46 +0000 (16:17 +0200)]
Merge branch 'nopixeltrans' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 14 Jul 2014 14:15:16 +0000 (16:15 +0200)]
Merge branch 'nocolourmap' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Wed, 9 Jul 2014 15:02:27 +0000 (17:02 +0200)]
String literals are constant
Pierre Ossman [Wed, 9 Jul 2014 14:49:16 +0000 (16:49 +0200)]
Remove PixelTransformer and TransImageGetter
There is nothing using these classes anymore, so remove the clutter.
Pierre Ossman [Fri, 14 Mar 2014 14:59:46 +0000 (15:59 +0100)]
Move image encoding logic into a central EncodeManager class
This allows us to apply a lot more server logic
independently of which encoder is in use.
Most of this class are things moved over from the
Tight encoder.
Pierre Ossman [Wed, 9 Jul 2014 14:44:11 +0000 (16:44 +0200)]
Use PixelBuffer objects as the interface for encoders and decoders
This avoid a lot of unnecessary middle men. This also pushes the
responsibility for pixel format conversion into the encoders and
decoders. The new bufferFromBuffer() is used for direct conversion,
rather than PixelTransformer/TransImageGetter.
Pierre Ossman [Thu, 13 Feb 2014 13:40:25 +0000 (14:40 +0100)]
Store the mouse cursor in the ConnParams object
Like we do for everything else. This also gets rid
of the callback, which is a bit out of place
compared to everything else.
Pierre Ossman [Thu, 13 Feb 2014 13:37:25 +0000 (14:37 +0100)]
Allow PixelBuffers to be const
Pierre Ossman [Wed, 12 Feb 2014 15:33:43 +0000 (16:33 +0100)]
Add helper class for a rendered cursor
Add a magical cursor framebuffer class for handling when you
want to render the cursor on the server side. Keeps the cursor
specific magic in one contained place.
Pierre Ossman [Wed, 12 Feb 2014 12:24:15 +0000 (13:24 +0100)]
Add convenience variant of getImage()
Pierre Ossman [Mon, 14 Jul 2014 13:03:05 +0000 (15:03 +0200)]
Merge branch 'inputreset' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 14 Jul 2014 11:46:48 +0000 (13:46 +0200)]
Handle closing of input devices
The core can decide to close an input device (e.g. during a
server reset). Make sure we respect this by forgetting about
the device and recreating it again later.
Pierre Ossman [Mon, 14 Jul 2014 11:44:46 +0000 (13:44 +0200)]
Remove private storage from InputDevice
We don't need this anymore as we now only have a single
InputDevice object and can easily refer to it directly.
Pierre Ossman [Mon, 14 Jul 2014 11:41:36 +0000 (13:41 +0200)]
Make InputDevice into a singleton
Xorg input devices are global so it doesn't make sense that we
have one InputDevice object per XserverDesktop.
Pierre Ossman [Mon, 14 Jul 2014 11:39:57 +0000 (13:39 +0200)]
Move all functions that InputDevice uses into the class
Pierre Ossman [Mon, 14 Jul 2014 11:36:47 +0000 (13:36 +0200)]
Let XserverDesktop handle syncing cursor position
This makes InputDevice cleaner and just a glue layer for Xorg
input devices.
Pierre Ossman [Mon, 14 Jul 2014 11:20:24 +0000 (13:20 +0200)]
Re-init VNC extension on server reset
fc23895 blocked out a bit too much code when trying to make
libvnc handle server resets. Even though configuration should
only be handled once, the underlying VNC extension needs to
be reinitilised as the X core has removed all extensions on
reset.
Pierre Ossman [Fri, 11 Jul 2014 12:03:44 +0000 (14:03 +0200)]
We need to set a label on all pointer buttons
Pierre Ossman [Thu, 13 Feb 2014 09:38:48 +0000 (10:38 +0100)]
Add convenience functions to ModifiablePixelBuffer
Allows you to modify the buffer with data in a
different pixel format.
Pierre Ossman [Wed, 9 Jul 2014 14:28:55 +0000 (16:28 +0200)]
Test results comparing PixelTransformer and bufferFromBuffer()
Pierre Ossman [Thu, 30 Jan 2014 09:47:07 +0000 (10:47 +0100)]
Add optimised buffer conversion
Handles the common cases when the target or source are in
the preferred 888 format.
If one of the buffers is not 888, then it must also be properly
aligned (which is commonly the case). Performance is now in many
cases on par with PixelTransformer.
Pierre Ossman [Wed, 29 Jan 2014 16:00:36 +0000 (17:00 +0100)]
Add ability to directly convert between two pixel formats
This is a lot easier and cheaper than having to set up a complete
PixelTransformer object.
Pierre Ossman [Tue, 8 Jul 2014 13:06:25 +0000 (15:06 +0200)]
Use lookup tables for pixel upconversion
You have to loop many times when converting e.g. 2 bits to 8,
so have a couple of lookup tables to speed things up. We still
use bit replication to get from 8 bits to 16 bits though.
Pierre Ossman [Wed, 9 Jul 2014 12:12:39 +0000 (14:12 +0200)]
Put some space between the groups of tests
Pierre Ossman [Wed, 9 Jul 2014 12:12:12 +0000 (14:12 +0200)]
Add more 8 bpp conversion tests
Pierre Ossman [Thu, 13 Feb 2014 08:42:48 +0000 (09:42 +0100)]
Only grab the regions we actually need
Allows pixel buffers that do damage tracking to get
proper information.
Pierre Ossman [Thu, 6 Feb 2014 15:31:10 +0000 (16:31 +0100)]
Provide a better R/W base PixelBuffer class
Clearly separates the read API from the write API
and also from actual implementation.
Pierre Ossman [Thu, 30 Jan 2014 16:57:27 +0000 (17:57 +0100)]
Get rid of getStride()
It was confusing and not properly used everywhere.
Callers should use the stride they get when they get
the buffer pointer.
Pierre Ossman [Thu, 30 Jan 2014 16:47:31 +0000 (17:47 +0100)]
Get rid of the direct access abuse of FullFramePixelBuffer's data
Pierre Ossman [Thu, 30 Jan 2014 15:59:14 +0000 (16:59 +0100)]
We don't need a fillRect() that is this optimised
Keep things simple instead and allows us to remove the extra setPF()
methods.
Pierre Ossman [Tue, 28 Jan 2014 12:47:18 +0000 (13:47 +0100)]
Avoid having virtual methods where not needed
Pierre Ossman [Wed, 12 Feb 2014 12:23:30 +0000 (13:23 +0100)]
getImage() doesn't need to be overloadable, keep it simple
Pierre Ossman [Fri, 7 Feb 2014 13:46:26 +0000 (14:46 +0100)]
Create a proper interface base class for the viewport's framebuffer
This allows us to gracefully fall back to the FLTK code in case the
platform specific code cannot be used.
Pierre Ossman [Fri, 31 Jan 2014 11:37:32 +0000 (12:37 +0100)]
Encoders/decoders should track the connection object
The connection object is a much more appropriate object for the
decoders and encoders to keep track of. Besides the streams, it also
contains state like connection parameters.
Pierre Ossman [Fri, 31 Jan 2014 12:12:18 +0000 (13:12 +0100)]
Push encoder and decoder handling down into the connection objects
This keeps the reader and writer objects clean and simple protocol
decoders/encoders.
Pierre Ossman [Mon, 20 Jan 2014 14:05:21 +0000 (15:05 +0100)]
Remove full support for colour maps
Gets rid of a loooot of code and complexity.
Colour map clients are still supported through an
automatically generated map, but we lose the ability to
develop a client or server that uses colour maps
internally.
Pierre Ossman [Wed, 12 Feb 2014 12:16:43 +0000 (13:16 +0100)]
Get rid of unnecessary macros as they are only ever set to a single thing
Pierre Ossman [Mon, 17 Mar 2014 13:35:51 +0000 (14:35 +0100)]
Push encoding specific formats into the encoders and decoders
Keep the generic stream classes clean and general.
Pierre Ossman [Fri, 7 Mar 2014 12:48:29 +0000 (13:48 +0100)]
Consolidate the different palette handler implementations
Pierre Ossman [Fri, 31 Jan 2014 10:21:51 +0000 (11:21 +0100)]
Handle CopyRect like any other encoding
Avoids having to special case things. Keeps the code simpler.
Pierre Ossman [Wed, 29 Jan 2014 15:42:48 +0000 (16:42 +0100)]
Avoid reader/writer duplication in every encoder/decoder
Pierre Ossman [Tue, 21 Jan 2014 13:45:10 +0000 (14:45 +0100)]
Remove partial update functionality
Get rid of the ability of encoders to only send part of the
rectangle they are given as we don't want partial updates
anyway.
Pierre Ossman [Thu, 16 Jan 2014 12:39:05 +0000 (13:39 +0100)]
Move serialisation of pseudorects into separate functions
Keeps the code clearer.
Pierre Ossman [Thu, 16 Jan 2014 12:12:40 +0000 (13:12 +0100)]
Merge the "V3" message classes into the normal ones
We have no need for this abstraction so let's keep things simple.
Pierre Ossman [Mon, 7 Jul 2014 12:36:35 +0000 (14:36 +0200)]
Merge branch 'pixeltest' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 7 Jul 2014 12:27:04 +0000 (14:27 +0200)]
Merge branch 'cleanup' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Mon, 7 Jul 2014 12:13:46 +0000 (14:13 +0200)]
Remove a lot of platform compatibilty stuff
It's either not used, or no longer relevant.
Pierre Ossman [Mon, 7 Jul 2014 11:44:03 +0000 (13:44 +0200)]
Remove remnants of Windows only client
Pierre Ossman [Wed, 12 Feb 2014 12:12:31 +0000 (13:12 +0100)]
Fix some offenders that poke around in the PixelFormat internals
Pierre Ossman [Thu, 30 Jan 2014 08:51:39 +0000 (09:51 +0100)]
Avoid code duplication for the linear pixel format conversion methods
Pierre Ossman [Wed, 22 Jan 2014 10:28:05 +0000 (11:28 +0100)]
Consistent use of stride vs pitch
Consistently use the term stride rather than pitch. Also
consistently represent the stride in number of pixels rather
than number of bytes. There is so much code that assumes
proper alignment already that we do not need the extra resolution.
Pierre Ossman [Mon, 20 Jan 2014 16:11:19 +0000 (17:11 +0100)]
Fix possible information leakage
Zero the padding byte used when converting 24-bit RGB to 32-bit.
Pierre Ossman [Mon, 20 Jan 2014 15:40:10 +0000 (16:40 +0100)]
Use the same algorithm for conversions
Make sure that the routines that convert between buffer
and rgb representations follow the same algorithm so it's
easier to compare them.
Pierre Ossman [Mon, 20 Jan 2014 16:23:51 +0000 (17:23 +0100)]
Optimise the RGB to pixel conversion to simple shifts
Might as well make it inline at this point as well as it is used
heavily in other routines that convert entire blocks of pixels.
Pierre Ossman [Mon, 17 Mar 2014 13:42:10 +0000 (14:42 +0100)]
Remove magic JPEG variables from ConnParams
Custom compression level and JPEG on/off are not inherent parts of
the protocol negotiation so they do not belong in ConnParams. Let the
UI frontend handle such things instead.
Pierre Ossman [Wed, 15 Jan 2014 12:44:04 +0000 (13:44 +0100)]
Clean up the encoding parser in ConnParams
Pierre Ossman [Wed, 15 Jan 2014 12:23:43 +0000 (13:23 +0100)]
Make the subsampling setting follow the common style
Pierre Ossman [Mon, 27 Jan 2014 15:52:35 +0000 (16:52 +0100)]
Remove some premature optimisation
Reduces header dependencies.
Pierre Ossman [Mon, 27 Jan 2014 15:17:21 +0000 (16:17 +0100)]
Add some missing whitespace
Pierre Ossman [Wed, 15 Jan 2014 12:51:53 +0000 (13:51 +0100)]
Stop storing a copy of the encodings as we don't use it for anything
Pierre Ossman [Wed, 15 Jan 2014 11:40:20 +0000 (12:40 +0100)]
Get rid of the register mechanism for encoders and decoders
We have no use for it, so let's keep things simple.
Pierre Ossman [Tue, 28 Jan 2014 13:13:12 +0000 (14:13 +0100)]
Be more consistent in referring to pixel byte streams as buffers
Pierre Ossman [Mon, 20 Jan 2014 15:55:19 +0000 (16:55 +0100)]
Document the different pixel representations that we deal with
Pierre Ossman [Thu, 13 Mar 2014 14:08:36 +0000 (15:08 +0100)]
Get rid of unused things in the ZRLE encoder
Get rid of unused shared MemOutStream and variable max length
functionality in the ZRLE encoder.
Pierre Ossman [Fri, 7 Feb 2014 13:51:44 +0000 (14:51 +0100)]
Remove unused method prototype
Pierre Ossman [Thu, 30 Jan 2014 16:15:55 +0000 (17:15 +0100)]
Remove all unused TX widgets
Pierre Ossman [Wed, 29 Jan 2014 16:10:27 +0000 (17:10 +0100)]
Remove the scaled pixel buffer classes as they are not used.
There were also reports of them being broken last time we still
made use of them.
Pierre Ossman [Tue, 28 Jan 2014 15:43:22 +0000 (16:43 +0100)]
Remove unused (and commented out) PixelBuffer::getPixel()
Pierre Ossman [Tue, 28 Jan 2014 15:41:29 +0000 (16:41 +0100)]
Remove unused alternative code path from the ZRLE and Hextile decoders
Pierre Ossman [Mon, 20 Jan 2014 15:55:04 +0000 (16:55 +0100)]
Remove unused pixel conversion method
Pierre Ossman [Thu, 16 Jan 2014 12:23:47 +0000 (13:23 +0100)]
Remove unsused, commented out code
Pierre Ossman [Mon, 20 Jan 2014 13:43:52 +0000 (14:43 +0100)]
Clean up header dependencies in the vncviewer directory
Pierre Ossman [Wed, 15 Jan 2014 12:22:03 +0000 (13:22 +0100)]
Reduce dependencies on TransImageGetter.h
Pierre Ossman [Fri, 21 Mar 2014 11:38:59 +0000 (12:38 +0100)]
Support keeping libjpeg's default compression setting
Pierre Ossman [Mon, 17 Mar 2014 13:29:49 +0000 (14:29 +0100)]
Check that we have a cursor to restore
Forgot to check that we actually have a cursor from the server
before trying to switch back to it after dismissing the context menu.
Pierre Ossman [Fri, 28 Feb 2014 10:54:34 +0000 (11:54 +0100)]
Converting to RGB might involve a precision increase
Need to do more than a simple shift to get the appropriate
new value. This isn't quite as exact as a proper multiplication
and division, but the error is so small it's not worth the
extra cycles.
Pierre Ossman [Fri, 4 Jul 2014 12:12:49 +0000 (14:12 +0200)]
Add pixel conversion speed test
Add a tests directory where we can put tests programs that can
be useful during testing. Start with a speed test for the pixel
conversion routines.
Pierre Ossman [Fri, 4 Jul 2014 09:34:02 +0000 (11:34 +0200)]
librfb needs librdr so make sure it always gets pulled in
Pierre Ossman [Mon, 20 Jan 2014 13:50:19 +0000 (14:50 +0100)]
Make sure we check that PixelFormats we get are actually valid.
Brian P. Hinz [Fri, 27 Jun 2014 01:35:48 +0000 (21:35 -0400)]
Embedded applet should not show server dialog
Pierre Ossman [Fri, 13 Jun 2014 11:26:21 +0000 (11:26 +0000)]
Accidentally removed some code in the previous commit.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5186
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Pierre Ossman [Fri, 13 Jun 2014 10:56:59 +0000 (10:56 +0000)]
Add XDAMAGE support to x0vncserver. Makes it more efficient
and more responsive to changes.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5185
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Pierre Ossman [Fri, 13 Jun 2014 10:52:11 +0000 (10:52 +0000)]
Add a global event handler so that we can intercept custom events
that aren't for a specific window.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5184
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Brian Hinz [Wed, 21 May 2014 10:54:17 +0000 (10:54 +0000)]
Fixed dependency problems with ubuntu precise build. Added ubuntu trusty package.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5183
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Brian Hinz [Sun, 18 May 2014 01:01:38 +0000 (01:01 +0000)]
Fix typos in r5181
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5182
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Brian Hinz [Sun, 18 May 2014 00:03:49 +0000 (00:03 +0000)]
Add missing dependencies to ubuntu builds that cause cut-copy-paste issues
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5181
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Peter Åstrand [Sun, 13 Apr 2014 19:16:08 +0000 (19:16 +0000)]
Remove comment about service mode not working; bug 135 was fixed a while ago.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5178
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Brian Hinz [Sat, 5 Apr 2014 02:33:49 +0000 (02:33 +0000)]
Ubuntu's upstream fltk package contains patches that conflict with Pierre's patches. Building with vanilla fltk instead.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5177
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Brian Hinz [Mon, 24 Mar 2014 02:56:45 +0000 (02:56 +0000)]
Removed shell dependency from el6 vncserver init script. Fixes bug tracker bug #141.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5176
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Pierre Ossman [Wed, 19 Mar 2014 13:35:14 +0000 (13:35 +0000)]
This list isn't properly maintained so let's add a disclaimer.
People looking for proper attribution will have to check individual
files and repository history.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5172
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Pierre Ossman [Wed, 19 Mar 2014 12:43:51 +0000 (12:43 +0000)]
We don't want to lose the checks performed by assert() in release builds
so make sure we remove NDEBUG. Based on work by Tim Waugh for Red Hat.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5168
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Pierre Ossman [Wed, 19 Mar 2014 12:16:48 +0000 (12:16 +0000)]
The ZRLE decoder relied on an assert() for boundary checks. A default
Release build however will remove all asserts making it possible to
overrun this buffer. This could be exploited by a malicious server.
This issue has been assigned CVE-2014-0011. Patch by Tim Waugh for
Red Hat.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5167
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Peter Åstrand [Mon, 24 Feb 2014 10:21:29 +0000 (10:21 +0000)]
Applied patch from Alois Mahdal <amahdal@redhat.com>:
missing ending quote in 10-libvnc.conf
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5162
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Peter Åstrand [Thu, 20 Feb 2014 08:04:17 +0000 (08:04 +0000)]
Applied patch from:
Koichiro IWAO <meta@vmeta.jp>
Option for disabling build of vncviewer.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5161
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Brian Hinz [Wed, 19 Feb 2014 05:19:37 +0000 (05:19 +0000)]
Fixes problems with cmake detection of GnuTLS. The current CMakeLists.txt uses check_function_exists to identify legacy versions of GnuTLS but cmake performs this test by linking a small test program. If libgnutls, libgcrypt, or libgpg-error are outside the default library search path, linking the test program fails even though gnutls and it's dependencies are installed. This patch makes it possible to specify the location of each of the three libraries independently and only as needed.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5160
3789f03b -4d11-0410-bbf8-
ca57d06f2519
Samuel Mannehed [Wed, 12 Feb 2014 10:10:19 +0000 (10:10 +0000)]
Removes VeNCrypt-checkbox from the security page in the WinVNC options. Fixes bug #142.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5159
3789f03b -4d11-0410-bbf8-
ca57d06f2519