10.9.10 2 - Overall changes: 3 * Moved the whole project from sourceforge to https://libvnc.github.io/. 4 * Cleaned out the autotools build system which now uses autoreconf. 5 * Updated noVNC HTML5 client to latest version. 6 * Split out x11vnc sources into separate repository at 7 https://github.com/LibVNC/x11vnc 8 * Split out vncterm sources into separate repository at 9 https://github.com/LibVNC/vncterm 10 * Split out VisualNaCro sources into separate repository at 11 https://github.com/LibVNC/VisualNaCro 12 * Merged Debian patches. 13 14 - LibVNCServer/LibVNCClient: 15 * Fixed some security-related buffer overflow cases. 16 * Added compatibility headers to make LibVNCServer/LibVNCClient build on native 17 Windows 8. 18 * Update LZO to version 2.07, fixing CVE-2014-4607. 19 20 - LibVNCServer: 21 * Merged patches from KDE/krfb. 22 * Can now do IPv6 without IPv4. 23 * Fixed a use-after-free issue in scale.c. 24 250.9.9 26 - Overall changes: 27 * Added noVNC HTML5 VNC viewer (http://kanaka.github.com/noVNC/) connect possibility 28 to our http server. Pure JavaScript, no Java plugin required anymore! (But a 29 recent browser...) 30 * Added a GTK+ VNC viewer example. 31 32 - LibVNCServer/LibVNCClient: 33 * Added support to build for Google Android. 34 * Complete IPv6 support in both LibVNCServer and LibVNCClient. 35 36 - LibVNCServer: 37 * Split two event-loop related functions out of the rfbProcessEvents() mechanism. 38 This is required to be able to do proper event loop integration with Qt. Idea was 39 taken from Vino's libvncserver fork. 40 * Added TightPNG (http://wiki.qemu.org/VNC_Tight_PNG) encoding support. Like the 41 original Tight encoding, this still uses JPEG, but ZLIB encoded rects are encoded 42 with PNG here. 43 * Added suport for serving VNC sessions through WebSockets 44 (http://en.wikipedia.org/wiki/WebSocket), a web technology providing for multiplexing 45 bi-directional, full-duplex communications channels over a single TCP connection. 46 * Support connections from the Mac OS X built-in VNC client to LibVNCServer 47 instances running with no password. 48 * Replaced the Tight encoder with a TurboVNC one which is tremendously faster in most 49 cases, especially with high-color video or 3D workloads. 50 (http://www.virtualgl.org/pmwiki/uploads/About/tighttoturbo.pdf) 51 52 - LibVNCClient: 53 * Added support to only listen for reverse connections on a specific IP address. 54 * Support for using OpenSSL instead of GnuTLS. This could come in handy on embedded 55 devices where only this TLS implementation is available. 56 * Added support to connect to UltraVNC Single Click servers. 57 580.9.8.2 59 - Fixed a regression that crept in with the Apple Remote Desktop support. 60 610.9.8.1 62 - Fixed an ABI compatibility issue. 63 640.9.8 65 - Overall changes: 66 * Automagically generated API documentation using doxygen. 67 * Added support for pkg-config. 68 * Fixed Mingw32 cross compilation. 69 * Fixed CMake build system. 70 71 - LibVNCServer/LibVNCClient: 72 * All files used by _both_ LibVNCServer and LibVNCClient were put into 73 a 'common' directory, reducing code duplication. 74 * Implemented xvp VNC extension. 75 * Updated minilzo library used for Ultra encoding to ver 2.04. 76 According to the minilzo README, this brings a significant 77 speedup on 64-bit architechtures. 78 79 - LibVNCServer: 80 * Thread safety for ZRLE, Zlib, Tight, RRE, CoRRE and Ultra encodings. 81 This makes all VNC encodings safe to use with a multithreaded server. 82 * A DisplayFinishedHook for LibVNCServer. If set, this hook gets called 83 just before rfbSendFrameBufferUpdate() returns. 84 * Fix for tight security type for RFB 3.8 in TightVNC file transfer 85 (Debian Bug #517422). 86 87 - LibVNCClient: 88 * Unix sockets support. 89 * Anonymous TLS security type support. 90 * VeNCrypt security type support. 91 * MSLogon security type support. 92 * ARD (Apple Remote Desktop) security type support. 93 * UltraVNC Repeater support. 94 * A new FinishedFrameBufferUpdate callback that is invoked after each 95 complete framebuffer update. 96 * A new non-forking listen (reverse VNC) function that works under 97 Windows. 98 * IPv6 support. LibVNCClient is now able to connect to IPv6 VNC servers. 99 * IP QoS support. This enables setting the DSCP/Traffic Class field of 100 IP/IPv6 packets sent by a client. For example starting a client with 101 -qosdscp 184 marks all outgoing traffic for expedited forwarding. 102 Implementation for Win32 is still a TODO, though. 103 * Fixed hostname resolution problems under Windows. 104 105 - SDLvncviewer 106 * Is now resizable and can do key repeat, mouse wheel scrolling 107 and clipboard copy and paste. 108 109 - LinuxVNC: 110 * Fix for no input possible because of ctrl key being stuck. 111 Issue was reported as Debian bug #555988. 112 113 1140.9.7 115 Mark sent me patches to no longer need C++ for ZRLE encoding! 116 added --disable-cxx Option for configure 117 x11vnc changes from Karl Runge: 118 - Changed all those whimpy printf(...)'s into manly fprintf(stdxxx,...)'s. 119 120 - Added -q switch (quiet) to suppress printing all the debug-looking output. 121 122 - Added -bg switch to fork into background after everything is set up. 123 (checks for LIBVNCSERVER_HAVE_FORK and LIBVNCSERVER_HAVE_SETSID) 124 125 - Print this string out to stdout: 'PORT=XXXX' (usually XXXX = 5900). 126 Combining with -bg, easy to write a ssh/rsh wrapper with something like: 127 port=`ssh $host "x11vnc -bg .."` then run vncviewer based on $port output. 128 (tunneling the vnc traffic thru ssh a bit more messy, but doable) 129 130 - Quite a bit of code to be more careful when doing 8bpp indexed color, e.g. 131 not assuming NCOLORS is 256, handling 8bit TrueColor and Direct Color, etc 132 (I did all this probably in April, not quite clear in my mind now, but 133 I did test it out a fair amount on my old Sparcstation 20 wrt a user's 134 questions). 135 introduce rfbErr for Errors (Erik) 136 make rfbLog overridable (suggested by Erik) 137 don't reutrn on EINTR in WriteExact()/ReadExact() (suggested by Erik) 138 use AX_PREFIX_CONFIG_H to prefix constants in config.h to avoid 139 name clashes (also suggested by Erik) 140 transformed Bool, KeySym, Pixel to rfbBool, rfbKeySym, rfbPixel 141 (as suggested by Erik) 142 purged exit() calls (suggested by Erik) 143 fixed bug with maxRectsPerUpdate and Tight Encoding (these are incompatible) 144 checked sync with TightVNC 1.2.8: 145 viewonly/full passwords; if given a list, only the first is a full one 146 vncRandomBytes is a little more secure now 147 new weights for tight encoding 148 checked sync with RealVNC 3.3.7 149 introduced maxRectsPerUpdate 150 added first alpha version of LibVNCClient 151 added simple and simple15 example (really simple examples) 152 finally got around to fix configure in CVS 153 long standing http bug (.jar was sent twice) fixed by a friend of Karl named Mike 154 http options in cargs 155 when closing a client and no longer listening for new ones, don't crash 156 fixed a bug with ClientConnectionGone 157 endianness is checked at configure time 158 fixed a bug that prevented the first client from being closed 159 fixed that annoying "libvncserver-config --link" bug 160 make rfbReverseByte public (for rdp2vnc) 161 fixed compilation on OS X, IRIX, Solaris 162 install target for headers is now ${prefix}/include/rfb ("#include <rfb/rfb.h>") 163 renamed "sraRegion.h" to "rfbregion.h" 164 CARD{8,16,32} are more standard uint{8,16,32}_t now 165 fixed LinuxVNC colour handling 166 fixed a bug with pthreads where the connection was not closed 167 moved vncterm to main package (LinuxVNC included) 168 portability fixes (IRIX, OSX, Solaris) 169 more portable way to determine endianness and types of a given size 170 through autoconf based methods 1710.5 172 rpm packaging through autoconf 173 autoconf'ed the whole package (including optional support for zlib, 174 pthreads and libjpeg as well as zrle/c++) 175 moved appropriate files to contrib/ and examples/ respectively 176 fixed long standing cargs bug (Justin "Zippy" Dearing) 177 Even better x11vnc from Karl J. Runge! (supports different kbd layouts of 178 client/server) 179 Better x11vnc from Karl J. Runge! 180 fixed severe bug (Const Kaplinsky) 181 got patch from Const Kaplisnky with CursorPosUpdate encoding and some Docs 182 sync'ed with newest RealVNC (ZRLE encoding) 183 a HTTP request for tunnelling was added (to fool strict web proxies) 184 sync'ed with TightVNC 1.2.5 1850.4 186 support for NewFB from Const Kaplinsky 187 memory leaks squashed (localtime pseudo leak is still there :-) 188 small improvements for OSXvnc (still not working correctly) 189 synced with TightVNC 1.2.3 190 solaris compile cleanups 191 many x11vnc improvements 192 added backchannel, an encoding which needs special clients to pass 193 arbitrary data to the client 194 changes from Tim Jansen regarding multi threading and client blocking 195 as well as C++ compliancy 196 x11vnc can be controlled by starting again with special options if compiling 197 with LOCAL_CONTROL defined 1980.3 199 added x11vnc, a x0rfbserver clone 200 regard deferUpdateTime in processEvents, if usec<0 201 initialize deferUpdateTime (memory "leak"!) 202 changed command line handling (arguments are parsed and then removed) 203 added very simple example: zippy 204 added rfbDrawLine, rfbDrawPixel 2050.2 206 inserted a deferUpdate mechanism (X11 independent). 207 removed deletion of requestedRegion 208 added rfbLoadConsoleFont 209 fixed font colour handling. 210 added rfbSelectBox 211 added rfbDrawCharWithClip to allow for clipping and a background colour. 212 fixed font colours 213 added rfbFillRect 214 added IO function to check password. 215 rfbNewClient now sets the socket in the fd_set (for the select() call) 216 when compiling the library with HAVE_PTHREADS and an application 217 which includes "rfb.h" without, the structures got mixed up. 218 So, the pthreads section is now always at the end, and also 219 you get a linker error for rfbInitServer when using two different 220 pthread setups. 221 fixed two deadlocks: when setting a cursor and when using CopyRect 222 fixed CopyRect when copying modified regions (they lost the modified 223 property) 224 WIN32 target compiles and works for example :-) 225 fixed CopyRect (was using the wrong order of rectangles...) 226 should also work with pthreads, because copyrects are 227 always sent immediately (so that two consecutive copy rects 228 cannot conflict). 229 changed rfbUndrawCursor(rfbClientPtr) to (rfbScreenInfoPtr), because 230 this makes more sense! 231 flag backgroundLoop in rfbScreenInfo (if having pthreads) 232 CopyRect & CopyRegion were implemented. 233 if you use a rfbDoCopyR* function, it copies the data in the 234 framebuffer. If you prefer to do that yourself, use rfbScheduleCopyR* 235 instead; this doesn't modify the frameBuffer. 236 added flag to optionally not send XCursor updates, but only RichCursor, 237 or if that is not possible, fall back to server side cursor. 238 This is useful if your cursor has many nice colours. 239 fixed java viewer on server side: 240 SendCursorUpdate would send data even before the client pixel format 241 was set, but the java applet doesn't like the server's format. 242 fixed two pthread issues: 243 rfbSendFramebuffer was sent by a ProcessClientMessage function 244 (unprotected by updateMutex). 245 cursor coordinates were set without protection by cursorMutex 246 source is now equivalent to TridiaVNC 1.2.1 247 pthreads now work (use iterators!) 248 cursors are supported (rfbSetCursor automatically undraws cursor) 249 support for 3 bytes/pixel (slow!) 250 server side colourmap support 251 fixed rfbCloseClient not to close the connection (pthreads!) 252 this is done lazily (and with proper signalling). 253 cleaned up mac.c (from original OSXvnc); now compiles (untested!) 254 compiles cleanly on Linux, IRIX, BSD, Apple (Darwin) 255 fixed prototypes 2560.1 257 rewrote API to use pseudo-methods instead of required functions. 258 lots of clean up. 259 Example can show symbols now. 260 All encodings 261 HTTP 262