Commit Graph

48 Commits (06af02b5accbe88a7fad28dceae5b85a0f11e4ad)

Author SHA1 Message Date
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 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 1602b345f3 add KeyboardLedState extension 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 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.
20 years ago
dscho d15e35586b kill BackChannel and CustomClientMessage: the new extension technique makes these hooks obsolete 20 years ago
dscho 60f1770e10 provide a list of the pseudo encodings understood by the extension 20 years ago
dscho 8490de3ff0 add enablePseudoEncoding() to rfbProtocolExtension 20 years ago
dscho 0a909fde7a This monster commit contains support for TightVNC's file transfer protocol.
Thank you very much, Rohit!
20 years ago
dscho 93be927b1c Introduce generic protocol extension method. Deprecate
the processCustomClientMessage() method.
20 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 Rohit´s original approach.
20 years ago
dscho da7b3e714f support VNC protocol version 3.7 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
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
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... 21 years ago
dscho 658b65ad0c support MinGW32! 21 years ago
dscho 97299606da global structures/functions should have "rfb", "sra" or "zrle" as prefix,
while structure members should not
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 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 22 years ago
dscho 4fcb60871b rfbErr introduced 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 a1ce2ac48f make vncauth usable also for upcoming libvncclient 22 years ago
dscho d75c85d737 #include <rfb/rfbregion.h> instead of #include "rfbregion.h" 22 years ago
dscho e22be6634d moved include/ to rfb/ 22 years ago