799 lines
33 KiB
Plaintext
799 lines
33 KiB
Plaintext
WinVNC Version History
|
|
|
|
Version 3.3.7 (RealVNC Version 3.3.7)
|
|
Changes from 3.3.6:
|
|
|
|
Removed use of Win32 HRGN API completely. Regions are now implemented
|
|
using the X11 region code, nobbled just enough to build properly.
|
|
|
|
Fixed a memory leak in the Win32 HRGN API, just in case it ever gets fixed.
|
|
|
|
Changed the VNCHooks defaults to use deferred updates, and to hook key
|
|
press events - may cause performance issues and ActiveX issues, but
|
|
they are the best settings for most systems.
|
|
|
|
Fixed a bug in the processing of passwords supplied in the Properties dialog
|
|
that affected use of Latin-1 characters with ASCII codes of 128 or above.
|
|
|
|
Version 3.3.6 (RealVNC Version 3.3.6)
|
|
Changes from 3.3.5:
|
|
|
|
The WinVNC service helper now attempts to contact the server for
|
|
up to a minute, to cope with users logging on to XP machines before
|
|
the service has had a chance to start. Avoids the tray icon not being
|
|
shown.
|
|
|
|
When run as an application, WinVNC will always display the tray icon.
|
|
|
|
Renamed omnithread2_rt.dll to othread2.dll to work around a
|
|
problem with the InnoSetup installer.
|
|
|
|
Added concurrency-protection around all uses of Win32 HRGN API
|
|
routines, to avoid a possible bug in the Win32 API when used
|
|
by multi-threaded programs.
|
|
|
|
Clipboard contents are now sent to clients even if no graphical
|
|
updates are available.
|
|
|
|
Advanced VNCHooks.dll settings can now be specified on a per-
|
|
machine basis, not just per-user.
|
|
|
|
Fixed rare condition in VNCHooks.dll that could prevent user
|
|
profiles from being unloaded correctly.
|
|
|
|
Fixed timeout bug in HTTP server.
|
|
|
|
Version 3.3.5 (RealVNC Version 3.3.5)
|
|
Changes from 3.3.4b1:
|
|
|
|
A race-condition when first configuring the server has been fixed.
|
|
|
|
The password field in the Properties dialog is now handled better.
|
|
|
|
Active Desktop backgrounds can now be handled by RemoveWallpaper.
|
|
|
|
Mouse wheels are now supported.
|
|
|
|
The Add New Client dialog now accepts specifications of the form
|
|
<hostname>:<display> or <hostname>:<port>, to allow listening
|
|
viewers to be used that are listening on ports other than the default.
|
|
|
|
The AllowEditClients registry option is used like AllowProperties,
|
|
and allows VNC to be configured not to show the Add New Client or
|
|
Kill All Clients menu items in the tray icon menu.
|
|
|
|
Implemented the -reinstall option, which unregisters the WinVNC
|
|
service if registered, then re-registers it.
|
|
|
|
Fixed bug in fast blit code when pixel format changes from one
|
|
supporting fast blits to a munged format.
|
|
|
|
Version 3.3.4b1 (RealVNC Version 3.3.4, Beta Release 1)
|
|
Changes from AT&T Labs' Version 3.3.3 Revision 10:
|
|
|
|
Delphi apps should no longer crash when run alongside VNC.
|
|
|
|
WinVNC nows gives a slightly more useful error message if -install is used
|
|
while the service is already registered,
|
|
|
|
The logging-related buffer overflow exploits should no longer be possible.
|
|
|
|
Added several options to the Properties dialog.
|
|
|
|
The current password is not stored in the Properties dialog when
|
|
displayed, preventing it from being read by other programs.
|
|
|
|
The HTTP server can be disabled by the HTTPConnect registry key.
|
|
|
|
LockSettings can now lock Windows 2000/XP boxes on disconnect.
|
|
|
|
Improved update tracking code.
|
|
|
|
Fixed LF/CRLF problem in HTTP server.
|
|
|
|
Clients are no longer disconnected if pixel format changes.
|
|
They WILL be disconnected if the display size changes.
|
|
|
|
Update hooking and transmission now decoupled.
|
|
|
|
Optimised checking of update regions for changes for case where
|
|
clients are connected which do not request updates (often).
|
|
|
|
Optimised for multiple simultaneous client connections.
|
|
|
|
Upgraded omnithread library.
|
|
|
|
Rationalised source tree a little.
|
|
|
|
Renamed "log" to "vnclog" to avoid log() function clashes.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 10)
|
|
Changes from Version 3.3.3 Revision 9:
|
|
|
|
Fixed signature of RegisterServiceProcess.
|
|
|
|
Fixed incorrect call of errno to call wsagetlasterror.
|
|
|
|
Fixed keymapping of circumflex character, etc.
|
|
|
|
Added extra debug logging in desktop hook code.
|
|
|
|
Removed warning about connected users in logoff handling code.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 9)
|
|
Changes from Version 3.3.3 Revision 8:
|
|
|
|
Fixed handling of empty (match all) AuthHosts filters.
|
|
|
|
WinVNC.log will now be moved to WinVNC.log.bak when WinVNC runs.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 8)
|
|
Changes from Version 3.3.3 Revision 7:
|
|
|
|
-=- Bug Fixes to WinVNC:
|
|
|
|
Fixed clipboard handling.
|
|
|
|
Fixed AddClient semantics in vncServer to avoid a socket leak.
|
|
|
|
Fixed AuthHosts dialog display. Now flashes titlebar/tray button if not foreground window.
|
|
|
|
Fixed AuthHosts string parsing. Filters such as 10.0.0.1 no longer match 10.0.0.10.
|
|
|
|
QuerySetting didn't work correctly if the AuthHosts string was empty. Fixed.
|
|
|
|
Closing the screen-saver now works, so it's back in there.
|
|
|
|
Changed the shutdown-dialog behaviour. It now only operates in application mode.
|
|
|
|
-=- Bug Fixes to VNCHooks:
|
|
|
|
Added HooksType() function to VNChooks so that the library may be replaced with a reliable
|
|
hooking version easily.
|
|
|
|
VNCHooks DLL did not remove properties from windows correctly when
|
|
UnsetHooks() was called. Fixed.
|
|
|
|
-=- Minor Fixes
|
|
|
|
Implemented the wallpaper-culling feature during remote connections.
|
|
|
|
Added automatic culling of "idle" connections, if required, via the IdleTimeout setting.
|
|
An idle connection is one in which the client has sent no data for a fixed period,
|
|
whether the data be an update request, input events, or clipboard data.
|
|
|
|
Only incoming connections are now checked for validity. Outgoing (Add New Client)
|
|
or CORBA-initiated connections are not checked via AuthHosts.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 7)
|
|
Changes from Version 3.3.3 Revision 6:
|
|
|
|
WinVNC did not correctly handle Winsock1.1, causing all client connections to be
|
|
erroneously dropped by the anti-DoS code. Now fixed.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 6)
|
|
Changes from Version 3.3.3 Revision 4:
|
|
|
|
The anti denial-of-service blacklist code was very buggy. It's now fixed.
|
|
|
|
An serious potential deadlock condition in the negotiation phase of new
|
|
clients has been fixed. The problem was incredibly rare on uniprocessors
|
|
but much more noticable on multiprocessors, unsurprisingly.
|
|
|
|
Pointer is now rendered slightly better.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 4)
|
|
Changes from Version 3.3.3 Revision 3:
|
|
|
|
Implemented some simple Denial-of-Service protection. After five consecutive failed
|
|
connection attempts from a client, that client is "blacklisted" for ten seconds.
|
|
In addition, connections which hang before the authentication stage has completed are
|
|
timed out after thirty seconds, to prevent malicious users gradually eating up socket
|
|
resources.
|
|
|
|
Corrected a bug initialising the back-buffer.
|
|
|
|
Added hooking for dialog boxes, menus and scrollbars. Seems to fix some dialogs but not
|
|
many scrollbars or menus..
|
|
|
|
Improved the GetChangedRect code with some alignment patches suggested by Will Dean.
|
|
|
|
Fixed an *IDIOTIC* bug in the handling of user-specific settings. They were completely
|
|
broken before. Now they should work. I'm such an idiot. Idiot idiot idiot.
|
|
See MS Knowledge Base articles Q168877 & Q199190.
|
|
|
|
The idiot bug-fix above broke roaming profiles on NT domains! That's now fixed, too.
|
|
Idiot idiot idiot.
|
|
|
|
Added a dialog to query whether to accept or reject incoming connections. The dialog is
|
|
currently controlled ONLY via the registry! The AuthHosts setting is now extended, while
|
|
some new user-specific settings are provided so that users can tailor the query feature.
|
|
Relevant keys are:
|
|
- QuerySetting (DWORD) (local&global user-specific)
|
|
[Least secure]
|
|
0 - Accept or Query. If AuthHosts says Reject then query, otherwise Accept.
|
|
1 - Accept or Reject. Reject if AuthHosts says so, otherwise Accept.
|
|
2 - Obey AuthHosts. Obey AuthHosts Accept, Query, Reject settings. [Default!]
|
|
3 - Query or Reject. If AuthHosts says Reject then Reject, otherwise Query.
|
|
4 - Ultimate Paranoia. If AuthHosts says Accept then Query, otherwise Reject!
|
|
[Most secure]
|
|
|
|
Summary: Actual Effect
|
|
Setting Accept Query Reject
|
|
0 a a q
|
|
1 a a r
|
|
2 a q r
|
|
3 q q r
|
|
4 q r r
|
|
|
|
- QueryTimeout (DWORD) (local&global user-specific)
|
|
Number of seconds before Accept/Reject dialog should timeout and reject.
|
|
- AuthHosts (SZ) (machine-local)
|
|
Match terms may now start with "-", "+" or "?". "?" indicates that the connection
|
|
attempt should be queried.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 3)
|
|
Changes from Version 3.3.3 Revision 2:
|
|
|
|
Implemented Will Dean's DIBsection patch to retrive screen data. This reduces
|
|
both the retrieval time & the memory usage of WinVNC but currently only works
|
|
for VNC-format-compatible 16 and 32 bit displays. If your display is incompatible
|
|
then WinVNC falls back to the old, slow, memory hungry mode.
|
|
|
|
Fixed a bug in VNCHooks which cause very large updates to be spuriously created on occasion.
|
|
|
|
vncKeymap now filters out the three Lock keys (CapsLock, NumLock, ScrollLock), so that
|
|
they can be safely used at the client side without generating random keystrokes on the
|
|
server.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 2)
|
|
Changes from Version 3.3.3 Revision 1:
|
|
|
|
Added the new "Disable Local Keyboard & Pointer" option to the Properties dialog.
|
|
This features currently allows the keyboard & pointer of the sever machine to be
|
|
disabled while a remote connection is in progress.
|
|
The feature only works under Windows NT at present.
|
|
NB:This is a BETA feature, with a known limitation - if the setting
|
|
is changed then all clients must disconnect and reconnect to achieve the desired
|
|
effect.
|
|
|
|
The -connect command-line option has been added, allowing new outgoing connections
|
|
to be made using a script or an icon.
|
|
|
|
The Add New Client and -connect options now make shared outgoing connections, since
|
|
this is usually preferable to unshared outgoing connections.
|
|
|
|
Improved the way preferences are loaded, reducing the number of times the client will
|
|
be disconnected when settings are loaded & saved.
|
|
|
|
Version 3.3.3 (VNC Version 3.3.3, revision 1)
|
|
Release version, patched for HTML bug below.
|
|
|
|
[The initial 3.3.3 release featured a bug in the rendering of HTML for the Java-based
|
|
viewer. 3.3.3 was quickly withdrawn and 3.3.3R1 is now the base Version 3.3.3 release.]
|
|
|
|
-=- NEW FEATURES:
|
|
|
|
REGISTRY SETTINGS ARE NOW LOADED CORRECTLY FROM THE CURRENT_USER REGISTRY HIVE!
|
|
When running as a service under Windows NT, WinVNC was unable to correctly load
|
|
settings stored in the current user's HKEY_CURRENT_USER hive. As a workaround
|
|
for this, a special helper-hook is installed when the service itself is
|
|
installed. The helper-hook runs when a user logs in and passes enough information
|
|
to the WinVNC service for it to locate their preferences correctly.
|
|
If the helper hook fails to install or isn't run for some reason, then WinVNC
|
|
will continue to operate based on ALL the WinVNC HKEY_LOCAL_MACHINE settings.
|
|
|
|
A new command-line option, -defaultsettings, has been added, which will cause the
|
|
running WinVNC server to show a Default Properties dialog, through which the default
|
|
local properties can be editted. (While the dialog is displayed, the properties used
|
|
will be the default ones. When it dissappears, WinVNC reverts to the user's settings.)
|
|
|
|
Nagle's algorithm is now disabled on all WinVNC connections, decreasing latency
|
|
considerably.
|
|
|
|
Timestamp information is now added in the debug log output.
|
|
|
|
Limited client IP-address based filtering of connections is now supported.
|
|
The new Machine-Local registry setting "AuthHosts" may be specified, and should
|
|
be of type "string".
|
|
Match terms look like:
|
|
+<ip-address-template>
|
|
-<ip-address-tamplate>
|
|
where ip-address-template is the leftmost bytes of the stringified IP-address,
|
|
e.g. 158.97 would match both 158.97.54.1 and 158.97.128.6, for example.
|
|
Multiple Match terms may be specified, delimited by the ':' character.
|
|
Match terms later in the list take precedence over earlier ones.
|
|
e.g. -:+158.97:
|
|
[This scheme does not currently filter by DNS name]
|
|
|
|
In addition to the above, incoming connections may be restricted on a server-wide
|
|
basis to being accepted only on the local-loopback interface. This is controlled
|
|
through the LoopbackOnly registry setting, which overrides the AllowLoopback and
|
|
AuthHosts settings when active.
|
|
|
|
The WinVNC priority is now increased while processing its message queue and put
|
|
back to normal while preparing updates for sending. This results in apparent
|
|
increase in performance, particularly when used in conjunction with some common
|
|
applications.
|
|
|
|
The machine's name is now included in the title of the web page used to access the
|
|
Java version of the VNC client.
|
|
|
|
-=- BUG FIXES:
|
|
- Major:
|
|
|
|
Under Windows NT, a handle was leaked whenever the SelectDesktop function was
|
|
called to move a thread into a different desktop. In practice, this meant a leak
|
|
everytime someone logged in, connected remotely, or used C-A-D to access security
|
|
features in NT. Not pretty.
|
|
|
|
Related to the above fix: When simulating Ctrl-Alt-Del, WinVNC would switch a
|
|
dedicated thread into the WinLogon desktop to achieve the desired effect. When
|
|
the thread quit, the handle to the WinLogon desktop was not properly freed by
|
|
WinNT. This is now worked around by WinVNC internally.
|
|
|
|
When killing the vncServer object, a race condition occurred because
|
|
WaitUntilAuthEmpty() was used to wait for ALL clients being removed - potentially,
|
|
there could have been active, unauthorised clients connected to the vncServer
|
|
object, which would crash if the server object was deleted before they had quit.
|
|
A new function, WaitUntilUnauthEmpty, is now used as well as WaitUntilAuthEmpty,
|
|
to remove this race condition.
|
|
|
|
- Minor:
|
|
|
|
The LockSetting option was not correctly loaded by the Properties class in some
|
|
common cases. This is now fixed.
|
|
|
|
WinVNC was using ExitWindows but specifying parameters according to the
|
|
specification of ExitWindowsEx. ExitWindowsEx is now used instead.
|
|
|
|
-=- OTHER MODIFICATIONS:
|
|
|
|
When starting up without a password set, WinVNC will first check whether the
|
|
Properties dialog has been disabled with AllowProperties=0 before attempting
|
|
to open it for the user to set one. Instead a dialog indicating the problem
|
|
will be displayed.
|
|
|
|
-=- NOTES:
|
|
|
|
BUGLET:PLANAR vs CHUNKY. It transpires that problems encountered with WinVNC and
|
|
16-colour Windows 95 displays are due to Win95 VGA drivers giving a "planar" view
|
|
of the world. Internally, Win95 is very bad at handling planar pixels and is
|
|
also very bad at making them chunky. WinNT does not have this problem. A new
|
|
error dialog has been added to warn about this problem on Win95.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 8)
|
|
Changes from revision 7:
|
|
|
|
Fix in VNCHooks.cpp (part of the WinVNC hooks library) to place
|
|
the hook handles in a shared segment of DLL memory, so that they are correctly
|
|
accessed by the hook code itself.
|
|
|
|
Fix in vncKeymap.cpp which should sort out the CapsLock on connect problem.
|
|
|
|
Added an Initiate Outgoing Connection (Add New Client) dialog. If a machine is
|
|
running a vncviewer with the -listen option then WinVNC can be made to export
|
|
the display it is managing to this listening viewer.
|
|
|
|
NOTE : Outgoing connections are treated as 'non-shared'.
|
|
|
|
NOTES ON BUILDING UNDER VC6:
|
|
For compatibility reasons, WinVNC will remain a VC5 distribution for the moment.
|
|
However, some problems arise when compiling WinVNC under VC6.
|
|
|
|
- vncControl.idl is not supplied in the distribution and is ONLY USED
|
|
INTERNALLY at the AT&T Labs Cambridge.
|
|
It is disabled in the VC5 version of the project but conversion to VC6 format
|
|
re-enables it.
|
|
Solution : remove vncControl.idl from the project once it is imported into
|
|
Visual C++ 6, before compilation.
|
|
|
|
Fixed minor bug in Log.cpp code relating to invalid handles being returned by file
|
|
open call
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 7)
|
|
Changes from revision 6:
|
|
|
|
Fixed HANDLE to HINSTANCE casting problem in VNCHooks.cpp, which prevented WinVNC
|
|
from compiling under Microsoft Visual C++ 6.0
|
|
|
|
Tray icon is now refreshed every five seconds. This may help detect dynamically added
|
|
IP addresses correctly
|
|
|
|
Every five seconds, WinVNC will re-attempt to add the tray icon, even under Win95.
|
|
If Explorer crashes or Windows 95 is being run then this should ensure the icon appears.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 6)
|
|
Changes from revision 5:
|
|
|
|
Fixed minor protocol non-compliance bug with regard to clients which fail to send
|
|
SetPixelFormat messages.
|
|
|
|
Fixed DOS-prompt polling under Windows 95. DOS boxes are now polled correctly.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 5)
|
|
Changes from revision 4:
|
|
|
|
Prepared WinVNC for release.
|
|
|
|
Fixed AuthRequired race condition.
|
|
|
|
Fixed AutoPortSelect bug.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 4)
|
|
Changes from revision 3:
|
|
|
|
Fixed a tray icon bug, in which the tray icon was being produced before the menu
|
|
had been loaded.
|
|
|
|
Replaced the thread package with the latest version, which fixes a few resource leaks.
|
|
|
|
Mouse events are now produced to reflect those sent on the wire, regardless of whether
|
|
the mouse buttons would locally be swapped by the OS. This means that left- or right-
|
|
handedness is a client-side feature.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 3)
|
|
Changes from revision 2:
|
|
|
|
SETTINGS REORGANIZED!
|
|
The WinVNC registry settings have now been reorganized and improved to allow better
|
|
control over individual user's capabilities when running it, whether as an application
|
|
or as a service.
|
|
|
|
Local machine settings are stored under HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3
|
|
Local per user settings are stored under HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/<username>
|
|
Local default user settings are stored under HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/Default
|
|
Local no-user settings are stored under HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/SYSTEM
|
|
Global per user settings are stored under HKEY_CURRENT_USER/Software/ORL/WinVNC3
|
|
|
|
These groups of settings have the following priority:
|
|
1. Machine settings are always read, from the machine settings location. Not overridable.
|
|
2. Default user settings are read.
|
|
3. Local-machine, per-user settings are read for the current user, or for SYSTEM if
|
|
there is no current user. These override the Default settings.
|
|
4. If AllowProperties is not zero, the global per-user settings are read.
|
|
These override both the Default settings & the local-machine, per-user settings.
|
|
|
|
- Local Only, Machine Settings : DebugMode, DebugLevel, AllowLoopback,
|
|
AuthRequired, ConnectPriority.
|
|
- Local Only, Per User Settings : AllowShutdown, AllowProperties.
|
|
- Local/Global, Per User Settings : SocketConnect, AutoPortSelect, PortNumber, Password,
|
|
CORBAConnect, InputsEnabled, LockSetting, PollUnderCursor,
|
|
PollForeground, PollFullScreen, OnlyPollConsole,
|
|
OnlyPollOnEvent
|
|
|
|
UPDATE ROUTINES FIXED!
|
|
If a client chose to send multiple update requests to the server without waiting for
|
|
the update data, then the server would only consider the last request. This behaviour
|
|
was incorrect and has now been fixed. As a result, WinVNC will now work properly with
|
|
the PalmVNC viewer.
|
|
|
|
HTTP SERVER FIXED!
|
|
The HTTP server section of WinVNC could end up listening on the wrong port number when
|
|
automatic display number selection was in use. This is now fixed.
|
|
|
|
MEMORY LEAK FIXED!
|
|
A small memory leak in the WinNT side of the vncService::CurrentUser function has been fixed.
|
|
Although the amount lost on each execution was small, the function is called often enough
|
|
for this to cause problems over long periods of use.
|
|
|
|
Established that the Ctrl-Alt-Del problem under NT 3.51 is because GetAsyncKeyState for
|
|
ctrl and alt ALWAYS returns zero. Don't know why...
|
|
|
|
Fixed a potential lockup when the Properties dialog is closed by the OS rather than by
|
|
the Ok or Cancel buttons.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 2)
|
|
Changes from revision 1:
|
|
|
|
CTRL-ALT-DEL IMPROVED!
|
|
Ctrl-Alt-Del will now work both with the Delete key and with the keypad Del key, from
|
|
Unix clients. Unix clients treat these two keys differently but Windows doesn't, so
|
|
WinVNC now maps both on to VK_DELETE internally.
|
|
|
|
MENU UPDATES IMPROVED!
|
|
Extra hook code has been added to the VNCHooks library to catch the messages used to
|
|
update the contents of pop-up menus, etc. As a result, menus tend to suffer much less
|
|
from the characteristic colour-smear effect.
|
|
|
|
Code is now in place to perform automatic locking or logoff of the workstation
|
|
when all remote clients have closed, for security reasons. Unfortunately, the
|
|
LockWorkstation function doesn't work on pre-NT5 machines, so only the logoff
|
|
functionality is implemented.
|
|
|
|
The new ConnectPriority option is available, on a per-machine basis. The
|
|
HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/ConnectPriority
|
|
setting can take one of three values:
|
|
0 - new, non-shared incoming connections kick off existing ones.
|
|
1 - all incoming connections are treated as shared, regardless of the -shared viewer option.
|
|
2 - new, non-shared incoming connections will be refused if a current connection exists.
|
|
|
|
Automatic display number selection is now available. This option is set through the WinVNC
|
|
properties dialog. When this option is used, the display number parameter in the dialog
|
|
is ignored and the display number to use is instead allocated on the fly by WinVNC.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2, revision 1)
|
|
Changes from base 3.3.2 release:
|
|
|
|
PALETTE-BASED CLIENTS SUPPORTED!
|
|
Clients which request 8-bit palette-based data are now supported by WinVNC.
|
|
Palette-based clients will get the best results from 8-bit palette mode
|
|
servers, due to the way in which truecolour is culled into 8-bit palettes.
|
|
svncviewer will now work with 8-bit WinVNC desktops as well as Xvnc ones.
|
|
|
|
LOGGING SUPPORTED!
|
|
Run-time logging of all internal debug messages is now supported. Log data
|
|
may be output to a file or a console window (or the MSVC debugger if the
|
|
program was compiled with debugging active.)
|
|
Two registry keys under HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3 are used:
|
|
DebugMode indicates which logging methods to use.
|
|
[1 = MSVC debugger]
|
|
2 = Output to log file Winvnc.log in the WinVNC directory
|
|
4 = Output to a console window, displayed on-screen
|
|
Any combination of the above values may be used.
|
|
DebugLevel indicates how much debug information to present. Any positive
|
|
integer is valid. Zero indicates that no debugging information should be
|
|
produced and is the default.
|
|
|
|
Loopback (local-machine) connections to WinVNC will now be allowed if the
|
|
HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/AllowLoopback registry entry is set
|
|
to 1. The default is 0.
|
|
|
|
Connections may now be made to WinVNC servers without requiring authentication
|
|
if the HKEY_LOCAL_MACHINE/Software/ORL/WinVNC3/AuthRequired registry entry is
|
|
set to 0. The default is 1.
|
|
|
|
Microsoft Developer Studio configurations are included (but not tested) for
|
|
Alpha NT, to make compilations for this platform more straightforward.
|
|
|
|
CopyRect is now handled differently and tends to give better results when
|
|
windows are dragged around the screen.
|
|
|
|
All notifications of potential updates to the screen are cached into a vncRegion
|
|
object in the vncDesktop thread and are only flushed to clients immediately
|
|
before TriggerUpdate is called, to improve performance.
|
|
|
|
Added a delay when the -kill option is used, to give the running copy time to quit.
|
|
|
|
Fixed a CopyRect-related bug which caused windows to scroll oddly when dragged
|
|
partially off the left or top of the screen.
|
|
|
|
Version 3.3.2 (VNC Version 3.3.2)
|
|
Release version.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 20a)
|
|
Changes from revision 19:
|
|
|
|
WinVNC now returns explanatory message text to the viewer when an incoming
|
|
connection is refused because of an empty Password field or a local-loopback
|
|
connection.
|
|
|
|
Mouse movements are now pre-processed by the Desktop handler and only passed to
|
|
the Client handlers immediately before an update is triggered, resulting in less
|
|
overhead and therefore lower latency.
|
|
|
|
If a client requests the CopyRect encoding in the list of encodings it supports
|
|
then WinVNC will now use the CopyRect primitive when doing simple tasks like
|
|
dragging windows. This still has some flaws in it but generally improves performance.
|
|
|
|
Updated the Java classes exported by WinVNC to include the Send-Ctrl-Alt-Del button.
|
|
|
|
Added a "-about" option, which will cause an _already running_ copy of WinVNC to
|
|
display its About box, making it easier to check that you have the latest version!
|
|
|
|
Added version information to the VNCHooks Dynamic Link Library. This can be viewed
|
|
selecting the properties dialog for the vnchooks.dll file.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 19)
|
|
Changes from revision 17:
|
|
|
|
A bug in the new region culling routine was fixed.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 17)
|
|
Changes from revision 16:
|
|
|
|
WIN-NT & WIN-95:
|
|
|
|
MS-DOS applications can now by typed into! Thanks to Gur Stavi for pointing
|
|
out that WinVNC didn't previously generate keyboard scancodes for key events.
|
|
This means that the COMMAND.COM and EDIT programs, for example, may now be
|
|
used through VNC.
|
|
|
|
Lookup-table based colour translations are now incorporated into WinVNC.
|
|
This means an increase in memory usage but delivers a noticable performance
|
|
boost on most screen formats.
|
|
|
|
1, 4 and 8 bit palette-based local displays are now handled directly by
|
|
WinVNC, resulting in a significant performance boost, although there are
|
|
currently problems with the palette layout being confused in places.
|
|
|
|
More intelligent culling of unchanged regions of the screen from the list of
|
|
rectangles to be sent has been implemented. Generally, this isn't noticable
|
|
but over low-bandwidth links, it should have a significant effect.
|
|
|
|
WM_ENDSESSION is handled properly for full system shutdown.
|
|
|
|
WM_DISPLAYCHANGE is now handled, so that when the display resolution changes,
|
|
all remote VNC users are disconnected, to prevent corrupt display updates.
|
|
|
|
The mouse cursor rendered to VNC clients is now correct most of the time.
|
|
|
|
When installing WinVNC as a service, quotes are now placed around the
|
|
executable's name, to avoid problems if there are whitespace characters
|
|
in the path. (Common because of installing to "program files\orl\vnc")
|
|
|
|
The command-line options available have changed slightly:
|
|
-run Causes WinVNC to run normally & ignore rest of command-line.
|
|
-install Installs the WinVNC service and continues reading the command-line.
|
|
-remove Removes the WinVNC service and continues reading the command-line.
|
|
-settings Tells a running copy of WinVNC to show its Properties box.
|
|
-kill Kills a running copy of WinVNC.
|
|
If no options are given then WinVNC runs normally.
|
|
Multiple option may be given, so, for example, to upgrade from a running copy
|
|
if WinVNC to a new one, you could use:
|
|
WinVNC_new -remove -install
|
|
which will stop & remove the old copy & install the new one, or
|
|
WinVNC_new -kill -run
|
|
which will stop the running copy & run the new version normally.
|
|
|
|
The Java viewer class files have been updated. The new classes are slightly more
|
|
compatible with borderline Java VMs.
|
|
|
|
Deferred update messages are no longer removed from the application's message queue
|
|
behind it's back, hopefully resulting in more reliable behaviour & fewer lock-ups.
|
|
|
|
The screen-saver is now not disabled when WinVNC is running in service mode and a
|
|
connection is made, to avoid a potential race condition. This will be handled better
|
|
in a future revision.
|
|
|
|
WIN-NT ONLY:
|
|
|
|
When running as a system service, WinVNC no longer disconnects all remote
|
|
VNC connections whenever the current desktop changes.
|
|
|
|
Corrected some problems with shift-key release code confusing Windows NT.
|
|
|
|
WIN-95 ONLY:
|
|
|
|
WM_USERCHANGED is handled, so that when no user is logged in, the
|
|
machine-local password is used, otherwise the user's own VNC password and
|
|
settings are used.
|
|
(This assumes that Windows 95 is set to Multiple User Profile mode)
|
|
|
|
Under Windows 95, WinVNC running in service mode no longer crashes when
|
|
told to stop by the -kill or -remove options.
|
|
|
|
The main text area of the Windows 95 console will now be polled by WinVNC
|
|
properly when the Poll Console Windows Only option is set.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 16)
|
|
Changes from revision 15:
|
|
|
|
The Revision 15 build was broken due to file timestamp corruption.
|
|
Revision 16 is a complete re-build.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 15)
|
|
Changes from revision 13:
|
|
|
|
WIN-NT & WIN-95:
|
|
|
|
WinVNC will now run as a service on both Windows NT and Windows 95.
|
|
Running WinVNC with the -install command-line option will install it into the system
|
|
service control manager and set it to auto-run on bootup. The -remove option will stop
|
|
the service if necessary and will then remove it.
|
|
WIN-95 : winvnc -install will cause the service to run immediately.
|
|
WIN-NT : winvnc -install will install the service into the manager but not start it.
|
|
|
|
To allow the per-machine settings for WinVNC to be changed even when WinVNC is running as
|
|
a service, the "-settings" option will cause the service to pop-up the properties dialog.
|
|
|
|
A bug which often caused the entire screen to be transmitted twice to a connecting
|
|
client is now fixed.
|
|
|
|
The general Shift, Alt and Control-related bugs, affecting non-UK/US keyboard layouts in
|
|
particular, are now corrected, with one important exception, mentioned in the NOTES
|
|
section below.
|
|
|
|
WIN-NT ONLY:
|
|
|
|
Ctrl-Alt-Del can be simulated by WinVNC if a client sends it, allowing users to log on
|
|
and off and to lock the workstation remotely.
|
|
|
|
WIN-95 ONLY:
|
|
|
|
Shift, Alt and Control were broken in Revision 13, since Windows 95 cannot distinguish
|
|
left and right shift keys at all. This is now fixed.
|
|
|
|
NOTES:
|
|
|
|
When typing into an application set to use keyboard layout A, using WinVNC run with
|
|
keyboard layout B, problems may be experienced because of WinVNC setting the wrong Shift
|
|
key states to generate particular characters. As long as only one keyboard layout is used
|
|
consistently across all applications, this shouldn't be a problem.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 13)
|
|
Changes from revision 12:
|
|
|
|
The Caps-Lock, Num-Lock and Scroll-Lock keys are now correctly disabled whenever a new
|
|
client connects, if that client has keyboard input enabled.
|
|
|
|
Left and right versions of the Shift, Alt and Control keys can now be distinguished.
|
|
|
|
The right and middle mouse buttons can now be set to trigger updates, although by default
|
|
these options are not used.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 12)
|
|
Changes from revision 10:
|
|
|
|
It is now no longer possible to accept unauthenticated incoming connections.
|
|
|
|
If WinVNC fails to access the local root window then any remote connection will be refused.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 10)
|
|
Changes from revision 9:
|
|
|
|
Black-background initial update bug is now fixed.
|
|
|
|
Border redrawing bug is now fixed.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 9)
|
|
Changes from revision 8:
|
|
|
|
Local connections to WinVNC servers are now filtered out.
|
|
|
|
The OMNIthread package is now included as part of the WinVNC source distribution.
|
|
|
|
The VTypes header file is now included in the WinVNC source distribution.
|
|
|
|
WM_NCPAINT messages are hooked, resulting in better updates of window borders.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 8)
|
|
Changes from revision 5:
|
|
|
|
The resource leak while rendering the mouse pointer has been fixed.
|
|
|
|
The WinVNC tray icon changes colour when there is a remote connection.
|
|
|
|
An Apply button has been added to the Properties dialog so that it can be used as the main
|
|
WinVNC window on Windows NT 3.51 (or any other system without a system tray.)
|
|
|
|
The Non-CORBA installer now generates an uninstall option properly.
|
|
|
|
WinVNC may now be run in a view-only mode, in which remote users have no control.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 5)
|
|
Changes from revision 4:
|
|
|
|
The machine name is now converted to lowercase to get the desktop name.
|
|
|
|
The CORBA control object is properly removed from the Naming Service on exit.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 4)
|
|
Changes from revision 1:
|
|
|
|
WinVNC now warns if no password has been set for the current user.
|
|
|
|
Version 3.3.1 (VNC Version 3.3, revision 1)
|
|
Changes from version 3.05:
|
|
|
|
WinVNC now listens on a socket for incoming HTTP connections and produces HTML accordingly.
|
|
This allows the server to be connected to from any web browser that supports Java, without
|
|
any plug-ins or other software having to be installed on the client system.
|
|
|
|
The server now copes gracefully with the absence of a valid CORBA setup and warns the user.
|
|
|
|
Any previous, running instance of WinVNC is detected, to prevent further instances from
|
|
running.
|
|
|
|
The new, DES-based authentication scheme is used. This results in incompatibility with VNC
|
|
clients using version 3.2 or lower of the protocol. To avoid this problem, connect via the
|
|
HTTP interface, which provides the correct version of the Java viewer. Version 3.3+ based
|
|
clients will handle the new scheme correctly.
|
|
|
|
Shared VNC client connections are now fully supported.
|
|
|
|
James "Wez" Weatherall
|
|
7 November 1997
|
|
|
|
|