Ultr@VNC 1.0.0 RC 14 - Win32 - January 2004 Copyright (C) 2002-2003 Ultr@VNC Team - All rights reserved ********************************************************************** This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. If the source code for the program is not available from the place from which you received this file, check http://ultravnc.sourceforge.net/ ********************************************************************** The authors shall not in any way be liable for any damage or legal consequences as a result of using this software. We make absolutly no warranties about the reliability of this software. Use it at your own risks ! ********************************************************************** ****** Table of content ********************************************** 1. Introduction 2. Features 3. List of included files 4. Versions History 5. KNOWN ISSUES 6. TIPS 7. Details 1. *** Introduction ************************************************** VNC is a great and famous remote controle, multi-OS tool, created at the ATT Research Labs de Cambridge-http://www.uk.research.att.com/vnc This Ultr@VNC version is based on: - RealVNC 336 & 337 and includes: - Most of eSVNC 1.1.2 r2 functionnalities - Most of Vdacc-VNC functionnalities - Cursor handling code and Tight encoding from TightVNC - VNC QuickDesk toolbar code - And various code modifications coming from talented developpers. - Since v1.0.0 RC 12, Ultr@VNC FileTransfer can transfer whole Directories. For this it uses "zip32.dll" and "unzip32.dll" dll files and source code coming from the Info-Zip group. Please see at the end of this document (section 7.) for details about these dlls. - Since v1.0.0 RC 12, the viewer Toolbar looks professionnal, thanks to Lim Chee Aun (http://www.phoenity.com/) who has designed it. Ultr@VNC brings tons of functionnalities and high performances even over modem connections. ------------------------------------------------------------------------ Many thanks to all people who help us developping, testing, stabilizing, answering users questions and animating the mailing list. ------------------------------------------------------------------------ 2. *** Features ***************************************************** * Supported Operating Systems: Win9x/Me/NT4/2000/XP/2003 * Auto configuration and Quick Options for easy connections. * Viewer Toolbar for a quick access to the main functions and greatly improved ergonomy. * High Speed. A cutting-edge Video Hook Driver (kernel mode) for Win2000 and XP dramatically improves performances and reduces CPU activity. Over a LAN, this lets you work on a remote computer with an incredible 'real-time' feeling (hundreds of screen updates per second). A WinVNC server under Win9x uses the standard hookdll in combination with ddi hooking to improve the updates handling. Ultr@VNC also features an ultra fast Fullscreen Polling mode without additionnal driver. Whatever the connection speed, Ultr@VNC brings you optimal comfort. * Embedded File Transfer with intuitive Graphical User Interface allowing for easy file copy between local and remote computers. It uses the current VNC connection and files are compressed during their transfer. * MS Logon/NT security support. You can manage server access using MS Users, Domains and Groups. It also includes a logging feature where all actions are written to a log file. * Bandwidth Saving Strategies that provide optimal responsiveness over slow connections: Server Screen Scaling, Cache Management , Local Cursor handling. * Data Stream Modification Plugin System allowing any kind of operation on the data exchanged between client and server, from an external DLL (independant, not linked and not distributed with Ultr@VNC): additionnal rights checking, communication timing, data recording/persitence, encryption... it's up to the DLL developper. * Optionnal "always-on-top" Viewer Status Window dynamically displaying connection informations. * Various View Modes including Full-Screen, Scaled and Windowed. Full-Screen mode lets you see the remote screen on the entire screen of your display. Scaled Viewer mode lets you see the scaled remote screen in a window with a user defined size. Scaled Server mode generates less network traffic from server side and use a pixel blending algorithm to optimize the display. Fuzzy Mode combines Server and Viewer scaling to provide reasonable visual comfort and speed even over very slow connections. The Autoscaling mode scales the view so it fits the viewer screen. * Dynamic Single Window/Full Desktop view switching, from viewer side. * Server's Desktop resolution switching without disconnection. * Dynamic Mouse and Keyboard locking on remote server, from viewer side. * Server Screen Blanking, from viewer side * Embedded Client/Server Text Chat. * Possibility to send Ctrl-Alt-Del to the remote server (when WinVNC is run as a service), or any other special key. * Support for 32/24/16/8 bits colors. Both Ultr@VNC Viewer and Server are compatible with RealVNC, TightVNC, eSVNC, PalmVNC2 (with server scaling feature)... Ultr@VNC server can work as a Service under all supported operating systems, allowing remote user Logon/Logoff as well as Remote Shutdown. * Connectivity: Standard Viewer and HTTP JavaViewer connections over TCP/IP, as well as XDMCP direct X11 connection (still experimental). 3. *** List of included files **************************************** - readme.txt : This text file - License.txt : GNU General Public License. PLEASE Read it ! - Whatsnew.txt : Latest modifs, fixes, features... - WinVNC.exe : Ultr@VNC Server - VNCHooks.dll : Library used in WinVNC.exe - vncviewer.exe : Ultr@VNC Viewer - Vncddihk.dll : Win9x video hook driver dll - 16bithlp.exe : Win9x video hook driver exe - VNCHooks_settings.reg : Default Registry Settings for WinVNC - auth.dll : These 5 dlls are used with WinVNC for - authad.dll : MS Logon functionnalities over the various - ldapauthnt4.dll : Win versions and configurations - ldapauth9x.dll : - authlogonuser.dll : - zip32.dll : These 2 dlls are used by vncviewer.exe and - unzip32.dll : WinVNC to perform Directory Transfers * Depending on the package, the following files may be included as well - Video Driver setup and functionnality: SetupDrv.exe, vncdrv.dll, vnchelp.dll, vncdrv.inf, vncdrv.sys. - Others Languages: French & German vncviewer.exe, French WinVNC.exe ... 4. *** Versions History ********************************************** # V 1.0.0 - Beta 1 - 12/2002 # v1 - Release Candidates 00 -> 07 - February-May 2003 ** RC 1.00: - Setupdrv.zip: automatic driver installation/uninstall - VNC.zip: server/viewer/dlls - xdmcp.zip: X11 xdmcp connection ** RC 1.01 - XP screen updates issue fixed ** RC 1.02 - SW offset bug fixed - ZlibHex improved ** RC 1.03 - Hook Driver needed to start WinVNC fixed ** RC 1.04 - Fixed Monitor put in stanby on Viewer disconnection under W9.x - Setupdrv106: install path was coded wrong for virtual driver escape code vir and mir driver where the same - Xdmcp1001: Xauthority fix (cde solaris remote host) ** RC 1.05 - Hooking selection method competely rewritten - Extra checking before access to shared memory (hook driver) ** RC 1.06 - Hooking autoswitch fixes - Improved accuracy when no hook driver (Hokkdll, PollFullscreen) - Fixed the non-ultra-viewers ms-logon bypass bug - Fixed BlankMonitor option bad saving/and keypress - win95 fixes (user32.dll) - command line option fixes - Fixed Hooking method selection under NT4. - Querysettings=3 fixed - Textchat GUI improvements - Disable Input Button icon changed (now has 2 states) - New Tollbar Buttons - Ultravnc icon changed ** RC 1.07 - TextChat GUI improvements (colors, buttons), - Textchat scrolling under Win9x & Me fixed - Viewer refresh after Texchat fixed - TextChat & FileTransfer windows can be redisplayed on the foreground when masked in Fullscreen mode by clicking on their corresponding buttons. - FileTransfer GUI double-click bug fixed - UltraVNC icon slightly changed - Toolbar tooltips now appear faster - Viewer "notoolbar" command line option replaces the stupid "showtoolbar" option... - WinVNC "connect" option fixed (works with host, host:display and host::port) - Fixed "quickoption" command line option bug in vncviewer - Added "Log Infos" and "Allow Loopback" options in WinVNC Property page. - UltraVNC is now compatible with PalmVNC2.0 even at the server screen scaling level. - Fixed Viewer crash when aborting connection - Remove Wallpaper after disconnection bug fixed - NTML mechanism now checks Local and Remote for Group and Password. - Fixed a bug with changes detection in WINVNC under W2K/WP: when the "Video Hook Driver" option was checked and the Video Driver was not actually available (not installed for instance...) then the default "System HookDll" was not loaded (even if the option was checked). The result was missing screen updates, especially with checkboxes, low accuracy and low speed. The workaround was to uncheck the "Video Hook Driver" option. - DSMplugin action now starts BEFORE the RFB protocole handshaking (-> 1.07 Viewer/Server DSM compatibility with 1.06 is broken but existing Plugins remain compatible with v1.07) - Info messages are now displayed when connection fails with DSMPlugin (Plugins incompatibility, missing etc...) - DSMPlugin now supports ms_logon method - Slightly modified TestPlugin sample - Added "dsmplugin" command line option in vncviewer - Video Driver handling: - Auto switching to default system hooking when 24bit color depth is used on server (the driver not used in this case) - 8bit color palette support - WinVNC keeps the attached-to-desktop bit to 1 until VNC unloads the driver -> No more crashes when an application changes the display (ex: pinball). No more risk that color depth or screen resolution switching crash the server. ** RC 1.08 (v1 Release Candidate 08) - The last major memory leak has been fixed in WinVNC - WinVNC occasionnal crash under NT4 during initial screen loading has been fixed - The CTRL,ALT,SHIFT keys locking bug has hopefully been fixed - The Viewer's authentication window has been renamed "VNC Authentication" instead of " Ultr@VNC Authentication" : now Ult@VNC Viewer is compatible again with the VNC-Quickdesk password transmission method... - Some additionnal tests have been added to prevent possible crashes: - "ms-logon + no domain + WinVNC under win 9.x" case - OS Version is better checked when Video Driver is required by user - Fixed the scaling factors corruption problem when using "AUTO" quickoption in the viewer. - The DSM Plugins know their loader : vncviewer or WinVNC (application or service). It should be now more easy for plugins writters to save their plugins configuration at the good location in the registry, for instance. TestPlugin example source code has been updated consequently. ** RC 1.09 (v1 Release Candidate 09) - NT4 8bit crash fix - 24bit driver mode crash fix - "Unlock server" crash detect and fixed - 2003 driver support added to server and drivers - Added new about box - Auto Check "Cache Encoding" when XORZlib encoding is clicked in options dialog. - Fixed ".vnc" saving bug with some params (ServerScale, EnableCache...) - Quick Options handling code cleanup - Added Test if Options Dialog is open while terminating the viewer (->prevent a crash) - CTRL-ESC, Alt, CTRL, CTRL-ALT-DEL are now forbidden in ViewOnly mode - Viewer menu simplified and completed - Added Accelerator Keys (Hot Keys). They are displayed in the viewer's menu. (All are CTRL+ALT+Fxx keys) - Added AutoScaling : now the viewer window can be auto scaled/stretched so the server's screen is entirely visible (no scrollbars). The option is available along Quick options. - Viewer Scaling factors is now percentage in the Options window. More clear for users. - Hopefully fixed the screen refresh locking after a FileTransfer occasionnal bug. - Simplified Viewer TitleBar display (removed "VNC Viewer". Was useless and now we can directly see the hostname in the task bar). - Added hostname in the FileTransfer window Title bar. - Hopefully fixed the scaling crash that occurs in all others VNC distributions due to the StretchBlt() function + hardware acceleration. Visual quality remains equivalent when scaled. - Added a 30s delay between 2 encoding changes when using Auto mode. It should prevent some problems over slow connections... - Added ".vnc" load button in the "Connection" Dialog ** RC 1.10 (v1 Release Candidate 10) - Added secure memcopy/memcmp to prevent server crash - NT4 video driver does not exist..so put it always false - NewSWsize could cause problems, needed to be send from client thread enablecache could cause delete cache to give memory error, fixed some extra logging - Moved restart driver to vncDesktopThread check part. Driver is not restarted middle of an update - Disabled detect slow encoder (the auto switch between hookdll and driver does not work 100%) - DisableTrayIcon reg value added - ms-logon passwd length fix - ms-logon is moved to machine reg settings , no user setting - ms-logon is moved to 2 seperated dlls. groups and nested groups (AD) should work know - ms-logon added testutil - Added home page and online help menu items - String vncviewe moved to table to be easy translated - Added viewer flash window - New superfast Ultra Encoder using real time compression/latency reduction and the faster viewer screen updates ** v1.0.0 - RC 11 (v1 Release Candidate 11) - 8bit Colors regression fixed - Server PB fixed: WinVNC stalled when changing server screen resolution during connection. - Various bug fixes with Ultra encoding and mouse cursor updates. - Cosmetic fixes in viewer and server (multi-languages strings display, dialog boxes, bitmaps, flashlogo...) - Auto Mode On/Off switching pb fixed (after a manuel options settings the Auto Mode was no more available) - Added the /nohotkeys command line switch in vncviewer (saved in .vnc files like all the others vncviewer options) - Modifs and bug fixes in french vncviewer - Fixed Status display bug in Status Window when DSMPlugin is used - MS logon no support:worksgroups,NT4 domain,AD mixed and native domains workgroup,NT4 Domain: group checking (Netapi), password checking (SPPI, and logonuser for XP) Open guest access is checked and MS logon is regused on systems where guest account=1 AND force guest=1 AD mixed and native: Group and password are checked using the ADSI SDK (LDAP) ** v1.0.0 - RC 12 (v1 Release Candidate 12) * Server - DSM Plugin bug fixes (loopback mode, plugin changes, loading, config...). - Strings moved to resource file (server) + french translation - Added back auto hook switching (only active the first 50 updates, to prevent switching while connected) - Added -autoreconnect command line option and functionnality - Prevented Chat to send messages during transfer of a file - FileTransfer now handles Directory Transfer (using zip32.dll & unzip32.dll) - Ultra Encoder bug fix - New Video Hook driver - Local cursor support for Driver and Hookdll - Video Driver now uses events to notify the server for changes, no more timer - Auto full scan on idle time - Added several locks for memory protection while driver is disabled/enabled (resolution/logon) - Too many little updates (driver). If more than 50 rects, combine regions. * Viewer - FileTransfer now handles Directory Transfer (using zip32.dll & unzip32.dll) - Chat window can be minimized (allowing screen updates) and restored - FileTransfer Window can be minimized (allowing screen updates) and restored, excepted during a transfer - Toolbar Buttons changed... (thanks to http://www.phoenity.com/) - Added back dotcursor as default in all quick options modes, excepted Ultra & Lan - Added listening Port number to VNCviewer Taskbar icon tooltip, in listen mode - Added some resync code... Server and viewer sometimes were going out of sync. This code tries to find new updates in network data and resync the viewer. - A listening viewer using a DSMPlugin can now handle several connections with different servers without connection drops. ** v1.0.0 - RC 13 : never saw the light of day. 'wonder why... ;) ** v1.0.0 - RC 14 (v1 Release Candidate 14) * Server - Memory leaks, resources leaks, array bounding, bug fixes, desktop thread fixes - ms logon: Correction for global groups in local group detection + a lot of others changes to take the max. use cases into account... - FileTransfer is now forbidden when Viewers are forced to be "ViewOnly" - FileTransfer bug fix (possible infinite loop during copy loop) - Properties dialog tweaked - Removed the "Home page" and "Online help" shortcuts in the WinVNC traymenu (that were launching some IExplorer processes) until we find a better solution. - MS groups can be customized via options - Hookdll is loaded dynamic , dll does not longer need to exist to start winvnc * Viewer - Server Inputs/Screen-blanking bugfix - Proxy support (via the "VNC repeater" external program) - FileTransfer: selection bar now takes full list's window width - Several Listening viewers can now be run on the same machine using different ports numbers. - Pressing ALT or CTRL send ALT/CTRL directly to the VNCServer, as if the user selected "CTRL DOWN/CTRL UP/ALT DOWN/ALT UP" from the system menu. When turning the SCROLL-LOCK on, the following things happen: Pressing ALT+TAB DOES NOT switch applications on the client side. Instead, ALT+TAB is sent to the VNCServer. Pressing CTRL+ESC DOES NOT open the start menu on the client side. Instead, CTRL+ESC is sent to the VNCServer. Pressing ALT+SPACE DOES NOT open the system menu on the client side. Instead, ALT+SPACE is sent to the VNCServer. Pressing Break/Pause key toggles Full-Screen mode on or off. Pressing PRINT-Screen key requests a full screen update (same as selecting "Request Screen Refresh" from the system menu) All the above can be disabled by turning the SCROLL-LOCK key off. (written by Assaf Gordon (Assaf@mazleg.com)) 5. KNOWN ISSUES Please see Ultr@VNC Mailing list. 6. TIPS Please see Ultr@VNC Web site. 7. Details * How does Ultr@VNC use Info-Zip Ultra WinVNC and vncviewer both use 2 dlls for Directory Transfer: * Zip32.dll It is the original Info-Zip Zip 2.3 version (without encryption) that can be found on the Info-Zip sites, as well as its source code: http://www.info-zip.org/pub/infozip/ http://www.cdrom.com/pub/infozip/ ftp://ftp.info-zip.org/pub/infozip * Unzip32.dll Has been compiled using the portable unzip550 source code that can be found on the Info-Zip sites: http://www.info-zip.org/pub/infozip/ http://www.cdrom.com/pub/infozip/ ftp://ftp.info-zip.org/pub/infozip THE ONLY thing that was modified is that the "crypt.c" and "crypt.h" files have been replaced with the dummy (null) ones coming from the Zip 2.3 sources. So this unzip32.dll IS NOT the original Info-Zip "unzip32.dll" and does not contain any encryption/decryption code or binary. --------------------------------------------------------------------------- For any bug/pb regarding the use of these dlls by Ultr@VNC (Directory Transfer), please only send mails to Ultr@VNC team (http://ultravnc.sf.net) --------------------------------------------------------------------------- * Following, the Info-Zip full License This is version 2003-May-08 of the Info-ZIP copyright and license. The definitive version of this document should be available at ftp://ftp.info-zip.org/pub/infozip/license.html indefinitely. Copyright (c) 1990-2003 Info-ZIP. All rights reserved. For the purposes of this copyright and license, "Info-ZIP" is defined as the following set of individuals: Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel, Steve Salisbury, Dave Smith, Christian Spieler, Antoine Verheijen, Paul von Behren, Rich Wales, Mike White This software is provided "as is," without warranty of any kind, express or implied. In no event shall Info-ZIP or its contributors be held liable for any direct, indirect, incidental, special or consequential damages arising out of the use of or inability to use this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. Redistributions of source code must retain the above copyright notice, definition, disclaimer, and this list of conditions. 2. Redistributions in binary form (compiled executables) must reproduce the above copyright notice, definition, disclaimer, and this list of conditions in documentation and/or other materials provided with the distribution. The sole exception to this condition is redistribution of a standard UnZipSFX binary (including SFXWiz) as part of a self-extracting archive; that is permitted without inclusion of this license, as long as the normal SFX banner has not been removed from the binary or disabled. 3. Altered versions--including, but not limited to, ports to new operating systems, existing ports with new graphical interfaces, and dynamic, shared, or static library versions--must be plainly marked as such and must not be misrepresented as being the original source. Such altered versions also must not be misrepresented as being Info-ZIP releases--including, but not limited to, labeling of the altered versions with the names "Info-ZIP" (or any variation thereof, including, but not limited to, different capitalizations), "Pocket UnZip," "WiZ" or "MacZip" without the explicit permission of Info-ZIP. Such altered versions are further prohibited from misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s). 4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip," "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and binary releases.