diff options
author | Christian Beier <dontmind@freeshell.org> | 2012-05-04 18:59:17 +0200 |
---|---|---|
committer | Christian Beier <dontmind@freeshell.org> | 2012-05-04 18:59:17 +0200 |
commit | 7bac05aeeda213fda66692ae3296371815d4c91c (patch) | |
tree | 0272040a174575593ea8516574f96cfddc0107c8 | |
parent | f9e11bb22299fbb8fef19a61fc38f2a645a1d5a7 (diff) | |
download | libtdevnc-7bac05aeeda213fda66692ae3296371815d4c91c.tar.gz libtdevnc-7bac05aeeda213fda66692ae3296371815d4c91c.zip |
Update ChangeLog for 0.9.9.
-rw-r--r-- | ChangeLog | 1070 |
1 files changed, 1070 insertions, 0 deletions
@@ -1,8 +1,702 @@ +2012-05-04 Christian Beier <dontmind@freeshell.org> + + * configure.ac: Enable building DLLs with MinGW32. + +2012-05-04 Christian Beier <dontmind@freeshell.org> + + * NEWS: Update NEWS for 0.9.9. + +2012-05-03 Christian Beier <dontmind@freeshell.org> + + * libvncclient/rfbproto.c: LibVNCClient: #undef these types in case + it's WIN32. The various other headers include windows.h and the winsock headers + which give an error when SOCKET and socklen_t are already defined. + +2012-05-03 Christian Beier <dontmind@freeshell.org> + + * rfb/rfb.h: LibVNCServer: Include ws2tcpip.h if it's available. Needed for the IPv6 stuff. + +2012-04-30 Christian Beier <dontmind@freeshell.org> + + * libvncserver/Makefile.am: LibVNCServer: Prefer GnuTLS over OpenSSL + to be in sync with LibVNCClient. + +2012-04-30 Christian Beier <dontmind@freeshell.org> + + * libvncserver/rfbserver.c: Some more libjpeg, libpng and zlib + related build fixes. + +2012-04-30 Christian Beier <dontmind@freeshell.org> + + * configure.ac: Make PKG_CHECK_MODULES fail non-fatal. These check for optional modules. + +2012-04-30 Christian Beier <dontmind@freeshell.org> + + * libvncserver/rfbserver.c, rfb/rfb.h: Only try to build TightPNG + stuff when libjpeg is available. TightPNG replaces the ZLIB stuff int Tight encoding with PNG. It + still uses JPEG rects as well. Theoretically, we could build + TightPNG with only libpng and libjpeg - without zlib - but libpng + depends on zlib, so this is kinda moot. + +2012-04-27 Christian Beier <dontmind@freeshell.org> + + * test/Makefile.am: Only build libjpeg test programs if libjpeg is + actually available. + +2012-04-26 Christian Beier <dontmind@freeshell.org> + + * CMakeLists.txt: Fix CMake build of LibVNCClient. + +2012-04-26 Christian Beier <dontmind@freeshell.org> + + * libvncserver/rfbserver.c: Properly check return value. This also fixes a compiler warning. + +2012-04-26 Christian Beier <dontmind@freeshell.org> + + * configure.ac: Fix build when no libjpeg is available. + +2012-04-26 Christian Beier <dontmind@freeshell.org> + + * examples/android/Makefile.am, libvncserver/Makefile.am: Include + some more missing files for make dist. + +2012-04-25 Christian Beier <dontmind@freeshell.org> + + * libvncserver/Makefile.am: Include missing files for make dist. + +2012-04-25 Christian Beier <dontmind@freeshell.org> + + * libvncclient/Makefile.am: Fix libvncclient make dist. + +2012-04-25 Christian Beier <dontmind@freeshell.org> + + * configure.ac: Better check for Linux build. + +2012-04-25 Christian Beier <dontmind@freeshell.org> + + * vncterm/Makefile.am: Binaries that are to be installed should be + all lowercase. + +2012-04-25 Christian Beier <dontmind@freeshell.org> + + * CMakeLists.txt, configure.ac: Bump version to 0.9.9. + +2012-04-25 Christian Beier <dontmind@freeshell.org> + + * common/turbojpeg.c, libvncserver/rfbserver.c, + libvncserver/websockets.c, test/tjbench.c: Fix some compiler + warnings thrown with newer gcc. + +2012-04-25 Christian Beier <dontmind@freeshell.org> + + * test/Makefile.am: Fix turbojpeg tests compilation. + +2012-04-25 DRC <information@virtualgl.org> + + * common/turbojpeg.c: Fix compilation with some libjpeg + distributions. + +2012-04-22 Monkey <chris.boyle.1978@gmail.com> + + * libvncclient/rfbproto.c: Added support for UltraVNC Single Click + as originally proposed by Noobius (Boobius) on 6/1/11. Original thread: + + http://sourceforge.net/tracker/?func=detail&aid=3310255&group_id=32584&atid=405860 + +2012-04-15 Christian Beier <dontmind@freeshell.org> + + * AUTHORS: Add Philip to AUTHORS. + +2012-04-15 Christian Beier <dontmind@freeshell.org> + + * libvncclient/tls_none.c: LibVNCClient: Fix build with no SSL/TLS + library available. + +2012-04-15 Christian Beier <dontmind@freeshell.org> + + * libvncclient/tls_openssl.c: LibVNCClient: properly free the + openssl session stuff on shutdown. + +2012-04-15 Christian Beier <dontmind@freeshell.org> + + * libvncclient/rfbproto.c, libvncclient/sockets.c, + libvncclient/tls_gnutls.c, libvncclient/vncviewer.c, + rfb/rfbclient.h: LibVNCClient: Remove all those WITH_CLIENT_TLS + #ifdefs and move GnuTLS specific functionality into tls_gnutls.c. + +2012-04-14 Christian Beier <dontmind@freeshell.org> + + * configure.ac: Unify GnuTLS vs OpenSSL build systems stuff between + libvncclient and libvncserver. + +2012-04-14 Christian Beier <dontmind@freeshell.org> + + * libvncclient/Makefile.am, libvncclient/tls.c, + libvncclient/tls_gnutls.c, libvncclient/tls_none.c, + libvncclient/tls_openssl.c: Add the OpenSSL libvncclient TLS version + to the build system. + +2012-04-12 Christian Beier <dontmind@freeshell.org> + + * webclients/novnc/LICENSE.txt, webclients/novnc/README.md, + webclients/novnc/include/base.css, + webclients/novnc/include/base64.js, + webclients/novnc/include/display.js, + webclients/novnc/include/input.js, + webclients/novnc/include/jsunzip.js, + webclients/novnc/include/rfb.js, webclients/novnc/include/ui.js, + webclients/novnc/include/util.js, webclients/novnc/include/vnc.js, + webclients/novnc/include/websock.js, + webclients/novnc/include/webutil.js, webclients/novnc/vnc.html, + webclients/novnc/vnc_auto.html: Update our copy of noVNC. Bugfixes and support for tight encoding with zlib. + +2012-04-12 Christian Beier <dontmind@freeshell.org> + + * libvncserver/tight.c: Make TurboVNC compress level 3 actually + work. + +2012-04-09 DRC <information@virtualgl.org> + + * common/turbojpeg.c: Fix memory leak in TurboVNC Note that the memory leak was only occurring with the colorspace + emulation code, which is only active when using regular libjpeg (not + libjpeg-turbo.) Diagnosed by Christian Beier, using valgrind. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2012-04-02 Christian Beier <dontmind@freeshell.org> + + * libvncclient/listen.c, libvncclient/sockets.c, + libvncserver/httpd.c, libvncserver/sockets.c: IPv6 support for + LibVNCServer, part four: add copyright notices to files with + non-trivial changes. + +2012-03-29 Johannes Schindelin <johannes.schindelin@gmx.de> + + * client_examples/SDLvncviewer.c: SDLvncviewer: map Apple/Windows + keys correctly Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2012-03-29 Johannes Schindelin <johannes.schindelin@gmx.de> + + * .gitignore: gitignore the compiled gtkvncclient Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2012-03-29 Johannes Schindelin <johannes.schindelin@gmx.de> + + * client_examples/SDLvncviewer.c: SDLvncviewer: fix the SDL_KEYUP + issue Keys got stuck because unicode is 0 upon SDL_KEYUP events, even if + the same key event sets unicode correctly in SDL_KEYDOWN events. Work around that for the common case (ASCII) using the fact that + both SDL and X11 keysyms were created with ASCII compatibility in + mind. So as long as we type ASCII symbols, we can map things + trivially. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2012-03-23 DRC <information@virtualgl.org> + + * CMakeLists.txt: Extend support for the new TurboVNC encoder to the + CMake build system + +2012-03-25 DRC <information@virtualgl.org> + + * common/turbojpeg.c, common/turbojpeg.h, configure.ac, + libvncserver/Makefile.am, libvncserver/rfbserver.c, + libvncserver/tight.c, libvncserver/turbo.c, rfb/rfb.h, + rfb/rfbproto.h, test/Makefile.am, test/bmp.c, test/bmp.h, + test/tjbench.c, test/tjunittest.c, test/tjutil.c, test/tjutil.h: + Replace TightVNC encoder with TurboVNC encoder. This patch is the + result of further research and discussion that revealed the + following: -- TightPng encoding and the rfbTightNoZlib extension need not + conflict. Since TightPng is a separate encoding type, not supported + by TurboVNC-compatible viewers, then the rfbTightNoZlib extension + can be used solely whenever the encoding type is Tight and disabled + with the encoding type is TightPng. -- In the TightVNC encoder, compression levels above 5 are basically + useless. On the set of 20 low-level datasets that were used to + design the TurboVNC encoder (these include the eight 2D application + captures that were also used when designing the TightVNC encoder, as + well as 12 3D application captures provided by the VirtualGL + Project-- see + http://www.virtualgl.org/pmwiki/uploads/About/tighttoturbo.pdf), + moving from Compression Level (CL) 5 to CL 9 in the TightVNC + encoder did not increase the compression ratio of any datasets more + than 10%, and the compression ratio only increased by more than 5% + on four of them. The compression ratio actually decreased a few + percent on five of them. In exchange for this paltry increase in + compression ratio, the CPU usage, on average, went up by a factor of + 5. Thus, for all intents and purposes, TightVNC CL 5 provides the + "best useful compression" for that encoder. -- TurboVNC's best compression level (CL 2) compresses 3D and video + workloads significantly more "tightly" than TightVNC CL 5 (~70% + better, in the aggregate) but does not quite achieve the same level + of compression with 2D workloads (~20% worse, in the aggregate.) + This decrease in compression ratio may or may not be noticeable, + since many of the datasets it affects are not performance-critical + (such as the console output of a compilation, etc.) However, for + peace of mind, it was still desirable to have a mode that compressed + with equal "tightness" to TightVNC CL 5, since we proposed to + replace that encoder entirely. -- A new mode was discovered in the TurboVNC encoder that produces, + in the aggregate, similar compression ratios on 2D datasets as + TightVNC CL 5. That new mode involves using Zlib level 7 (the same + level used by TightVNC CL 5) but setting the "palette threshold" to + 256, so that indexed color encoding is used whenever possible. This + mode reduces bandwidth only marginally (typically 10-20%) relative + to TurboVNC CL 2 on low-color workloads, in exchange for nearly + doubling CPU usage, and it does not benefit high-color workloads at + all (since those are usually encoded with JPEG.) However, it + provides a means of reproducing the same "tightness" as the TightVNC encoder on 2D workloads without sacrificing any compression for + 3D/video workloads, and without using any more CPU time than + necessary. -- The TurboVNC encoder still performs as well or better than the + TightVNC encoder when plain libjpeg is used instead of + libjpeg-turbo. Specific notes follow: common/turbojpeg.c common/turbojpeg.h: Added code to emulate the + libjpeg-turbo colorspace extensions, so that the TurboJPEG wrapper + can be used with plain libjpeg as well. This required updating the + TurboJPEG wrapper to the latest code from libjpeg-turbo 1.2.0, + mainly because the TurboJPEG 1.2 API handles pixel formats in a much + cleaner way, which made the conversion code easier to write. It + also eases the maintenance to have the wrapper synced as much as + possible with the upstream code base (so I can merge any relevant + bug fixes that are discovered upstream.) The libvncserver version of + the TurboJPEG wrapper is a "lite" version, containing only the JPEG + compression/decompression code and not the lossless transform, YUV + encoding/decoding, and dynamic buffer allocation features from + TurboJPEG 1.2. configure.ac: Removed the --with-turbovnc option. configure still + checks for the presence of libjpeg-turbo, but only for the purposes + of printing a performance warning if it isn't available. rfb/rfb.h: Fix a bug introduced with the initial TurboVNC encoder + patch. We cannot use tightQualityLevel for the TurboVNC 1-100 + quality level, because tightQualityLevel is also used by ZRLE. + Thus, a new parameter (turboQualityLevel) was created. rfb/rfbproto.h: Remove TurboVNC-specific #ifdefs and language libvncserver/rfbserver.c: Remove TurboVNC-specific #ifdefs. Fix + afore-mentioned tightQualityLevel bug. libvncserver/tight.c: Replaced the TightVNC encoder with the + TurboVNC encoder. Relative to the initial TurboVNC encoder patch, + this patch also: -- Adds TightPng support to the TurboVNC encoder -- + Adds the afore-mentioned low-bandwidth mode, which is mapped + externally to Compression Level 9 test/*: Included TJUnitTest (a regression test for the TurboJPEG + wrapper) as well as TJBench (a benchmark for same.) These are + useful for ensuring that the wrapper still functions correctly and + performantly if it needs to be modified for whatever reason. Both + of these programs are derived from libjpeg-turbo 1.2.0. As with the + TurboJPEG wrapper, they do not contain the more advanced features of + TurboJPEG 1.2, such as YUV encoding/decoding and lossless + transforms. + +2012-03-15 Christian Beier <dontmind@freeshell.org> + + * AUTHORS: Add DRC to AUTHORS. + +2012-03-15 Christian Beier <dontmind@freeshell.org> + + * rfb/rfb.h: Move tightsubsamplevel member to the end of rfbClient + struct. Try to not break ABI between releases. Even if the code gets ugly... + +2012-03-10 DRC <information@virtualgl.org> + + * x11vnc/Makefile.am: Fix the build of x11vnc when an out-of-tree + build directory is used + +2012-03-10 DRC <information@virtualgl.org> + + * libvncserver/rfbserver.c: Fix an issue that affects the existing + Tight encoder as well as the newly-implemented Turbo encoder. The issue is that, when using the current libvncserver source, it is + impossible to disable Tight JPEG encoding. The way Tight/Turbo + viewers disable JPEG encoding is by simply not sending the Tight + quality value, causing the server to use the default value of -1. + Thus, cl->tightQualityLevel has to be set to -1 prior to processing + the encodings message for this mechanism to work. Similarly, it is + not guaranteed that the compress level will be set in the encodings + message, so it is set to a default value prior to processing the + message. + +2012-03-10 DRC <information@virtualgl.org> + + * common/turbojpeg.c, common/turbojpeg.h, configure.ac, + libvncserver/Makefile.am, libvncserver/rfbserver.c, + libvncserver/turbo.c, rfb/rfb.h, rfb/rfbproto.h: Add TurboVNC + encoding support. TurboVNC is a variant of TightVNC that uses the same client/server + protocol (RFB version 3.8t), and thus it is fully cross-compatible + with TightVNC and TigerVNC (with one exception, which is noted + below.) Both the TightVNC and TurboVNC encoders analyze each + rectangle, pick out regions of solid color to send separately, and + send the remaining subrectangles using mono, indexed color, JPEG, or + raw encoding, depending on the number of colors in the subrectangle. + However, TurboVNC uses a fundamentally different selection algorithm + to determine the appropriate subencoding to use for each + subrectangle. Thus, while it sends a protocol stream that can be + decoded by any TightVNC-compatible viewer, the mix of subencoding + types in this protocol stream will be different from those generated + by a TightVNC server. The research that led to TurboVNC is described in the following + report: + http://www.virtualgl.org/pmwiki/uploads/About/tighttoturbo.pdf. In + summary: 20 RFB captures, representing "common" 2D and 3D + application workloads (the 3D workloads were run using VirtualGL), + were studied using the TightVNC encoder in isolation. Some of the + analysis features in the TightVNC encoder, such as smoothness + detection, were found to generate a lot of CPU usage with little or + no benefit in compression, so those features were disabled. JPEG + encoding was accelerated using libjpeg-turbo (which achieves a 2-4x + speedup over plain libjpeg on modern x86 or ARM processors.) + Finally, the "palette threshold" (minimum number of colors that the + subrectangle must have before it is compressed using JPEG or raw) + was adjusted to account for the fact that JPEG encoding is now quite + a bit faster (meaning that we can now use it more without a CPU + penalty.) TurboVNC has additional optimizations, such as the + ability to count colors and encode JPEG images directly from the + framebuffer without first translating the pixels into RGB. The + TurboVNC encoder compares quite favorably in terms of compression + ratio with TightVNC and generally encodes a great deal faster (often + an order of magnitude or more.) The version of the TurboVNC encoder included in this patch is + roughly equivalent to the one found in version 0.6 of the Unix + TurboVNC Server, with a few minor patches integrated from TurboVNC + 1.1. TurboVNC 1.0 added multi-threading capabilities, which can be + added in later if desired (at the expense of making libvncserver + depend on libpthread.) Because TurboVNC uses a fundamentally different mix of subencodings + than TightVNC, because it uses the identical protocol (and thus a + viewer really has no idea whether it's talking to a TightVNC or + TurboVNC server), and because it doesn't support rfbTightPng (and in + fact conflicts with it-- see below), the TurboVNC and TightVNC + encoders cannot be enabled simultaneously. Compatibility: In *most* cases, a TurboVNC-enabled viewer is fully compatible with + a TightVNC server, and vice versa. TurboVNC supports + pseudo-encodings for specifying a fine-grained (1-100) quality scale + and specifying chrominance subsampling. If a TurboVNC viewer sends + those to a TightVNC server, then the TightVNC server ignores them, + so the TurboVNC viewer also sends the quality on a 0-9 scale that + the TightVNC server can understand. Similarly, the TurboVNC server + checks first for fine-grained quality and subsampling + pseudo-encodings from the viewer, and failing to receive those, it + then checks for the TightVNC 0-9 quality pseudo-encoding. There is one case in which the two systems are not compatible, and + that is when a TightVNC or TigerVNC viewer requests compression + level 0 without JPEG from a TurboVNC server. For performance + reasons, this causes the TurboVNC server to send images directly to + the viewer, bypassing Zlib. When the TurboVNC server does this, it + also sets bits 7-4 in the compression control byte to rfbTightNoZlib + (0x0A), which is unfortunately the same value as rfbTightPng. Older + TightVNC viewers that don't handle PNG will assume that the stream + is uncompressed but still encapsulated in a Zlib structure, whereas + newer PNG-supporting TightVNC viewers will assume that the stream is + PNG. In either case, the viewer will probably crash. Since most + VNC viewers don't expose compression level 0 in the GUI, this is a + relatively rare situation. Description of changes: configure.ac -- Added support for libjpeg-turbo. If passed an + argument of --with-turbovnc, configure will now run (or, if cross-compiling, just link) a test program that determines + whether the libjpeg library being used is libjpeg-turbo. + libjpeg-turbo must be used when building the TurboVNC encoder, + because the TurboVNC encoder relies on the libjpeg-turbo + colorspace extensions in order to compress images directly out of + the framebuffer (which may be, for instance, BGRA rather than RGB.) + libjpeg-turbo can optionally be used with the TightVNC encoder as + well, but the speedup will only be marginal (the report linked above + explains why in more detail, but basically it's because of Amdahl's + Law. The TightVNC encoder was designed with the assumption that + JPEG had a very high CPU cost, and thus JPEG is used only + sparingly.) -- Added a new configure variable, JPEG_LDFLAGS. This + is necessitated by the fact that libjpeg-turbo often distributes + libjpeg.a and libjpeg.so in /opt/libjpeg-turbo/lib32 or + /opt/libjpeg-turbo/lib64, and many people prefer to statically + link with it. Thus, more flexibility is needed than is provided by + --with-jpeg. If JPEG_LDFLAGS is specified, then it overrides the + changes to LDFLAGS enacted by --with-jpeg (but --with-jpeg is + still used to set the include path.) The addition of JPEG_LDFLAGS + necessitated replacing AC_CHECK_LIB with AC_LINK_IFELSE (because + AC_CHECK_LIB automatically sets LIBS to -ljpeg, which is not what we + want if we're, for instance, linking statically with libjpeg-turbo.) + -- configure does not check for PNG support if TurboVNC encoding is + enabled. This prevents the rfbSendRectEncodingTightPng() function + from being compiled in, since the TurboVNC encoder doesn't (and + can't) support it. common/turbojpeg.c, common/turbojpeg.h -- TurboJPEG is a simple API + used to compress and decompress JPEG images in memory. It was + originally implemented because it was desirable to use different + types of underlying technologies to compress JPEG on different + platforms (mediaLib on SPARC, Quicktime on PPC Macs, Intel + Performance Primitives, etc.) These days, however, libjpeg-turbo + is the only underlying technology used by TurboVNC, so TurboJPEG's + purpose is largely just code simplicity and flexibility. Thus, + since there is no real need for libvncserver to use any technology + other than libjpeg-turbo for compressing JPEG, the TurboJPEG wrapper + for libjpeg-turbo has been included in-tree so that libvncserver can + be directly linked with libjpeg-turbo. This is convenient because + many modern Linux distros (Fedora, Ubuntu, etc.) now ship + libjpeg-turbo as their default libjpeg library. libvncserver/rfbserver.c -- Added logic to check for the TurboVNC + fine-grained quality level and subsampling encodings and to map + Tight (0-9) quality levels to appropriate fine-grained quality level + and subsampling values if communicating with a TightVNC/TigerVNC + viewer. libvncserver/turbo.c -- TurboVNC encoder (compiled instead of + libvncserver/tight.c) rfb/rfb.h -- Added support for the TurboVNC subsampling level rfb/rfbproto.h -- Added constants for the TurboVNC fine quality + level and subsampling encodings as well as the rfbTightNoZlib + constant and notes on its usage. + +2012-03-10 Christian Beier <dontmind@freeshell.org> + + * client_examples/SDLvncviewer.c, libvncclient/listen.c, + libvncclient/sockets.c, libvncclient/vncviewer.c, + libvncserver/sockets.c, rfb/rfbclient.h: IPv6 support for + LibVNCServer, part three: make reverse connections IPv6-capable. Besided making libvncserver reverseVNC IPv6-aware, this introduces + some changes on the client side as well to make clients listen on + IPv6 sockets, too. Like the server side, this also uses a + separate-socket approach. + +2012-03-10 Christian Beier <dontmind@freeshell.org> + + * libvncserver/sockets.c: IPv6 support for LibVNCServer, part + onepointseven: Plug a memleak. We have to properly free the addrinfo struct when jumping out of the + function. + +2012-03-09 Christian Beier <dontmind@freeshell.org> + + * webclients/index.vnc: IPv6 support for LibVNCServer, part + twopointone: properly surround IPv6 addresses with [] for noVNC URL. Some browsers omit the square brackets in + document.location.hostname, so add them if missing. + +2012-02-27 Christian Beier <dontmind@freeshell.org> + + * libvncserver/cargs.c, libvncserver/httpd.c, libvncserver/main.c, + rfb/rfb.h: IPv6 support for LibVNCServer, part two: Let the http + server listen on IPv6, too. As done with the RFB sockets, this uses a separate-socket approach + as well. + +2012-02-27 Christian Beier <dontmind@freeshell.org> + + * libvncserver/main.c: IPv6 support for LibVNCServer, part + onepointsix: fix a small logic error. Without this, we would have gotten a stale IPv4 socket in a race + condition. + +2012-02-27 Christian Beier <dontmind@freeshell.org> + + * libvncserver/rfbserver.c, libvncserver/sockets.c: IPv6 support for + LibVNCServer, part onepointfive: Fix compilation with IPv6 missing. There was an oversight that crept in... + +2012-02-20 Christian Beier <dontmind@freeshell.org> + + * libvncserver/cargs.c, libvncserver/main.c, + libvncserver/rfbserver.c, libvncserver/sockets.c, rfb/rfb.h: IPv6 + support for LibVNCServer, part one: accept IPv4 and IPv6 + connections. This uses a separate-socket approach since there are systems that do + not support dual binding sockets under *any* circumstances, for + instance OpenBSD. Using separate sockets for IPv4 and IPv6 is thus + more portable than having a v6 socket handle v4 connections as well. Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2012-02-11 Mateus Cesar Groess <mateuscg@gmail.com> + + * AUTHORS, client_examples/Makefile.am, + client_examples/gtkvncviewer.c, configure.ac: Here is a port of + SDLvncviewer to GTK+2. I think it may encourage people to implement more features for the + viewer, because a GTK GUI seems to be easier to implement than a SDL + one (and it is more integrated with the major Linux Desktops out + there). Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2012-02-11 Christian Beier <dontmind@freeshell.org> + + * AUTHORS: Update AUTHORS. + +2012-02-10 Kyle J. McKay <mackyle@gmail.com> + + * libvncserver/auth.c, libvncserver/rfbserver.c, rfb/rfb.h: Support + Mac OS X vnc client with no password Support connections from the Mac OS X built-in VNC client to + LibVNCServers running with no password and advertising a server + version of 3.7 or greater. + +2012-02-04 Johannes Schindelin <johannes.schindelin@gmx.de> + + * AUTHORS: Add Luca to the AUTHORS Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2012-02-04 Luca Stauble <gnekoz@gmail.com> + + * libvncclient/listen.c, libvncclient/sockets.c, + libvncclient/vncviewer.c, rfb/rfbclient.h: Add an optional parameter + to specify the ip address for reverse connections For security reasons, it can be important to limit which IP + addresses a LibVNCClient-based client should listen for reverse + connections. This commit adds that option. To preserve binary backwards-compatibility, the field was added to + the end of the rfbclient struct, and the function ListenAtTcpPort + retains its signature (but calls the new ListenAtTcpPortAndAddress). [jes: shortened the commit subject, added a longer explanation in + the commit body and adjusted style] Signed-off-by: Luca Stauble <gnekoz@gmail.com> Signed-off-by: + Johannes Schindelin <johannes.schindelin@gmx.de> + +2012-01-12 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/websockets.c: websockets: removed debug message + +2012-01-12 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/websockets.c: websockets: restore errno after logging + an error + +2012-01-12 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * CMakeLists.txt: cmake: adapted to latest websocket crypto changes + +2011-12-15 Christian Beier <dontmind@freeshell.org> + + * rfb/rfbclient.h: Small changes to LibNVCClient doxygen + documentation. + +2011-12-01 Christian Beier <dontmind@freeshell.org> + + * libvncserver/Makefile.am: Fix build error when libpng is + available, but libjpeg is not. The png stuff in tight.c depends on code in tight.c that uses + libjpeg features. We could probably seperate that, but for now the + dependency for 'tight' goes: PNG depends on JPEG depends on ZLIB. This is reflected in Makefile.am now. NB: Building tight.c with JPEG but without PNG is still possible, but nor the other way around. + +2011-12-01 Christian Beier <dontmind@freeshell.org> + + * configure.ac: Use AM_SILENT_RULES only when it's actually + available. Otherwise building breaks with older make versions. Happens on OS X + 10.6 for instance. + +2011-11-09 Christian Beier <dontmind@freeshell.org> + + * configure.ac, webclients/Makefile.am, webclients/index.vnc, + webclients/java-applet/Makefile.am, + webclients/java-applet/javaviewer.pseudo_proxy.patch, + webclients/java-applet/ssl/Makefile.am, + webclients/java-applet/ssl/README, + webclients/java-applet/ssl/index.vnc, + webclients/java-applet/ssl/onetimekey, + webclients/java-applet/ssl/proxy.vnc, + webclients/java-applet/ssl/ss_vncviewer, + webclients/java-applet/ssl/tightvnc-1.3dev7_javasrc-vncviewer-curso + r-colors+no-tab-traversal.patch, + webclients/java-applet/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.p + atch, webclients/java-applet/ssl/ultra.vnc, + webclients/java-applet/ssl/ultraproxy.vnc, + webclients/java-applet/ssl/ultrasigned.vnc, + webclients/java-applet/ssl/ultravnc-102-JavaViewer-ssl-etc.patch, + webclients/javaviewer.pseudo_proxy.patch, + webclients/ssl/Makefile.am, webclients/ssl/README, + webclients/ssl/index.vnc, webclients/ssl/onetimekey, + webclients/ssl/proxy.vnc, webclients/ssl/ss_vncviewer, + webclients/ssl/tightvnc-1.3dev7_javasrc-vncviewer-cursor-colors+no- + tab-traversal.patch, + webclients/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch, + webclients/ssl/ultra.vnc, webclients/ssl/ultraproxy.vnc, + webclients/ssl/ultrasigned.vnc, + webclients/ssl/ultravnc-102-JavaViewer-ssl-etc.patch: Move the java + stuff into webclients/java-applet. + +2011-11-09 Christian Beier <dontmind@freeshell.org> + + * LibVNCServer.spec.in, Makefile.am, README, classes/Makefile.am, + classes/index.vnc, classes/javaviewer.pseudo_proxy.patch, + classes/novnc/LICENSE.txt, classes/novnc/README.md, + classes/novnc/favicon.ico, classes/novnc/include/base.css, + classes/novnc/include/base64.js, classes/novnc/include/black.css, + classes/novnc/include/blue.css, classes/novnc/include/des.js, + classes/novnc/include/display.js, classes/novnc/include/input.js, + classes/novnc/include/logo.js, classes/novnc/include/playback.js, + classes/novnc/include/rfb.js, classes/novnc/include/ui.js, + classes/novnc/include/util.js, classes/novnc/include/vnc.js, + classes/novnc/include/web-socket-js/README.txt, + classes/novnc/include/web-socket-js/swfobject.js, + classes/novnc/include/web-socket-js/web_socket.js, + classes/novnc/include/websock.js, classes/novnc/include/webutil.js, + classes/novnc/vnc.html, classes/novnc/vnc_auto.html, + classes/ssl/Makefile.am, classes/ssl/README, classes/ssl/index.vnc, + classes/ssl/onetimekey, classes/ssl/proxy.vnc, + classes/ssl/ss_vncviewer, + classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-cursor-colors+no-tab + -traversal.patch, + classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch, + classes/ssl/ultra.vnc, classes/ssl/ultraproxy.vnc, + classes/ssl/ultrasigned.vnc, + classes/ssl/ultravnc-102-JavaViewer-ssl-etc.patch, configure.ac, + examples/example.c, examples/pnmshow.c, examples/pnmshow24.c, + rfb/rfb.h, webclients/Makefile.am, webclients/index.vnc, + webclients/javaviewer.pseudo_proxy.patch, + webclients/novnc/LICENSE.txt, webclients/novnc/README.md, + webclients/novnc/favicon.ico, webclients/novnc/include/base.css, + webclients/novnc/include/base64.js, + webclients/novnc/include/black.css, + webclients/novnc/include/blue.css, webclients/novnc/include/des.js, + webclients/novnc/include/display.js, + webclients/novnc/include/input.js, + webclients/novnc/include/logo.js, + webclients/novnc/include/playback.js, + webclients/novnc/include/rfb.js, webclients/novnc/include/ui.js, + webclients/novnc/include/util.js, webclients/novnc/include/vnc.js, + webclients/novnc/include/web-socket-js/README.txt, + webclients/novnc/include/web-socket-js/swfobject.js, + webclients/novnc/include/web-socket-js/web_socket.js, + webclients/novnc/include/websock.js, + webclients/novnc/include/webutil.js, webclients/novnc/vnc.html, + webclients/novnc/vnc_auto.html, webclients/ssl/Makefile.am, + webclients/ssl/README, webclients/ssl/index.vnc, + webclients/ssl/onetimekey, webclients/ssl/proxy.vnc, + webclients/ssl/ss_vncviewer, + webclients/ssl/tightvnc-1.3dev7_javasrc-vncviewer-cursor-colors+no- + tab-traversal.patch, + webclients/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch, + webclients/ssl/ultra.vnc, webclients/ssl/ultraproxy.vnc, + webclients/ssl/ultrasigned.vnc, + webclients/ssl/ultravnc-102-JavaViewer-ssl-etc.patch: Rename + 'classes' dir to 'webclients'. + +2011-11-09 Christian Beier <dontmind@freeshell.org> + + * classes/index.vnc, libvncserver/httpd.c: novnc client: use the + client's notion about the server hostname instead of what the server + thinks. + +2011-11-09 Christian Beier <dontmind@freeshell.org> + + * classes/index.vnc: Fix tiny typo. + +2011-11-09 Christian Beier <dontmind@freeshell.org> + + * NEWS: Add 0.9.8.2 NEWS entry. + +2011-11-09 Christian Beier <dontmind@freeshell.org> + + * libvncclient/rfbproto.c: When GetCredential() callback is not set, + don't use authentications requiring it. The auth methods that employ Getcredential() will only be used if + the client's GetCredential callback is actually set. + +2011-10-12 Christian Beier <dontmind@freeshell.org> + + * ChangeLog: Update ChangeLog for 0.9.8.1. + 2011-10-12 Christian Beier <dontmind@freeshell.org> * CMakeLists.txt, NEWS, configure.ac: Update version number in autotools && cmake, NEWS entry. +2011-10-26 Peter Watkins <watkipet@gmail.com> + + * rfb/rfbclient.h: Added comments. + +2011-10-26 Christian Beier <dontmind@freeshell.org> + + * libvncserver/rfbserver.c: Fix deadlock in threaded mode when using + nested rfbClientIteratorNext() calls. Lengthy explanation follows... First, the scenario before this patch: We have three clients 1,2,3 connected. The main thread loops through + them using rfbClientIteratorNext() (loop L1) and is currently at + client 2 i.e. client 2's cl_2->refCount is 1. At this point we need + to loop again through the clients, with cl_2->refCount == 1, i.e. do + a loop L2 nested within loop L1. BUT: Now client 2 disconnects, it's clientInput thread terminates + its clientOutput thread and calls rfbClientConnectionGone(). This + LOCKs clientListMutex and WAITs for cl_2->refCount to become 0. This + means this thread waits for the main thread to release cl_2. + Waiting, with clientListMutex LOCKed! Meanwhile, the main thread is about to begin the inner + rfbClientIteratorNext() loop L2. The first call to + rfbClientIteratorNext() LOCKs clientListMutex. BAAM. This mutex is + locked by cl2's clientInput thread and is only released when + cl_2->refCount becomes 0. The main thread would decrement + cl_2->refCount when it would continue with loop L1. But it's waiting + for cl2's clientInput thread to release clientListMutex. Which never + happens since this one's waiting for the main thread to decrement + cl_2->refCount. DEADLOCK. Now, situation with this patch: Same as above, but when client 2 disconnects it's clientInput thread + rfbClientConnectionGone(). This again LOCKs clientListMutex, removes + cl_2 from the linked list and UNLOCKS clientListMutex. The WAIT for + cl_2->refCount to become 0 is _after_ that. Waiting, with + clientListMutex UNLOCKed! Therefore, the main thread can continue, do the inner loop L2 (now + only looping through 1,3 - 2 was removed from the linked list) and + continue with loop L1, finally decrementing cl_2->refCount, allowing + cl2's clientInput thread to continue and terminate. The resources + held by cl2 are not free()'d by rfbClientConnectionGone until + cl2->refCount becomes 0, i.e. loop L1 has released cl2. + +2011-10-16 Johannes Schindelin <johannes.schindelin@gmx.de> + + * AUTHORS: Update AUTHORS Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-10-16 George Fleury <gfleury@gmail.com> + + * libvncserver/rfbserver.c: Fix memory leak I was debbuging some code tonight and i found a pointer that is not + been freed, so i think there is maybe a memory leak, so it is... there is the malloc caller reverse order: ( malloc cl->statEncList ) <- rfbStatLookupEncoding <- rfbStatRecordEncodingSent <- rfbSendCursorPos <- rfbSendFramebufferUpdate <- rfbProcessEvents I didnt look the whole libvncserver api, but i am using + rfbReverseConnection with rfbProcessEvents, and then when the client + connection dies, i am calling a rfbShutdownServer and + rfbScreenCleanup, but the malloc at rfbStatLookupEncoding isnt been + freed. So to free the stats i added a rfbResetStats(cl) after + rfbPrintStats(cl) at rfbClientConnectionGone in rfbserver.c before + free the cl pointer. (at rfbserver.c line 555). And this, obviously, + is correcting the memory leak. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + 2011-10-08 Johannes Schindelin <johannes.schindelin@gmx.de> * rfb/rfbclient.h: Hopefully fix the crash when updating from 0.9.7 @@ -12,6 +706,382 @@ therefore guaranteed to have the correct size) and still rely on the same position of the parts the callers know about. Reported by Luca Falavigna. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> +2011-10-09 Johannes Schindelin <johannes.schindelin@gmx.de> + + * client_examples/SDLvncviewer.c: SDLvncviewer: make it resizable by + default I got annoyed having to specify -resizable all the time; I never use + it in another mode anymore, since I am on a netbook. The option -no-resizable was added to be able to switch off that + feature. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-10-06 Christian Beier <dontmind@freeshell.org> + + * libvncserver/httpd.c: httpd: fix sending of binary data such as + images. We do this simply by omitting the content-type and let the browser + decide upon the mime-type of the sent file. Only exception is + 'index.vnc', where we do set the content-type since some browsers + fail to detect it's html when it's ending in '.vnc' Also, remove superfluous #defines. We close the connection always. + +2011-10-06 Christian Beier <dontmind@freeshell.org> + + * classes/index.vnc: Fix typo && use proper website. + +2011-10-04 Christian Beier <dontmind@freeshell.org> + + * classes/index.vnc, classes/novnc/LICENSE.txt, + classes/novnc/README.md, classes/novnc/favicon.ico, + classes/novnc/include/base.css, classes/novnc/include/base64.js, + classes/novnc/include/black.css, classes/novnc/include/blue.css, + classes/novnc/include/des.js, classes/novnc/include/display.js, + classes/novnc/include/input.js, classes/novnc/include/logo.js, + classes/novnc/include/playback.js, classes/novnc/include/rfb.js, + classes/novnc/include/ui.js, classes/novnc/include/util.js, + classes/novnc/include/vnc.js, + classes/novnc/include/web-socket-js/README.txt, + classes/novnc/include/web-socket-js/swfobject.js, + classes/novnc/include/web-socket-js/web_socket.js, + classes/novnc/include/websock.js, classes/novnc/include/webutil.js, + classes/novnc/vnc.html, classes/novnc/vnc_auto.html, + libvncserver/httpd.c: Add noVNC HTML5 client connect possibility to + our http server. Pure JavaScript, no Java plugin required anymore! (But a recent + browser...) + +2011-10-04 Christian Beier <dontmind@freeshell.org> + + * configure.ac: This build warning is a libvncserver one, not for + x11vnc. Also, make it warn more generally when no known encryption lib is + available. + +2011-09-21 Gernot Tenchio <gernot@tenchio.de> + + * common/md5.c: md5: forced to use function names with leading + underscores Commented out the surrounding '#ifdef _LIBC' to build md5.o with + leading underscores. This is required to match the prototypes + defined in md5.h. + +2011-09-20 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/rfbcrypto_included.c: rfbcrypto_included: fix c&p + errors + +2011-09-20 Gernot Tenchio <gernot@tenchio.de> + + * libvncserver/rfbcrypto_polarssl.c: rfbcrypto_polarssl: it was way + to late last night... + +2011-09-18 Gernot Tenchio <gernot@tenchio.de> + + * libvncserver/Makefile.am, libvncserver/rfbcrypto.h, + libvncserver/rfbcrypto_gnutls.c, libvncserver/rfbcrypto_included.c, + libvncserver/rfbcrypto_openssl.c, + libvncserver/rfbcrypto_polarssl.c, libvncserver/websockets.c: Add + support for different crypto implementations + +2011-09-11 Christian Beier <dontmind@freeshell.org> + + * configure.ac, libvncserver/Makefile.am: Autotools: Fix OpenSSL and + GnuTLS advertisement. + +2011-09-11 Christian Beier <dontmind@freeshell.org> + + * libvncserver/rfbssl_gnutls.c: Fix libvncserver GnuTLS init. gnutls_certificate_set_x509_trust_file() returns the number of + processed certs and _not_ GNUTLS_E_SUCCESS (0) on success! + +2011-09-11 Christian Beier <dontmind@freeshell.org> + + * AUTHORS, libvncserver/websockets.c: Update AUTHORS regarding the + websocket guys. + +2011-08-28 Gernot Tenchio <gernot@tenchio.de> + + * configure.ac: configure: Add AM_SILENT_RULES Working with “silent make mode” makes debugging a lot of easier + since warnings wont shadowed by useless compiler noise + +2011-08-27 Gernot Tenchio <gernot@tenchio.de> + + * CMakeLists.txt: cmake: set SOVERSION + +2011-09-11 Christian Beier <dontmind@freeshell.org> + + * configure.ac, libvncserver/Makefile.am: Autotools: Fix OpenSSL and + GnuTLS advertisement. + +2011-09-11 Christian Beier <dontmind@freeshell.org> + + * libvncserver/rfbssl_gnutls.c: Fix libvncserver GnuTLS init. gnutls_certificate_set_x509_trust_file() returns the number of + processed certs and _not_ GNUTLS_E_SUCCESS (0) on success! + +2011-09-11 Christian Beier <dontmind@freeshell.org> + + * AUTHORS, libvncserver/websockets.c: Update AUTHORS regarding the + websocket guys. + +2011-09-02 Gernot Tenchio <gernot@tenchio.de> + + * libvncserver/websockets.c: websocket: Use a single buffer for + both, encoding and decoding + +2011-08-30 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/rfbssl_gnutls.c: rfbssl_gnutls: Merge + rfbssl_peek/rfbssl_read into one function + +2011-08-30 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/websockets.c: websockets: fix + webSocketCheckDisconnect() Do not consume the peeked data if no close frame was detected. + +2011-08-29 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/websockets.c: websockets: use 32bit Xor in + webSocketsDecodeHybi() + +2011-08-29 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * CMakeLists.txt: cmake: use sha1.c for websocket builds + +2011-08-25 Gernot Tenchio <gernot@tenchio.de> + + * libvncserver/websockets.c: websockets: nothing to worry about + +2011-08-25 Gernot Tenchio <gernot@tenchio.de> + + * libvncserver/websockets.c: websockets: added gcrypt based sha1 + digest funtion + +2011-08-25 Joel Martin <jmartin@sentryds.com> + + * common/sha1.c, common/sha1.h, libvncserver/Makefile.am, + libvncserver/websockets.c: Add sha1.*. Remove UTF-8 encode. Protocol + handling. Add common/sha1.h and common/sha1.c so that we have the SHA routines + even if openssl is not available. From the IETF SHA RFC example + code. Remove the UTF-8 encoding hack. This was really just an experiment. If the protocol passed in the handshake has "binary" then don't + base64 encode for the HyBi protocol. This will allow noVNC to + request the binary data be passed raw and not base64 encoded. + Unfortunately, the client doesn't speak first in VNC protocol (bad + original design). If it did then we could determine whether to + base64 encode or not based on the first HyBi frame from the client + and whether the binary bit is set or not. Oh well. Misc Cleanup: - Always free response and buf in handshake routine. - Remove some unused variables. + +2011-08-25 Gernot Tenchio <gernot@tenchio.de> + + * CMakeLists.txt: cmake: make some noise + +2011-08-25 Gernot Tenchio <gernot@tenchio.de> + + * libvncserver/rfbssl_gnutls.c: websockets: remove warning on 64bit + platforms + +2011-08-25 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/websockets.c: websockets: Removed debugging left over + +2011-08-25 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/websockets.c: websockets: Use callback functions for + encode/decode + +2011-08-25 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/rfbserver.c, libvncserver/sockets.c, + libvncserver/websockets.c, rfb/rfb.h: websockets: Move Hixie + disconnect hack to websockets.c Move the hixie disconnect hack to websockets.c. Removed the + remaining websockets vars from rfbClientPtr, so all websockets stuff + is hidden behind an opaque pointer. + +2011-08-25 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/rfbserver.c, libvncserver/sockets.c, + libvncserver/websockets.c, rfb/rfb.h: websockets: Initial HyBi + support + +2011-08-16 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * CMakeLists.txt: cmake: don't link sdl libs to vnc libraries Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/sockets.c, libvncserver/websockets.c, rfb/rfb.h: + websockets: Add wspath member to rfbClientRec Added wspath member to rfbClientRec which holds the path component + of the initial websocket request. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * CMakeLists.txt, common/md5.c, common/md5.h, + libvncserver/Makefile.am, libvncserver/md5.c, libvncserver/md5.h: + Move libvncserver/md5* to common Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * CMakeLists.txt, rfb/rfbconfig.h.cmake: websockets: Add Websockets + support to CMakeLists.txt Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Joel Martin <github@martintribe.org> + + * libvncserver/Makefile.am, libvncserver/cargs.c: websockets: Add + SSL cert command line options. - Add --sslcertfile and --sslkeyfile. These should really be + combined with the existing x11vnc command line options for SSL + support. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-17 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * configure.ac, libvncserver/Makefile.am, + libvncserver/rfbssl_gnutls.c, libvncserver/rfbssl_openssl.c: + websockets: add GnuTLS and OpenSSL support For now, only OpenSSL support is activated through configure, since + GnuTLS is only used in LibVNCClient. [jes: separated this out from the commit adding encryption support, + added autoconf support.] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Gernot Tenchio <gernot.tenchio@securepoint.de> + + * libvncserver/Makefile.am, libvncserver/rfbserver.c, + libvncserver/rfbssl.h, libvncserver/rfbssl_none.c, + libvncserver/sockets.c, libvncserver/websockets.c, rfb/rfb.h: + websockets: Add encryption support [jes: moved out GnuTLS and OpenSSL support, added a dummy support, + to separate changes better, and to keep things compiling] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Joel Martin <jmartin@sentryds.com> + + * libvncserver/websockets.c: websockets: Properly parse Hixie-76 + handshake. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Joel Martin <github@martintribe.org> + + * libvncserver/rfbserver.c, libvncserver/websockets.c: websockets: + Add UTF-8 encoding support. This is not completely standard UTF-8 encoding. Only code points + 0-255 are encoded and never encoded to more than two octets. Since + '\x00' is a WebSockets framing character, it's easier for all + parties to encode zero as '\xc4\x80', i.e. 194+128, i.e. UTF-8 256. This means that a random stream will be slightly more than 50% + larger using this encoding scheme. But it's easy CPU-wise for client + and server to decode/encode. This is especially important for + clients written in languages that have weak bitops, like Javascript + (i.e. the noVNC client). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Joel Martin <github@martintribe.org> + + * libvncserver/rfbserver.c: websockets: Better disconnect detection. If the only thing we are waiting on is a WebSockets terminator, then + remove it from the stream early on in rfbProcessClientNormalMessage. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-16 Joel Martin <github@martintribe.org> + + * configure.ac, libvncserver/Makefile.am, libvncserver/md5.c, + libvncserver/md5.h, libvncserver/rfbserver.c, + libvncserver/sockets.c, libvncserver/websockets.c, rfb/rfb.h: + websockets: Initial WebSockets support. Has a bug: WebSocket client disconnects are not detected. + rfbSendFramebufferUpdate is doing a MSG_PEEK recv to determine if + enough data is available which prevents a disconnect from being + detected. Otherwise it's working pretty well. [jes: moved added struct members to the end for binary compatibility + with previous LibVNCServer versions, removed an unused variable] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-08-17 Johannes Schindelin <johannes.schindelin@gmx.de> + + * .gitignore: .gitignore: zippy has moved Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-07-25 Christian Beier <dontmind@freeshell.org> + + * examples/android/README: Add installation hints to android example + README. + +2011-07-22 William Roberts <wroberts@sta.samsung.com> + + * examples/android/jni/fbvncserver.c: Reduced memory footprint by + 50% + +2011-07-22 William Roberts <wroberts@sta.samsung.com> + + * examples/android/jni/fbvncserver.c: Corrected resolution issue, + but screen is getting reported as wrong size + +2011-07-23 ckanru <ckanru@code.google.com> + + * examples/android/jni/fbvncserver.c: Fixes running vncserver on + beagleboard/0xdroid and possibly any device without a touch screen. + Because fake touch screen always report zero when query device + information, coordinates transformation is not needed. Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2011-07-23 Christian Beier <dontmind@freeshell.org> + + * configure.ac, examples/Makefile.am, examples/android/Makefile.am, + rfb/rfb.h, vncterm/Makefile.am: Adopt autotools build system to + Android. LibVNCServer/LibVNCClient now build for Android! + +2011-07-23 Christian Beier <dontmind@freeshell.org> + + * examples/android/README, examples/android/jni/Android.mk, + examples/android/jni/fbvncserver.c: Add androidvncserver example. + +2011-07-22 letsgoustc <letsgoustc@gmail.com> + + * rfb/rfb.h: Make LibVNCServer build for Android. Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2011-07-19 Joel Martin <github@martintribe.org> + + * libvncserver/tight.c: tightPng: check even for SendGradientRect. Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2011-07-19 Joel Martin <github@martintribe.org> + + * CMakeLists.txt, configure.ac, libvncserver/Makefile.am, + libvncserver/rfbserver.c, libvncserver/stats.c, + libvncserver/tight.c, rfb/rfb.h, rfb/rfbconfig.h.cmake, + rfb/rfbproto.h: tightPng: Add initial tightPng encoding support. http://wiki.qemu.org/VNC_Tight_PNG Signed-off-by: Joel Martin <github@martintribe.org> Signed-off-by: + Christian Beier <dontmind@freeshell.org> + +2011-06-01 Christian Beier <dontmind@freeshell.org> + + * libvncserver/main.c, libvncserver/sockets.c: Remove some unused + variables. + +2010-11-14 George Kiagiadakis <kiagiadakis.george@gmail.com> + + * libvncserver/sockets.c, rfb/rfb.h: Fix rfbProcessNewConnection to + return some value instead of void. BUG: 256891 Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2010-11-10 George Kiagiadakis <kiagiadakis.george@gmail.com> + + * libvncserver/main.c, libvncserver/sockets.c, rfb/rfb.h: Split two + event-loop related functions out of the rfbProcessEvents() + mechanism. This is required to be able to do proper event loop integration with + Qt. Idea was taken from vino's libvncserver fork. Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2011-05-06 Cristian Rodríguez <crrodriguez@opensuse.org> + + * libvncserver/tightvnc-filetransfer/filetransfermsg.c: Fix buffer + overflow Signed-off-by: Cristian Rodríguez <crrodriguez@opensuse.org> + Signed-off-by: Christian Beier <dontmind@freeshell.org> + +2011-04-30 Christian Beier <dontmind@freeshell.org> + + * libvncserver/tight.c: Revert "Fix memory corruption bug." This reverts commit c1363fa9583ed41b94fbc79b3ff410b7d5189407. The proper fix was already in + 804335f9d296440bb708ca844f5d89b58b50b0c6. + +2011-04-28 Johannes Schindelin <johannes.schindelin@gmx.de> + + * AUTHORS: UTF-8ify AUTHORS Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-04-28 Johannes Schindelin <johannes.schindelin@gmx.de> + + * AUTHORS: Update AUTHORS Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2010-11-10 George Kiagiadakis <kiagiadakis.george@gmail.com> + + * libvncserver/tight.c: Fix memory corruption bug. This bug occured when a second telepathy tubes client was connected + after the first one had disconnected and the channel (thus, the + screen too) had been destroyed. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2010-11-10 George Kiagiadakis <kiagiadakis.george@gmail.com> + + * common/zywrletemplate.c, libvncserver/auth.c, + libvncserver/rfbserver.c, libvncserver/scale.c, + libvncserver/scale.h, rfb/rfb.h: Fix compilation in c89 mode. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-04-27 Vic Lee <llyzs@163.com> + + * libvncclient/tls.c: Replace deprecated GnuTLS functions + gnutls_*_set_priority with gnutls_priority_set_direct. The functions gnutls_*_set_priority we used were marked deprecated + since latest GnuTLS version 2.12. However the replacement function + gnutls_priority_set_direct is available since 2.2, which is even + lower than our version requirement 2.4 in configure. The patch just + replace the deprecate function to fix the compile warning. Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Johannes + Schindelin <johannes.schindelin@gmx.de> + 2011-03-30 Christian Beier <dontmind@freeshell.org> * ChangeLog: Update ChangeLog for 0.9.8. |