**********************************************
*  Ultr@VNC - Latest modifications – History

1.2.1.7 Jan 2018
-XP fixes
-repeater security fix
-File Transfer fixes
*temp path
*XP libs
*Keepalive
*Seperated thread for FT

1.2.1.6 Sept 2017
Fixes
-bad connection caused by clipboard transfer during connection
-reconnect viewer failed 

1.2.1.5 June 2017
-Faster FT
-Fixed FT from winvnc to vncviewer if winvnc is running as service
-Better windows 10 support
-jpeg lib update

** V1.2.1.2 Sept 2016
*grey screen on start lock
*don’t balloon incoming non rfb data
*added portrait mode 
*switch w8hook corrected
*reset correct polling after w8hook failure
*dpi aware viewer

** V1.2.1.1 April 2016
Vnchooks: make sure the correct versions are attached, some older crashed
Server: 
-black screen on connection/ grey screen on connection and deadlock
-on disconnect server icon stayed yellow, blocking new connections
-black viewer with icons without file transfer.
-fixed mem leaks/resource leak
Viewer:
Fix overrun crash
Timeout reconnect fix
Closing no reconnect fix
Auto refresh after idle

Update jpeg lib

** V1.2.1.0 January 2016
Server: added rdp session select
Server: added alternate shell  when you use another shell the explorer.exe it doesn’t work correct
[admin]
alternate_shell=myshell.exe
rdpmode=1
Viewer: added remember last location ( host based)
UVNC_LAUNCH: added

Fixes
Artifacts on win8>
Faster reconnect on session switch
Repeater:reconnect, some port scanners could kick connections, stability

** V1.2.0.9 November 2015
*added XZ encoder (small bandwidth)
*crash fix
*auto mode: better initial settings to avoid coder switch on start
*fix 10 second delay win8 with keyboardhelper
*w8hook embedded
*option Gii encoder added
*memory leaks
*added tight encoder patch from Turbovnc project
*reconnect timeout in invers mode was increasing on each try, max set to 3 minutes
*crashes detected by crashrpt fixed

** V1.2.0.6 June 2015
*fix timeout multiple viewers
*scale server window, also when directx is not available
*fix multiple initial screen sends
*fix win8 and w8hook loop/hung high cpu
*added dpi aware for viewer

** V1.2.0.5 Nov 2014
*add viewer idle timer 
*add server id to password box
*server deadlock fixed ( existed already for 2 years)
*server tray install/uninstall/start stop service
*minimize viewer and high cpu
*save plugin options corrected
*update uvnc_settings.exe ( added new settings, help pages, service buttons)
*update repeater (could be locked by port scans)

** V1.2.0.4 Nov 2014

-Save config plugin fix
-clipboard deadlock
-allow filetransfer when file is open

** V1.2.0.3 Okt 2014
Security update, local user can gain local admin access on windows 8

** V1.2.0.2 Okt 2014
*viewer portable
*you can set a single port java/rfb 
*server deadlock fixes for slower connections
*ignore cursor when not in view window ( crashed java viewer)
*fast keyboard input could cause 100% cpu usahe on win8, fixed

** V1.2.0.1 Aug 2014
*service, fix error 1314, server sometimes failed to start desktop part and closed winvnc.
*security: increase timeout after each wrong password to make brute force hacking harder
*color correction 16bit and mirror driver
*memory leak with mirror driver fixed in previous fix J
*save setting permission fix
*added support for new repeater with keepalive
*tooltip buffer overrun fix, cause server to fail when sting in systray was to long
( multiple ethernet card. Long hostnames etc…)

**V1.1.9.6 Dec 2013
*server fix bug that crashed iexplorer 8
*auto alpha blending based on OS
*zrle deadlock fix
*tight encoding fixed
*show screenbuildup on first run

**V1.1.9.4 Okt 2013
*viewer mod for vmware ( wrong colors)
*update lijpeg-turbo to 1.3.0

**V1.1.9.3 Aug 2013
Missing screen  refresh  ( when driver selected but not used)
Factory reset ( when temp was not writable)

**V1.1.9.2 Aug 2013
Mirror driver and begative screen coordinates (left secondary desktop)

**V1.1.9.1 July 2013
-viewer with more then 9 multimonitors fixed
-performance update server
-add extra check to see if full and view only password differ

**V1.1.9.0 May 2013
-fixed change ip detection, sometimes server was disconnected after a few seconds by a false positive

**V1.1.8.9 April 2013
-Viewer timeout option grayscreen fix
-server leaks fixed
**V1.1.8.8 March 2013
-server crash
-server grayscreen
**V1.1.8.7 March 2013
-filetransfer bug fix (x64)
**V1.1.8.6 March 2013
-autoreconnect and auth fail fix
-viewer with option window open fails to close
-viewer messagebox sometimes hidden behind window
**V1.1.8.5 March 2013
Viewer deadlock with software cursor change.
**V1.1.8.4 March 2013
server
-u2 encoder on 16color display crash
viewer
-fullscreen bar center
-reconnect set by default

**V1.1.8.3 March 2013
-Fix server /NULL crash
-Fix radio button u2 viewer
**V1.1.8.2 March 2013
-fix lock after gray screen

**v1.1.8 (Feb 2013)
-fix protocol error server
-fix correct default options <Vista

**********************************************
*  Ultr@VNC - Latest modifications - History
**v1.1.8 (Nov 2012)
-addad support windows 8
( new capture engine)
-several bug fixes
-better multi monitor support
-new vncpasswd + encryption.
Instead of using the password as part of the encryption, we now check the password insite the encryption by the server. This allow the server to balcklist servers after x fault password.

WARNING: If using encryption plugin + vncpassword you better upgrade. No protection against Brute force password hacking.

**v1.0.9.6.2 (Feb 2012)
-removed beeps
-Capture alpha-Blending default value.
-Viewer crash fixed
-Grayscale fixed

**********************************************
*  Ultr@VNC - Latest modifications - History
**********************************************
**v1.0.9.6.1
*crash chat x64
*AuthRequired=0, passwd=NULL: Warning message block service
*About x64 say win32
*viewer 1082 and server 1096 with localcursor ( no connect, 100% cpu)
*serversite scaling and multiple viewers, framebuffer size get overwritten
(Scale is now lock when multiple viewers are connected to avoid a
 framebuffer change, first connected viewer set scale. Site effect is that 
the viewer report the unused, incorrect scale, but at least it doesn't crash anymore)
*-connect ip, passed to winvnc running as service is not remembered for
autoreconnect.
*-stopreconnect
stop the autoreconnect function of the server.
*server mouse moves jump on viewer when screen is idle.
corrected
*old_plugin crash ( zlib/ultra)
*plugin (SecureVNCPlugin) used by viewer
 server without plugin
give incorrect viewer message. And doesn't ask to reject the connection.
*monitor value is saved, but vncviewer read it as bool (true/false)
Only 0/1 are correct imported 
*old plugins fail when zrle encoding is used
*old plugins give incorrect info in statusbox
*-autoreconnect timeout, -reconnectcounter number
(available from gui and commandline)
*autoreconnect timeout was incorrect, updated
*old_plugin detction was incorrect
*autoreconnect was indeed invers, corrected again
*All Messagebox() replaced by a function that put it on the visable desktop ( done for all messageboxes)
*Auth Message dll not found, name corrected and refuse access.
*if all groups are empty check also admin.
*if OS_SHUTDOWN initiated ingore all lock functions.

**v1.0.9.6

FIX

*server site scaling crash server and/or viewer 
(This also solve situations where the resolution after reconnect differ 
from the original) 
* wallpaper fixed (aero/wallpaper +services crash seems also solved) 
* options Gui group
* Allowshutdown=0 service problems fixed 
* optimized memcpy function 1/1 scaling 
* optimized capture functions
* recompiled addons for w2k (kernel pointer error)
* minimize artifacts on window move
* compatibility with other vnc flavors and old ultra versions
* vncviewer -config

ADD
* server systray ( show ip/name/app or service) 
* forced reboot
* selectable display ( prim/sec/3the/all) for showing the viewer 
* u2 (lzo/jpeg) encoder

** v1.0.9.5 Release
+Server optimized, faster.
*bug fix rfb3.7 server and noauth
+move to zlib 125 with asm 
+cad now use sas.dll from ms instead of cad.exe ( Vista)

** v1.0.9.3.3 Release

changes 

-uvnc close as last application, on reboot 
-reboot in safe mode with uvnc access after reboot. 
-Fix SoftwareSas registry from systray (ctrl-alt-del) 
-cad with and without auc on Vista and win7 
-update installer start server after installation (option) 
-Viewer option directX
-If not running as service, the viewer stay open on UAC ( locked) , message on viewer screen
-fix viewer crash on startup

safeboot 
On XP -> boot.ini is changed , added /safemode:network 
On Vista >= bcdedit is used to put the system in safemode 
when uvnc start in safeboot, boot.ini /safeboot is removed 
and bcdedit corrected for normal boot. 

** v1.0.9.1 Release
Server + Viewer: 

Integrated support for SecureVNC plugin. 
Fix recursive clipboard issues when several VNC, RDP, VM, etc sessions are nested. 
Fix hangs in clipboard handling. 
Support for HTML and RTF clipboard formats. 
Support for Unicode clipboard text. 
Clipboard text is compressed when transferring. 
libjpeg library replaced with libjpeg-turbo which includes optimized assembly code for both x86 and x64. 
Zlib updated to latest version. 
DSM plugins no longer cause the server/viewer to send any additional messages or prefix bytes. This eliminates 41 bytes of network traffic per message. 
Immediately subsequent socket writes are coalesced to minimize unnecessary packets. This eliminates 40 bytes of network overhead for most messages, and more in other cases. 
RFB 3.8 

Viewer only: 

Fix crash when changing framebuffer dimensions with cache encoding enabled. 
Fix disconnect when changing framebuffer dimensions. 
Some menu reorganization. 
Throttling for mouse move messages to prevent saturating output buffer with pointer updates. 
Queueing implemented for outgoing writes; this eliminates some overhead from every message. 
Preemptive update requests. 
Enable cache encoding from commandline, /enablecache 
Fixed stability issue in Tight encoding (merged from TightVNC) 
Fixed recovery / resynchronization attempts in update handler due to bypassing DSM plugin when flushing input buffer, leading to unsynchronized encryption states..

** v1.0.8.2 Release
server
*deadlock fixes
*win2003, xp ( all pre vista) fast user and RDP fix
*color error when using the driver in 16bit color mode. 
*added multiple monitors for non driver mode 
*corrected mouse behaviour with multiple displays 
* mirror driver was used on vista>= and color was 8/grey/b&w crash fix

viewer
*listen and add new client fail to connect fixed
*skewed viewer in 254 color mode fixed
*scrollbar and resize fix
*auto mode set to fix color to prevent crash
*write exact error" replaced by "server closed connection
*cancel force socket close
*viewer -listen also remember command lines

installer
*download files uncheck fix

**v1.0.8.1 test

** v1.0.8.0 Release
DSM plugin: 
Multithreaded / interface support 
Require Multithreaded plugins 

viewer 
-Prompt to disable dsm plugin and connect if an unencrypted session is detected. 
-Fallback to dibsection if video memory is low (black screen issue) 
-Keyboard hook fixed; no longer interferes with keyboard responsiveness. Also scroll lock is properly handled for special keys. 
-Repeater ID is shown in in the recent edit box when you connect along with the repeater host. 
-Cmdline options to auto accept connections and another to auto accept unencrypted connections 
-Remember last local path in file transfer during a session 
-Gui lock fixed ( server disconnect without message could lock gui) 

server 
-Some mutex changes that were causing issues when there were multiple connections 
-Support for multiple connections using dsm plugin 
-Support for new plugin interface 
-New repeater cmdline option for simplicity 
-Some interface changes in the add new client dialog when using sc mode 
-Support balloon tip notifications, used in sc mode 
-Dialog to show pending or unauth clients such as those waiting with the repeater or reverse connections 
-Also some crashes due to bad function pointer init in dsm plugin handlers 

-if no incremental udate is requested (full update) the incremental rectangle is the full screen 
-deadlock fixed ( server hang after desktop switch (logon-default-screensaver,taskmanager needed to kill) 
-server mouse moves get faster processed 
-driver is handled faster (there was a not needed 100ms wait in the code) 
-ultravnc.ini
[admin] 
sendbuffer=8192 <<<custom sendbuffer size

** v1.0.7 ( Beta tests)

** v1.0.6.5 Release
gui rfb port lock fix 
-Performance ; Mouse move a little faster 
-Performance: Startuptime a little faster ( first screen) 
-memory leak 
-driver and logon/uac (black screen) 
-aero enable bug ( service, not restored) 
-driver win7 
-play sound if file exist, PGM solution is better and exe smaller. 
-added (ultravnc.ini, [admin] ) clearconsole=1 (winstationconnect bug) 
-double-click on trayicon behaviour show properties 
-X64 installer should now install in program files 
-X64 version does not longer show "win32 server" 

** v1.0.6.4 Release
- Gui fix
- FT fix

** v1.0.6.3 Release

Viewer changes:
- Gui lock while reconnect fixed
- Removed flasher ( unused code )
- Rab order fixed in dialogs
- Crash on exit fixed
- Cursor with scaling fixed

Server changes:
- Fixed unload video driver and xp64
- Fixed settings overwriting with default when tempfile was write protected
- Added messagebox uncheck for runas when ultravnc.ini is not writable
- Added sc_prompt as command line option
- Added sc_exit as command line option
- Removed some logging, to many messages
- Fixed locks when fast user switching between winlogon and desktop change
- Added back a timeout, service need to give OS time to switch the desktop
- Screen updates engine changed. Now uses events instead of windows messages
- Moved engine updates sink to seperate cpp file
- Tab order fixed in dialogs
- Fixed crash monitor switch when second monitor is bigger
- Added maxcpu setting

** v1.0.5.7.x

- Fixed locking issue
- Screen updates engine partially rewritten

** v1.0.5.7

Viewer changes:
- Fixed mslogon + DsmPlugin not asking user/passwd
- DsmPlugin reverse path for dsmplugin set to %TEMP% (fixes Vista error)

Server changes:
- Added -sc command line option
- Server exits on viewer's disconnection fixed
- Server now remains connected on desktop change (like uac)
  Still can't be controled because winvnc running as application 
  doesn't have permission, but the remote person can do
  the task and get full control back when UAC popups or when 
  elevated window is closed.
- Added reverse connection accept (like in old sc)
  usage: winvnc.exe -sc -run

Performance changes:
- There was an issue that viewer sometimes looked frozen. Fixed
  But fixing this issue caused very fast server/viewer update requests, 
  pushing the cpu too high on server..
- CPU throttle added, so winvnc usage stay below 40%
- Idle detection added to lower cpu when desktop is static
- Tweaks for older cpu to keep the cpu lower
- vnclog fixed, was using cpu even when not enabled

Usage box updated:
-run needs to be the last uption

Connection:
- Reverse connection and running as service fixed
- Added service_commandline = -autoreconnect
- Dual logon box fixed

- XP64 mirror driver added
- Fixed mirror driver disabling on viewer disconnection

- Added extra check
  When changing settings the runas dialog asks for permission to make 
  changes, default is NO.. a popup tells you this in case a permission 
  is denied

** v1.0.5.6

- Driver activation bug fixed

** v1.0.5.5

- Performance adapted for low cpu systems
- Autodetection speed is now lower to get a better average
- Exes signed until 2011
- Various other fixes...

** v1.0.5.4

- Viewer security update

** v1.0.5.3 Release

- Added settings editor (as a seperate application)
- Added option to preset primary/secondary/both desktops as default
- Terminal service dependency removed

** v1.0.5.2 Release

- Unzip32.dll/zip32.dll are not longer needed for directory transfer
- Logoff user ndoes not check the session number; restart is only done 
  when session != 0 (for Vista or XP with fast user switching)
- DirectX viewer (tabbed_viewer) compiled with the correct settings

** v1.0.5.1 Release ( BAD )

Viewer changes:
- Fixed bug where screen frozen when file transfer or chat was open
- Close the chat dialog before deleting TextChat object. 
  Wait for thread to exit before returning from KillDialog()
- Fixed server crash in KillAllClients when chat window was open
- Suppressed duplicate messages about lost communications
- Suppressed "File transfer completed" message if there's an error so 
  the error is seen in the history dropdown
- Autoreconnect fix
- Unzip32 zip32 now always look in the installation folder

Server changes:
- Save option permission fixed
- Performance tweak for server-side scaling
- Close the chat dialog before deleting TextChat object. Wait for thread 
  to exit before returning from KillDialog()
- Fixed server crash in KillAllClients when chat window was open
- Suppressed duplicate messages about lost communications
- Close textchat dialog if open before deleting textchat object to avoid 
  crashing the server
- Updated javaviewer
- unzip32/zip32 embedded
- Drivers fixed clasic style (bad captionbar)

** v1.0.5 Release
(v1.0.4 was never released. We switched directly to v1.0.5)

* Update 23 aug 2008

- Driver+applications that change resolution (like pinpall in fullscreen)
- vnclog : In some cases the standard path wasn't writable, now path can be set

* Update 13 aug 2008

- FT crash when clipboard is used during transfer fix
- Admin properties and domain user fix
- Inputlock input fix

* Update 3 aug 2008

- Exceptions thrown with no message cause access violations when Report called.
- All message boxes are now properly parented to the viewer window so that they
 are modal.
- Socket timeouts are now used during file transfer so that connections lost
 while connected to a repeater are detected
- A small keepalive message is sent every 5 seconds after receiving a file chunk
 to keep the server or viewer from timing out during a read.
- The prompt for exit is now respects the m_fExitCheck setting  if the 'x' in the
 full screen titlebar is clicked
- Another big change to the file transfer module is that a temporary file is used
 to hold the file being transferred. When it is successfully completes, it is
 moved to the original file name -- resume still works too. This was because
 when a file transfer is interrupted, a user (ie, service tech) can't tell
 if the file is complete.
- The close button on the file transfer dialog is now enabled and disabled during
 file transfers. You can't close the window with the 'x' during a transfer,
 but you can otherwise
- Many variables are now properly initialized.
- The black layered window is now brought to the top every 20ms -- the start menu
 is still visible on the remote system so this change makes it go away faster.
- You can now register the service with a custom name.
- Simplified Copy_to_temp and copy_to_secure_from_temp
- When the network connection is lost, a message is shown "Connection lost due to
 communication failure" instead of "writeexact: socket error while writing"
- socket read/write errors now break the while (connected) loop in vncclient.cpp
- Simplified file handle cleanup
- FT crash fix, lock screeen while transfer
- quickoption fix: Was not saved correct

* Update 10 July 2008

- Repeater: found bug that required server to be connected first.
 Now you can connect server or viewer first
- Viewer: option are now correct loaded.
 The problem was the the presets didn't have "manual set", this cause the presets
 always to be loaded on top of manual settings.
- Server now take as commandline
- Autoreconnect -id:???
- Single repeater connection server had a possible error ( reconnect couldn't
 happen if shutdown by service is requested)

* Update 26 june 2008

- View Only, comment text: Alt+Ctrl+F3
- Ctrl+Shift+Esc open Task Manager on winvnc application and service
- Ctrl+Alt+F4 send Ctrl+Shift+Esc if winvnc run as application
- Dead keys \' ^`"´ and € + winkey shortcuts (Windows Logo Key)
- Scroll Lock ON, winkey + shortcuts sent to remote
- Scroll Lock OFF, winkey + shortcuts are local (default)
- 8bit (switching codec+colors) vncviewer crash, fixed.
- Auto scaling remote screen improved to fit to local screen
- winvnc with mirror driver 1.22 active only when viewer connected, fixed
- ExitCheck (default=false vncviewer config file)(pgmoney)

* Update 16 june 2008
- vncviewer, View Only (check box) and title bar
- vncviewer, command line encoding, added zrle and zywrle
- vncviewer auto scaling big screen of remote server to small video screen
 local viewer.
- vista, uvnc_service already installed as service (winvnc)
- Start service (need to be previously installed) (Jeff for w2k fix)

** v1.0.4 RC16 - BETA - FOR TEST & DEBUG ONLY !

- Handle leak service fix
- Manifest update ( asinvoker)
- Projects updated for VS2005/2008
- Only allows the viewer that disabled remote input to reenable it
- FT crash  bug when the source file could not be read on the server
- fullscreen: mode, make the tooltips for the toolbar visible
- fullscreen: multimon fix
- FT: no media in remote driver fix
- Confirm exit option

** v1.0.4 RC15 - BETA - FOR TEST & DEBUG ONLY !
- shared connections patch
- monitor blanking fix
- restore wallpaper fix
- java viewer direcory detection
- title bar crash fix
- syncronize disable keyboard button with server
- syncronize caplock state
- Delete partial files after failed filetransfer

** v1.0.4 RC14 - BETA - FOR TEST & DEBUG ONLY !
- "\" Fix (keyboard)
- service_commandline Fix
- Send Custom Key
- Authentication fail speedup
- Version RC13 was buggy
- RC14 now use VS2005.
- Run stable when no multiple connections are made.

** v1.0.4 RC13 - BETA - FOR TEST & DEBUG ONLY !
- FIX plugin path
- FIX crash after wrong rfbversion message

** v1.0.4 RC12BISII - BETA - FOR TEST & DEBUG ONLY !
FIX W2K and service

** v1.0.4 RC12BIS - BETA - FOR TEST & DEBUG ONLY !
- FIX video driver popup

** v1.0.4 RC12 - BETA - FOR TEST & DEBUG ONLY !
- Memory bounding error fixed
- Serveral possible security risks fixed.. ( added extra protection against
  buffer overwrites that could be invoked by modified server or viewers.)
- 32 / 64 drivers
- 32 / 64 exectables
- Driver mv2.dll changed !! New server require new driver.

** v1.0.4 RC10 & RC11 - BETA - FOR TEST & DEBUG ONLY !
- Vista driver activation should be fixed
- keyboard fix, for international keyboards. Only tested with french and belgium 
  keyboard (dead keys)
- commandline options added (same as in 102)

** v1.0.4 RC9 - BETA - FOR TEST & DEBUG ONLY !
- Added extra info to check driver
- Server->poll properties -> check driver
 (version, active, acces ok)(version, not active)
- multi monitors on Vista
 Driver need to be installed and working
 winvnc must be runnning as service or
 winvnc running as application must be started with "runasadmin"
- MS logon II and group/user settings
 Changed made, please check if it correct the problem

** v1.0.4 RC8 - BETA - FOR TEST & DEBUG ONLY !
-added previous (rc4) rdp kill via ultravnc.ini
 [admin]
 kickrdp=1

** v1.0.4 RC7 - BETA - FOR TEST & DEBUG ONLY !
- typo's fixed
- runasadmin,vista,application mode menu fix

** v1.0.4 RC6 - BETA - FOR TEST & DEBUG ONLY !

- Invisible query window fixed
- Several JavaViewer bug fixes by TRiessner in the FileTransfer GUI
 (files lists are now sorted, big directory/file names fixed, files seen
 as directories fixed...)
- Beep fixed
- Win2003 install via rdp session fixed
- The installer now should be able to correctly install/upgrade 1.0.2 and 1.0.4 RCX
- Video Mirror Driver and Vista Addons are now optionaly downloaded from the installer.

** v1.0.4 RC5 - BETA - FOR TEST & DEBUG ONLY !

- Service mode is back in winvnc.exe
- Service can be installed/start/stop/uninstall from system tray menu
- mouse shape fixed
- Dsm plugin fixed (Vista)
 MSRC4 Plugin should work fine under Vista
 AESV2 plugin does not always work under Vista
 ARC4 plugin should work under Vista
- New commandline options:
 -autoreconnect ID -connect host -run
 -autoreconnect ID -connect host -service
 "-service" or "-run" need to be the latest parameter

** v1.0.3 RC2 - BETA - FOR TEST & DEBUG ONLY !

- Vista support:
 - New Viewer Autoreconnect feature
 - New WinVNC special startup modes (used by uvnc_service), and WinVNC
   autostop feature when necessary under Vista/XP FUS
 - CTRL-ALT-DEL using Viewer's "CAD" button should work (Vista and XP)
- FileTransfer window now allows files lists sorting by columns headers
- WinVNC now stores its config parameters into ultravnc.ini file
 (same directory as WinVNC.exe). This change was necessary for Vista/XP FUS.
 To use the registry instead, like in previous versions, do the following:
 1.Before running the uvnc_service for the first time, create an
   ultravnc.ini file in the UltravNC 1.0.3 RC2 install directory
 2.Add to this ultravnc.ini file the 2 following lines:
   [Admin]
   UseRegistry=1
- WinVNC contains bug fixes for connections init/stability issues
 (v1.0.2 Test2 patch code and more)
- Please note that DSMPlugin (MSRC4) does not work very well under Vista
 The ARC4 plugin should work fine though

** v1.0.2 Release

- Resizable FileTransfer window
- Improved cursor handling in viewer and javaviewer
- Improved Autoreconnect option in server
- Improved query-on-incoming-connection window in server
- MSLogon improvements
- MSLogon weak challenge vulnerability fix with displayed
 NOTE: MSLogon backward compatibility is broken with versions
 <= v1.0.1
 Anyway, the new v1.0.2 viewer can use MSLogon with older servers
 but a warning is displayed recommending server upgrade.
- Server and viewer logging functions vulnerability fix
- Server configuration: AlphaBlending, FTUserImpersonation and
 LockWorkstation options are allowed depending on the OS
- MSRC4 DSM plugin v1.2.0 embedded into the setup
 ("plugin" subdirectory). The .dsm files must be manually copied
 into the UltraVNC install directory, along Ultra binaries.
 Many enhancements in this new plugin (session key salting, connection
 still possible without key file...). Thanks Sean !

** v1.0.1 Release

- Slow FileTransfer (viewer -> server) over LAN: fixed
- Slow applications on viewer machine during FileTransfer
 (viewer -> server): fixed (other applications are now usable...)
- JavaViewer applet is now displayed in an independant auto-sizable
 windows that adapts itself to the remote screen size.
- Viewer fullscreen titlebar is now 700 pixels large (instead of 500)
- Version info in initial dialog box viewer
- Color info "check driver" in case color is not supported
- Removed session switch running as application (disconnect as app RDP)
- TextChat display corruption when lot of text was typed: fixed
- FileTransfer temporization is no more used when main viewer window is mimimized
 (=> max. speed transfer)
- Updated zlib library to v1.2.3
- Changed Modem/Slow profile encoding in Auto mode, from ZRLE to Tight:
 it should fix the occasional viewer crash over slow connections in auto mode

** v1.0.0 Release

- Cosmetics and language correction for server and viewer
- Driver activation (v100)
- Resources corrections (radio buttuns)
- Manual close viewer demaon

** v1.0.0 - RC20 7

- new: installer with several new options
- fix: vncdrv.dll had some text missing
- fix: missing mouse pointer when viewer in background
- fix: manually select ports in Admin Properties
- fix: black screen problem
- fix: active scroll log error
- fix: disable Admin properties

** v1.0.0 - RC20 5
- protocol error fix for non ultravnc viewers
- XP look

** v1.0.0 - RC20 4
- Internal test version

** v1.0.0 - RC20 (.1, .2, .3)

- FileTransfer bugs seem all fixed this time. All the regressions due to the
 new asynchronous transfer mode + delta transfer should be solved.

- New FileTransfer Impersonation mode.
 Available only when WinVNC is run as a service.
 A user that connects to WinVNC and that is not yet identified by
 the server (Windows authentication, so he can see the Windows login screen)
 has no access to the server's filesystem through UltraVNC FileTransfer GUI.
 He must login into Windows first. Once identified, the user only has access
 to the filesystem resources allowed by his Windows profile.
 This mode can be desactivated by an admin if necessary:
   "FTUserImpersonation=0" in the WinVNC registry branch. In this case, the
   whole filesystem can be accessed by users, without restriction, like in
   previous UltraVNC FileTransfer versions.

- New color modes: 64 colors, 8 colors, 8 GreyScale, 4 GreyScale, 2 B&W

- The JavaViewer also supports the new color modes

- The WinVNC embedded HTML container for the JavaViewer now displays
 a warning saying that the Java VM must be installed on the Web Browser machine
 in order to get the JavaViewer working.

- Various small bugs fixes:
 - Forced X-cursor encoding sent to viewers: fixed
 - Bad minor version number sent causing Chat not supported (Server->Viewer): fixed
 - Command line ignored-options bug: fixed
 - NT4 Crash: fixed
 - DSM plugin mechanism: new Reset function added and bug fixed
   (note that versions of MSRC4 Plugins > 1.1.4 must now be used with RC20)
 - System resources and small memory leaks: fixed
 - Some registry settings bugs: fixed

- New "modern" dialog boxes look (XP)

- Slighlty redesigned and tweaked dialog boxes both in Vncviewer and WinVNC
 so they are more readable and look better.

- MSLogon II: lot of new features and bug fixes (see whatsnew.txt for details)

- Optional Alpha-Blending capture mode

- Optional Alpha-Blending screen-blanking mode (see whatsnew.txt for details)

- Last Viewer settings are automatically saved in a "latest.vnc" file in current
 users's "local settings" Win directory. So next time the user runs the viewer
 these settings are automatically reloaded.

- New single-http-connect port support. A separate WinVNC1P.exe is available
 and necessary to get this functionnality. This new fonctionnality will be
 included in the regular Ultra WinVNC as soon as possible.

- New Single-Click UltraVNC server. The Setup can be customized and generated
 online on the uvnc web site. Please see the Forum and Website for details.

** v1.0.0 - RC19.7

- FileTransfer fixes
- Registry (service) fixes
- Blank screen now uses layered window (W2k)
- DSM Plugin fixes
- AlphaBlending can be activated via the WinVNC admin option pannel
- CPU Blank screen
 CPU Screen Blanking is fixed by using a layered window.
 (option admin pannel)
 It only works on W2k/XP/W2003
 Doesn't work in combination with the driver
 If Alpha blanking can not be used, the older DPMS method is used instead (auto)
 The Screen Blanking with AlphaBlending can show some content on the screen,
 if you create a "Background.bmp" file in Winvnc directory, this bitmap is used
 instead of the default black background.
 Alpha ScreenBlanking can not Hide the Cursor, and sometimes the menus go to the foreground.

** v1.0.0 - RC19.6

- Extra registry parameter "CaptureAlphaBlending"
- Winvnc1P.exe (1 port for http, seperate version , don't now status with normal viewer and plugins)
- Viewonly viewer command line

** v1.0.0 - RC19.5

- FileTransfer fixes
- NT4 fixes
- Viewer remembers last used options
- Properties and port fix
- Java viewer recompiled using old java 1.3
- Documentation added for MSlgon/Repeater/nat2nat

** v1.0.0 - RC19.4

- Cursor shape first update
- Install without previous password (i hope it is fixes this time)
- Korean installer (é("&) replaced by Korean
- MS-Logon II: Unicode support (special chars)
- FileTransfer fixes

** v1.0.0 - RC19.3

- MSlogon I changes

 logging.dll: needed, does event and file logging
 authadmin.dll: if present, give localadmin access
 workgrpnt4.dll: Workgroup and NT4 domain checking
 ldapauth.dll:Active directory W2K up
 ldapauth9x.dll:Active Directory 9X
 ldapauthnt4.dll:Active Directory NT4
 Only the logging.dll is needed, If other dll's do not exist,
 that specific check is skipped.
 If you remove authadmin --> Local admin has no access
 If you have active directory,workgrpnt4 is not needed

- Bug fixes:
 NT4 crash
 FileTransfer fixes

- Viewer use the selected language
 To manually change the language of the viewer, copy the correcponding
 xxx.dll from the /lang directory as lang.dll in the viewer directory

** v1.0.0 - RC 19 (v1 Release Candidate 19)

 - Semi "Fast User switching support

 For each user session you switch to, a seperate winvnc server is started on the next port.
 User session A on 5900, after user switch, viewer get black.
 User session B on 5901 gets active, after switching back to session A,
 first user session viewer get back active

 - Shutdown

 Shutdown, vnc stops as last service. Needs to be tested,
 because vnc is not stopped at all, service breaks when network become unavailable.

 - Bug fixes

 Screensaver and lock screen caused server hung running as application, fixed
 logon blocks, and screensaver resolution changes are better handled.
 Plugin had a realy bad network behaviour, fast small updates like in
 "Starfield screensaver preview" could crash your network ....
 Manual update after logon/screensaver fixed
 Fixed blank screen and XP SP2
 Cancel button in vncviewer fixed (now it actually stop connection process)

 - Video Hook Driver mode

 Extra driver version check on startup 1.018/1.017/1.017 for driver files,
 else driver is disabled
 Extra driver check button in properties menu. Gives driver status

 - Performance

 Network traffic is send in 8k blocks (avoid flooding on wireless)
 Local mouse handling react faster on cursor change

 - System shutdown

 Viewer should now stay connected until you get the logoff screen

 - WinVNC Properties handling

 User settings (only poll settings, access for all users)
 Admin settings (all other critical settings, access for administrators only)
 In service mode, no user settings are used, excepted polling ones
 Only the primary session can open the Admin properties "FUS"

 - Multi-headed display (multi monitors support)

 Without Video Driver: user can toggle between primary or secundary display
 With Video Driver: switch toggle primary,secondary or both displays
 Selection is done using the "Full Desktop" Toolbar Button (which is normally used
 to toggle from Single Window to Desktop modes)
 "Server cursor handle", not supported if secundary screen is left (with driver)
 Tested on 2 card system

 - Java Viewer

 Now supports FileTransfer (same kind of GUI than in win32 Viewer, but simpler...
 more functions will be added gradually (multiselection of files, directory transfer..)
  -> the JavaViewer now needs to access the viewing machine harddrive, so the user is
     prompted for an "UltraVNC" signed applet certificate acceptance.
 Support MS Logon authentication method

 - FileTransfer

 Now supports Delta Transfer for files (-> also provides Resume Interrupted transfer)
 Now transfers are asynchronous if wanted:
  When FT GUI is visible -> no screen updates, max speed for the transfer of files
  When FT GUI is minimized -> screen updates and file transfering at the same time
 Added multiselection for files deletion
 Added Rename File/Directory command
 Fixed some bugs with Directory Transfer (names with "(" or ")")
 Fixed huge files transfers and progress gauge corrupted display (> 2GB files)
 Added progress percentage value display
 A lot of code cleaning and sanity checks (both in Viewer and Server)
 New Viewer FilTransfer is still backward compatible with previous Servers (<=RC18)
 Directory Names are now surrounded with "[ " and " ]" in the GUI lists

 - MSlogon

MSlogon II
Added a new MS-Logon authentication method (aka MS-Logon II).
Should work with Windows NT 4, Windows 2000, Windows XP and Windows 2003.
(See mslogon.html for a detailed description)
- Ability to authenticate cross-domain, i.e. the user account
 can be in another domain than the computer account.
- Stores access settings in an ACL:
 Unlimited number of users/groups can be configured
 Each user/group can have full access/viewonly
- New UI: Standard MS Security Editor
- MSLogonACL: Tool for exporting/importing ACL
- Only one (1) Windows logon attempt is performed.
Bug fixes:
* Fixed: Usernames with spaces fail to load with MSLogonACL tool
 (see http://forum.ultravnc.net/viewtopic.php?t=1046&highlight=#4025)
* Fixed: Extended ASCII characters (ä/ö/ü/ç) lead to authentication failure
 (see http://forum.ultravnc.net/viewtopic.php?t=1259&highlight=#4702)
* Fixed: Certain passwords (e.g. Abc0DefG) lead to authentication failure
 (see http://forum.ultravnc.net/viewtopic.php?t=803)

** v1.0.0 - RC 18 (v1 Release Candidate 18 )
 -Optimized RC17
 -Code analysing to optimize performance
 -Driver bug fixed
 -smoother moves
 -cache fix
 -A lot of speed optimizations

** v1.0.0 - RC 17 (v1 Release Candidate 17)
       DRIVER
 -Driver consist of 2 parts, the actual mirror driver and a memory manager service.
 -Final driver version

       VIEWER/SERVER
 -Fix cpu ghost issue on quiting viewer
 -Fix connecing failed if screensaver+lock screen was running
 -Fix listening and multiple viewers no longer quit when one viewer is stopped

 ** v1.0.0 - RC 16 (v1 Release Candidate 16)

  - Driver handling was changed again.
  - It's stable and high speed is back.
  - Scrolling bug fixed, driver was giving invers delta
  - Driver screen moves and standard screen Moves detection
    can not be used together. Both where cumulated--> delta x2
    Scrolling is handled by the driver, screen moves by the old method
  - Fixed sendmessage queuing problem.

 ** v1.0.0 - RC 15 (v1 Release Candidate 15)

  - Tryout to make it stable again.
  - V15 is stable, but terribly slow when driver used

 ** 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))

** v1.0.0 - RC 13 : never saw the light of day. 'wonder why... ;)

** 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 11c (v1 Release Candidate 11)
 -auth dll changed (NT4 missing function,)
 -added winvnc -multi (disable single instance check)
- File times now displayed in local time in FileTransfer
- DSM bugs fixed:
  - DSM+ZRLE now WORKS :)
  - Fixed various crashes due to insufficent DSM working buffer size with 1200+ screen resolutions
  - Fixed DSM+UltraEncoding crash (I now desativate Queuing when DSM is enabled).

 ** v1.0.0 - RC 11b (v1 Release Candidate 11)
 -messages.dll (nt event ) was missing
 -new XP style buttons
 -ldap was only added to the testauth util....:)
 made it also active in winvnc
 -Plugin changes
 -A viewer crash bug fixed
 -About etc...still have RC11 to little changes for new release number

 ** 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)
 - added ConnectPriority=3: refuse multiple viewer connections
 - Added even more memory controle functions
 - users without HKLM access can run vnc as application
 - added vnc loggons to system event logging (NT)
 - UltraEncoder isolated from other. This encoder is experimental and use a faster viewer screen update
  mechanism.  When switching (manual) from or to  this encoder some black rect can appear. Does not support
  caching and local cursor shapes.  This encoder is no longer part of the auto mechanism.

 ** 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

 ** 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.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.07 (v1 Release Candidate 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.

  - New Video Hook driver v1.0.7 (+ New separate Video Drivers Auto-Setup)