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