dscho
26b291bf25
rfbclient.h: use 'extern "C"' to make it convenient to include from C++
18 years ago
dscho
1060f747be
rfb.h: Do not misplace guards
...
This buglet made it impossible to double include rfb.h from C++.
18 years ago
dscho
14b290384a
LibVNCClient: some users do not want to get whole-screen updates; introduce client->updateRect for that
18 years ago
runge
1f8da9bde3
libvncclient: add GotCursorShape() and GotCopyRect(); x11vnc dep on libvncclient
18 years ago
runge
afc931f15d
Move our rfbEncodings numbers out of the TightVNC range.
18 years ago
dscho
6dd263946e
do not always include rfb/keysym.h
18 years ago
dscho
6cfd9afee9
make cut text handling using a hook
18 years ago
steven_carr
3dff7658dc
KeyboardLedState Encoding Masks are now defined for portability
19 years ago
steven_carr
2fa31ba4ea
Permit auth.c to test major version
19 years ago
steven_carr
7218843ac0
Support sending TextChat messages back to the client
19 years ago
steven_carr
1c3af68549
Default to RFB 3.8, add command line option to specify the RFB version.
19 years ago
steven_carr
ccdbe8f325
The great UltraVNC Compatibility Commit
19 years ago
steven_carr
0d734ad896
Server Capability Encodings
...
rfbEncodingSupportedEncodings - What encodings are supported?
rfbEncodingSupportedMessages - What message types are supported?
rfbEncodingServerIdentity - What is the servers version string?
ie: "x11vnc: 0.8.1 lastmod: 2006-04-25 (LibVNCServer 0.9pre)"
19 years ago
steven_carr
5865f0c4b7
Client side support for PalmVNC/UltraVNC 'Server Side Scaling'
19 years ago
steven_carr
97fe75fdce
KeyboardLedState should be placed in 'various protocol extensions'
19 years ago
steven_carr
2670641432
Client Independent Server Side Scaling is now supported
...
Both PalmVNC and UltraVNC SetScale messages are supported
19 years ago
steven_carr
afa9fae024
Ultra Encoding added. Tested against UltraVNC V1.01
19 years ago
dscho
7602f0e750
libvncclient: support changing of framebuffer size; make SDLvncviewer use it
19 years ago
dscho
1602b345f3
add KeyboardLedState extension
19 years ago
dscho
b7a901d78f
do not assume that KEYSYM_H guards X11's keysym.h
19 years ago
dscho
f52cfa651b
add handleEventsEagerly flag (Thanks, Donald)
19 years ago
rohit_99129
b7773ea6e6
Added method to get extension specific client data
19 years ago
rohit_99129
eb08d83d62
Added method to get extension specific client data
19 years ago
dscho
d3599be1b8
add functions to unregister extensions/security types
19 years ago
dscho
1c26789eff
introduce -deferptrupdate (thanks Dave)
19 years ago
dscho
61204490ce
plug memory leaks
19 years ago
runge
8eb18f6cd8
fix deadlock from rfbReleaseExtensionIterator(), fix no libz/libjpeg builds, disable tightvnc-filetransfer if no libpthread, add --without-pthread option, rm // comments, set NAME_MAX if not defined, x11vnc: throttle load if fb update requests not taking place.
19 years ago
dscho
951ec26b7c
The PseudoEncoding extension code was getting silly:
...
If the client asked for an encoding, and no enabled extension handled it,
LibVNCServer would walk through all extensions, and if they promised to handle
the encoding, execute the extension's newClient() if it was not NULL.
However, if newClient is not NULL, it will be called when a client connects,
and if it returns TRUE, the extension will be enabled. Since all the state of
the extension should be in the client data, there is no good reason why
newClient should return FALSE the first time (thus not enabling the extension),
but TRUE when called just before calling enablePseudoEncoding().
So in effect, the extension got enabled all the time, even if that was not
necessary.
The resolution is to pass a void** to enablePseudoEncoding. This has the
further advantage that enablePseudoEncoding can remalloc() or free() the
data without problems. Though keep in mind that if enablePseudoEncoding()
is called on a not-yet-enabled extension, the passed data points to NULL.
19 years ago
dscho
194a76df11
add an extension mechanism for LibVNCClient, modify the client data handling
...
so that more than one data structure can be attached, and add an example
to speak the client part of the back channel.
19 years ago
dscho
d15e35586b
kill BackChannel and CustomClientMessage: the new extension technique makes these hooks obsolete
19 years ago
dscho
60f1770e10
provide a list of the pseudo encodings understood by the extension
19 years ago
dscho
8490de3ff0
add enablePseudoEncoding() to rfbProtocolExtension
19 years ago
dscho
0a909fde7a
This monster commit contains support for TightVNC's file transfer protocol.
...
Thank you very much, Rohit!
19 years ago
dscho
93be927b1c
Introduce generic protocol extension method. Deprecate
...
the processCustomClientMessage() method.
19 years ago
dscho
94fcd86cc2
Security is global. This was a misguided attempt to evade a global list.
...
I eventually saw the light and went with Rohits original approach.
19 years ago
dscho
da7b3e714f
support VNC protocol version 3.7
19 years ago
dscho
7a12087ba0
add definitions from other VNC implementations
20 years ago
dscho
669b4c8685
make zlib and tight handling thread safe (static -> rfbClient)
20 years ago
dscho
a40b790ee4
fix compilation for systems without socklen_t
20 years ago
dscho
ee52441372
hide strict ansi stuff if not explicitely turned on; actually use the socklen_t test from configure.ac
20 years ago
dscho
8bee4eb990
ANSIfy, fix some warnings from Linus' sparse
20 years ago
dscho
34f714bcdc
socketInitDone -> socketState
20 years ago
dscho
cef6224e1c
do the in_addr_t stuff correctly...
20 years ago
runge
b8b96689bf
add '-listen ipaddr' option
20 years ago
dscho
6273f2065a
implemented Floyd-Steinberg dither in order to rfbMakeMaskFromAlphaSource
20 years ago
dscho
a84b3d072a
pointerClient was still static.
...
do not make requestedRegion empty without reason.
the cursor handling for clients which don't handle CursorShape updates was
completely broken. It originally was very complicated for performance
reasons, however, in most cases it made performance even worse, because at
idle times there was way too much checking going on, and furthermore,
sometimes unnecessary updates were inevitable.
The code now is much more elegant: the ClientRec structure knows exactly
where it last painted the cursor, and the ScreenInfo structure knows where
the cursor shall be.
As a consequence there is no more rfbDrawCursor()/rfbUndrawCursor(), no more
dontSendFramebufferUpdate, and no more isCursorDrawn. It is now possible to
have clients which understand CursorShape updates and clients which don't at
the same time.
rfbSetCursor no longer has the option freeOld; this is obsolete, as the cursor
structure knows what to free and what not.
20 years ago
dscho
dd923e8660
add convenience function to clip using x2,y2 instead of w,h
20 years ago
runge
b58e460fac
add cursor alphablending to rfb.h cursor.c, x11vnc -alphablend -snapfb etc..
20 years ago
dscho
2cd3c824c6
return value of rfbProcessEvents tells if an update was pending
20 years ago
dscho
e78a41c69c
add hook to allow for custom client messages
20 years ago
dscho
7e13b8a594
fix compilation on non MinGW32...
20 years ago
dscho
658b65ad0c
support MinGW32!
20 years ago
dscho
9a8a28c117
add EncodingUltra; it is not implemented in the libraries yet, so this is just a place holder
20 years ago
dscho
b583cf5347
move read buffer to rfbClient structure (thread safety); make rfbClientLog
...
overrideable
20 years ago
dscho
97299606da
global structures/functions should have "rfb", "sra" or "zrle" as prefix,
...
while structure members should not
21 years ago
dscho
a6d341c01e
more comments; support playing vncrec'orded files
21 years ago
dscho
fefcb9188a
fix cursor trails (when not using cursor encoding and moving the cursor,
...
the redrawn part of the screen didn't get updated, and so left cursor trails).
21 years ago
dscho
2b8c2a5c3a
add client_examples/, add SDLvncviewer, libvncclient API changes, suppress automake CFLAGS nagging
21 years ago
dscho
34fc97a52a
add "-progressive height" option to make SendFramebufferUpdate "preemptive"
21 years ago
dscho
d58d3af1ce
ignore SIGPIPE by default; it is handled via EPIPE
21 years ago
dscho
937b906f0d
ZRLE no longer uses C++, but C
21 years ago
dscho
4fcb60871b
rfbErr introduced
22 years ago
dscho
79c414ab99
forgot to change WORDS_BIGENDIAN to LIBVNCSERVER_BIGENDIAN; #undef VERSION unneccessary...
22 years ago
dscho
48029a3a0b
rfbLog can be overridden; EINTR on read/write means just try again
22 years ago
dscho
ae5142bdbd
add rfbclient.h to distribution; avoid C++ style comments
22 years ago
dscho
eeb2061dfb
API change: Bool, KeySym, Pixel get prefix "rfb"; constants in rfbconfig.h get prefix "LIBVNCSERVER_"
22 years ago
dscho
964aa1628f
further valgrinding showed leaked mallocs
22 years ago
dscho
13b358fed1
fixed maxRectsPerUpdate with Tight encoding bug; some autoconfing; stderr should not be used in a library (use rfbLog instead)
22 years ago
dscho
9f0a1a3bc1
synced with TightVNC and RealVNC
22 years ago
dscho
0fc57f2054
first alpha version of libvncclient
22 years ago
dscho
a1ce2ac48f
make vncauth usable also for upcoming libvncclient
22 years ago
dscho
1694a57460
these files are generated by configure
22 years ago
dscho
d5ac0a551a
another try to make CVS more helpful with configure
22 years ago
dscho
d75c85d737
#include <rfb/rfbregion.h> instead of #include "rfbregion.h"
22 years ago
dscho
7caf2e3b53
forgotten .cvsignore
22 years ago
dscho
e22be6634d
moved include/ to rfb/
22 years ago