Pierre Ossman
0ff2655456
Support extended clipboard transfers
Implements support in both client and server for the extended
clipboard format first seen in UltraVNC. Currently only implements
text handling, but that is still an improvement as it extends the
clipboard from ISO 8859-1 to full Unicode.
hace 8 años
Pierre Ossman
5fbbe10b6c
Use UTF-8 in clipboard API
In prepartion for better clipboard extensions that can send Unicode
data between the client and server.
hace 5 años
Pierre Ossman
615d16bd5b
Improved clipboard API
Change the internal clipboard API to use a request based model in
order to be prepared for more advanced clipboard transfers.
hace 5 años
Pierre Ossman
6a85e7aaa0
Increase version string buffer size for gcc
There is some bug in gcc's new -Werror=format-overflow that makes it
think majorVersion could end up being very large. Increase the target
buffer for now to keep gcc happy.
hace 5 años
Pierre Ossman
cedce60ec5
Remove unused force protocol 3.3 code
hace 5 años
Pierre Ossman
62b0786cc8
Add support for VMware LED status
hace 5 años
Pierre Ossman
4a6266f5a7
Add support for VMware cursors
hace 5 años
Pierre Ossman
b03512c65d
Move client attributes out of ServerParams
ServerParams should contain the server state and not information about
client settings or capabilities. Move those things up a level to the
CConnection object.
hace 6 años
Pierre Ossman
6ea58ba97b
Merge client resize capabilities
No need to have one setting for each extension. All the client code
needs to indicate is if it supports resize. The common code can then
map this to relevant extensions.
hace 6 años
Pierre Ossman
5588f4f482
Remove unused flags from ServerParams
These were either completely unused, or always true.
hace 6 años
Pierre Ossman
3bbe8d7217
Simplify encoding list generator
Tight is the default preferred encoding, so we don't really need
special handling for it to be first in the list.
hace 6 años
Pierre Ossman
1143ee66e4
Use STL list for encoding list
This is a lot safer and cleaner. The old code had a fixed size that
we didn't properly keep track of.
hace 6 años
Pierre Ossman
9672835662
Make arguments explicit in all message writer methods
Make sure all methods only write what is given as arguments, and
avoid side effects by getting data from parameter objects. This keeps
things readable in the calling code.
hace 6 años
Pierre Ossman
ef6881b9db
Move update request handling in to CConnection
It's a generic client thing, so abstract it in to the common library.
Makes it easier to integrate with other common code.
hace 6 años
Pierre Ossman
dd45b44901
Let CMsgHandler::serverInit() handle initial set up
Avoid using the callbacks used for runtime changes for the initial
setup. They weren't really useful anyway as you could not allocate
a framebuffer without also knowing the pixel format. So make things
more clear by letting serverInit() get the initial settings.
hace 5 años
Pierre Ossman
2affd77532
Stop requiring CConnection::serverInit() to be overridden
Add an explicit callback for subclasses to do their startup in. This
makes it easier to do proper ordering, and avoids mistakes.
hace 6 años
Pierre Ossman
b14a6bc1aa
Split out ServerParams from ConnParams
We need to track different things in the server and client, so
separate things to two independent structures to keep things more
clear.
hace 6 años
Pierre Ossman
ea7ede9838
Move version reading/writing out of ConnParams
That object is just a container for the current state. Move the I/O
to the classes already doing such stuff.
hace 6 años
Pierre Ossman
ad2b3c4aa3
Strongly bind security objects to connection object
There is already an implicit connection between them, so let's make
it explicit. This allows easy lookup outside of the processMsg() function.
hace 5 años
Pierre Ossman
82d22e6499
Remove destroy functions
These are just confusing and obfuscating. Do a normal delete of
these objects instead.
hace 5 años
Pierre Ossman
19225507cc
Make exception classes have clearer messages
Include the type of exception in the string generated by each
subclass. Also simplify the constructs to what is needed.
hace 6 años
Michal Srb
dccb5f7d77
Prevent leak of SecurityServer and ClientServer.
They are created in SConnection's and CConnection's constructors but never destroyed.
There is no reason for the indirection, so lets make them direct members.
hace 7 años
Pierre Ossman
a4c0aac639
Client support for cursors with full alpha
hace 7 años
Brian P. Hinz
5d663058f0
Fix minor typo in framebuffer initialization
hace 7 años
Pierre Ossman
504afa27c1
Make the decoder multi-threaded
This implements the basic infrastructure for multi-threaded
decoding of rects. However there is just one thread reading data
and one thread decoding it. More logic is needed to safely decode
multiple rects at the same time.
hace 8 años
Pierre Ossman
3da238dee8
Let CConnection intercept more callbacks
We need more callbacks for correct operation of multi-threaded
rect decoding.
hace 8 años
Pierre Ossman
9f273e9cd8
Delegate decoder object management to a separate class
Done in preparation for multi-core decoding. Keeps the complexity
out of the other classes. This also moves ownership of the
framebuffer in to CConnection. It's the CConnection object that is
aware of the threads and how to synchronise with them. Therefore
the ownership of the framebuffer must also be there to make sure
it isn't deleted whilst threads are working.
hace 8 años
Pierre Ossman
0068a4f5fa
Clean out unused dependencies from CConnection.h
hace 8 años
Pierre Ossman
07eec1b59b
Remove unused deleteReaderAndWriter() method
hace 8 años
Pierre Ossman
a7bbe9c4a3
Make sure Exceptions do not use unsafe format strings
hace 9 años
Pierre Ossman
71d6666398
Always log chosen security type
It's often useful to see if encryption was used, and how the user
authenticated (if at all).
hace 9 años
Pierre Ossman
7638e9c5b1
Merge the "V3" message classes into the normal ones
We have no need for this abstraction so let's keep things simple.
hace 10 años
Pierre Ossman
ad8609a2ed
Fix unsafe usage of the logging functions.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4905 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 12 años
Pierre Ossman
c754cceeca
Basic infrastructure to support fences.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4798 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 12 años
Adam Tkac
7cb47d6b3c
[Bugfix] Honor server security type order instead of client's when negotiating security type.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4300 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 13 años
Adam Tkac
bfd66c1e8c
[Development] Move Get{C,S}Security from Security class to separate classes.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4156 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 13 años
Adam Tkac
fb993153a0
[Development] Extend Security class to allow different default sectypes for server/viewer.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4122 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 14 años
Adam Tkac
05a0cd6628
[Development] Client now uses security types from -SecurityTypes parameter instead of hardcoded list.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4094 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 14 años
Adam Tkac
0c8194feb4
[Cleanup] Remove unused CConnection::setClientSecTypeOrder function.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4093 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 14 años
Adam Tkac
f324dc451b
[Development] Use enhanced Security class by both UNIX and Windows viewers.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4042 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 14 años
Adam Tkac
5a0caed91c
[Development] Rename common/rfb/secTypes.{h,cxx} to common/rfb/Security.{h,cxx}.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4033 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 14 años
Adam Tkac
d36b626bbb
Revert previous commit (r3889). Windows code has to be cleaned before this
change.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3890 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 14 años
Adam Tkac
97abe8a548
Replace rfb::strDup by safe_strdup and remove rfb::strFree in favor of free()
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3889 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 14 años
Constantin Kaplinsky
a2adc8d4cf
Migrating to new directory structure adopted from the RealVNC's source tree. More changes will follow.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 18 años
Constantin Kaplinsky
de179d4ed7
The "rfb" library merged with VNC 4.1.1 code.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/merge-with-vnc-4.1.1@522 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 18 años
Constantin Kaplinsky
47ed8d321c
Initial revision
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2 3789f03b-4d11-0410-bbf8-ca57d06f2519
hace 19 años