1 Mark sent me patches to no longer need C++ for ZRLE encoding!
2 added --disable-cxx Option for configure
3 x11vnc changes from Karl Runge:
4 - Changed all those whimpy printf(...)'s into manly fprintf(stdxxx,...)'s.
6 - Added -q switch (quiet) to suppress printing all the debug-looking output.
8 - Added -bg switch to fork into background after everything is set up.
9 (checks for LIBVNCSERVER_HAVE_FORK and LIBVNCSERVER_HAVE_SETSID)
11 - Print this string out to stdout: 'PORT=XXXX' (usually XXXX = 5900).
12 Combining with -bg, easy to write a ssh/rsh wrapper with something like:
13 port=`ssh $host "x11vnc -bg .."` then run vncviewer based on $port output.
14 (tunneling the vnc traffic thru ssh a bit more messy, but doable)
16 - Quite a bit of code to be more careful when doing 8bpp indexed color, e.g.
17 not assuming NCOLORS is 256, handling 8bit TrueColor and Direct Color, etc
18 (I did all this probably in April, not quite clear in my mind now, but
19 I did test it out a fair amount on my old Sparcstation 20 wrt a user's
21 introduce rfbErr for Errors (Erik)
22 make rfbLog overridable (suggested by Erik)
23 don't reutrn on EINTR in WriteExact()/ReadExact() (suggested by Erik)
24 use AX_PREFIX_CONFIG_H to prefix constants in config.h to avoid
25 name clashes (also suggested by Erik)
26 transformed Bool, KeySym, Pixel to rfbBool, rfbKeySym, rfbPixel
27 (as suggested by Erik)
28 purged exit() calls (suggested by Erik)
29 fixed bug with maxRectsPerUpdate and Tight Encoding (these are incompatible)
30 checked sync with TightVNC 1.2.8:
31 viewonly/full passwords; if given a list, only the first is a full one
32 vncRandomBytes is a little more secure now
33 new weights for tight encoding
34 checked sync with RealVNC 3.3.7
35 introduced maxRectsPerUpdate
36 added first alpha version of LibVNCClient
37 added simple and simple15 example (really simple examples)
38 finally got around to fix configure in CVS
39 long standing http bug (.jar was sent twice) fixed by a friend of Karl named Mike
41 when closing a client and no longer listening for new ones, don't crash
42 fixed a bug with ClientConnectionGone
43 endianness is checked at configure time
44 fixed a bug that prevented the first client from being closed
45 fixed that annoying "libvncserver-config --link" bug
46 make rfbReverseByte public (for rdp2vnc)
47 fixed compilation on OS X, IRIX, Solaris
48 install target for headers is now ${prefix}/include/rfb ("#include <rfb/rfb.h>")
49 renamed "sraRegion.h" to "rfbregion.h"
50 CARD{8,16,32} are more standard uint{8,16,32}_t now
51 fixed LinuxVNC colour handling
52 fixed a bug with pthreads where the connection was not closed
53 moved vncterm to main package (LinuxVNC included)
54 portability fixes (IRIX, OSX, Solaris)
55 more portable way to determine endianness and types of a given size
56 through autoconf based methods
58 rpm packaging through autoconf
59 autoconf'ed the whole package (including optional support for zlib,
60 pthreads and libjpeg as well as zrle/c++)
61 moved appropriate files to contrib/ and examples/ respectively
62 fixed long standing cargs bug (Justin "Zippy" Dearing)
63 Even better x11vnc from Karl J. Runge! (supports different kbd layouts of
65 Better x11vnc from Karl J. Runge!
66 fixed severe bug (Const Kaplinsky)
67 got patch from Const Kaplisnky with CursorPosUpdate encoding and some Docs
68 sync'ed with newest RealVNC (ZRLE encoding)
69 a HTTP request for tunnelling was added (to fool strict web proxies)
70 sync'ed with TightVNC 1.2.5
72 support for NewFB from Const Kaplinsky
73 memory leaks squashed (localtime pseudo leak is still there :-)
74 small improvements for OSXvnc (still not working correctly)
75 synced with TightVNC 1.2.3
76 solaris compile cleanups
77 many x11vnc improvements
78 added backchannel, an encoding which needs special clients to pass
79 arbitrary data to the client
80 changes from Tim Jansen regarding multi threading and client blocking
81 as well as C++ compliancy
82 x11vnc can be controlled by starting again with special options if compiling
83 with LOCAL_CONTROL defined
85 added x11vnc, a x0rfbserver clone
86 regard deferUpdateTime in processEvents, if usec<0
87 initialize deferUpdateTime (memory "leak"!)
88 changed command line handling (arguments are parsed and then removed)
89 added very simple example: zippy
90 added rfbDrawLine, rfbDrawPixel
92 inserted a deferUpdate mechanism (X11 independent).
93 removed deletion of requestedRegion
94 added rfbLoadConsoleFont
95 fixed font colour handling.
97 added rfbDrawCharWithClip to allow for clipping and a background colour.
100 added IO function to check password.
101 rfbNewClient now sets the socket in the fd_set (for the select() call)
102 when compiling the library with HAVE_PTHREADS and an application
103 which includes "rfb.h" without, the structures got mixed up.
104 So, the pthreads section is now always at the end, and also
105 you get a linker error for rfbInitServer when using two different
107 fixed two deadlocks: when setting a cursor and when using CopyRect
108 fixed CopyRect when copying modified regions (they lost the modified
110 WIN32 target compiles and works for example :-)
111 fixed CopyRect (was using the wrong order of rectangles...)
112 should also work with pthreads, because copyrects are
113 always sent immediately (so that two consecutive copy rects
115 changed rfbUndrawCursor(rfbClientPtr) to (rfbScreenInfoPtr), because
116 this makes more sense!
117 flag backgroundLoop in rfbScreenInfo (if having pthreads)
118 CopyRect & CopyRegion were implemented.
119 if you use a rfbDoCopyR* function, it copies the data in the
120 framebuffer. If you prefer to do that yourself, use rfbScheduleCopyR*
121 instead; this doesn't modify the frameBuffer.
122 added flag to optionally not send XCursor updates, but only RichCursor,
123 or if that is not possible, fall back to server side cursor.
124 This is useful if your cursor has many nice colours.
125 fixed java viewer on server side:
126 SendCursorUpdate would send data even before the client pixel format
127 was set, but the java applet doesn't like the server's format.
128 fixed two pthread issues:
129 rfbSendFramebuffer was sent by a ProcessClientMessage function
130 (unprotected by updateMutex).
131 cursor coordinates were set without protection by cursorMutex
132 source is now equivalent to TridiaVNC 1.2.1
133 pthreads now work (use iterators!)
134 cursors are supported (rfbSetCursor automatically undraws cursor)
135 support for 3 bytes/pixel (slow!)
136 server side colourmap support
137 fixed rfbCloseClient not to close the connection (pthreads!)
138 this is done lazily (and with proper signalling).
139 cleaned up mac.c (from original OSXvnc); now compiles (untested!)
140 compiles cleanly on Linux, IRIX, BSD, Apple (Darwin)
143 rewrote API to use pseudo-methods instead of required functions.
145 Example can show symbols now.