Igor: Hello! What you wrote below sounds correct to me, except for one thing. If a PC running Kaboodle doesn't have VNC installed at all, we should do something when the user tries to "Enable Kaboodle Tunnels". Here's a suggestion: if a user clicks on "Enable Kaboodle Tunnels", and is not running an independent VNC server, we can automatically activate the "Let Kaboodle Start VNC" checkbox if it is non-empty. If it is empty, we can show a MessageBox to the user saying "Please help Kaboodle find the WinVNC.exe application. Perhaps you have not yet installed VNC?".
Also, please change these two messages: change: (Independent VNC server is not running. You not allow "Use Kaboodle to startup VNC Server only when it's needed". The Requirement on VNC session from "IP address" is declined.) to: (A Kaboodle user on OtherPCName has tried and failed to connect to this machine with VNC. You can either start a VNC Server independantly, or allow Kaboodle to auto-start it when needed.) change: (Partner's independent VNC server is not running. Partner not allows "Use Kaboodle to startup VNC Server only when it's needed". Your Requirement on VNC session from "IP address" is declined.) to: (Sorry...machine TargetServerName is not running a VNC Server right now and Kaboodle on that machine is not setup to auto-start it.) Thanks! -Scott On Tue, 30 Apr 2002, Igor Kotelevsky wrote: > Hello Scott. > This is current version of the "VNC server" algorithm. > The functionality "Allow only users from machines in this Access List to > connect" is already implemented. > > **************************************************************************** > > Functionality "Allow only users from machines in this Access List to > connect". > > I) When the user > - the user activated or deactivated or modified list "Allow only users..." > and hit "Okay", > - or when Kaboodle startup and check this option, > - or when user close Kaboodle and Kaboodle have checked above option, > then Kaboodle must check if independent VNC server is running. > > II) If independent VNC server is not running > then Kaboodle save data *AuthHost* into the VNC server registry. > The *AuthHost* data allows to connect only next IP address > - own LAN IP address, > - IP address for each users from list "Allow only users...". > > III) If independent VNC server is running then Kaboodle prompts > > - when Kaboodle startup: > "Kaboodle needs to restart your VNC server" > "for setting "Allow only users..." to take effect." > There are two buttons: "Let Kaboodle do this now", "I'll do it myself later" > > - when the user activated or modified list "Allow only users..." and hit > "Okay": > "The VNC Service needs to be restarted" > "for these changes to take effect" > There are two buttons: "Let Kaboodle do this now", "I'll do it myself later" > > - when user close Kaboodle and Kaboodle have checked above option, > or when the user deactivated modified list "Allow only users..." and hit > "Okay": > "Kaboodle needs to restart your VNC server" > "for to restore the previous VNC registry setting *AuthHost*" > There are two buttons: "Let Kaboodle do this now", "I'll do it myself later" > > If user replies "Let Kaboodle do this now", then Kaboodle execute following: > - Shut down VNC server. > - Save data into the VNC server registry (see II). > - Restart VNC server. > > Commentary 1. After finishing Kaboodle session, Kaboodle restores *AuthHost* > VNC server registry changes. > > **************************************************************************** > > Functionality "Enable Kaboodle Tunnels for VNC". > > I) When the user first activated "Enable Kaboodle Tunnels for VNC" and hit > "Okay" > or when Kaboodle startup and check this option, > then Kaboodle begins listening to connection on the TCP port number > "Use This Port for these tunnels". > Kaboodle waits until this connection becomes established. > > II) Connection has been established. > Kaboodle checks if independent VNC server is running. > > a) If independent VNC server is not running and > there is not "Use Kaboodle to startup VNC Server only when it's needed", > then > - Kaboodle show user MessageBox > (Independent VNC server is not running. > You not allow "Use Kaboodle to startup VNC Server only when it's needed". > The Requirement on VNC session from "IP address" is declined.) > - Kaboodle send special message to partner and finishing session. > - Partner Kaboodle show user MessageBox > (Partner's independent VNC server is not running. > Partner not allows "Use Kaboodle to startup VNC Server only when it's > needed". > Your Requirement on VNC session from "IP address" is declined.) > > b) If independent VNC server is running, > then Kaboodle read from VNC server registry in which port VNC server is > listening. > > c) In other case Kaboodle write to VNC server registry next data > - *AllowLoopback*, > - *LoopbackOnly* if user has checked "All VNC use must be through a Kaboodle > tunnel", > - *AuthHost* if user has checked "Allow only users from machines in this > Access List to connect", > - *PortNumber* from field "Run this service on:". > Kaboodle stores previous values of above registry. > Then Kaboodle starts a new copy of VNC server. > If this start failed ( proper value of code of error Kaboodle will get > through Win system function GetLastError(). > It can be WinVNC.exe file is absent, etc...), then > Kaboodle show user MessageBox( Failed to start VNC server - text of > GetLastError() ), > send special message to partner and finishing session. > Partner Kaboodle show user MessageBox( Partner could not to start VNC > server - text of GetLastError()). > > III) Kaboodle creates TCP connection with VNC server as > a) <loopback IP address>, <PORT >, > > if that connection failed then Kaboodle creates TCP connection with VNC > server as > b) <IP address of the LAN interface>, <PORT>, > where <PORT> > - number from VNC server registry if independing VNC server is running (see > IIb). > - number from field "Run this service on:" if Kaboodle starts a new copy of > VNC server. > > If this TCP connection with VNC server have not established, then Kaboodle > - get proper value of code of error through Win system function > GetLastError(), > - show user MessageBox(Failed to connect with VNC server "text of > GetLastError()"), > - send special message to partner and finishing session. > Partner Kaboodle show user MessageBox(Partner Failed to connect with VNC > server - "text of GetLastError()"). > > IV) Kaboodle does data exchange between these sockets (encrypting,...) > > V) If user changes the settings of PropertyTab "VNC settigs" on the server > side, > then Kaboodle prompt the user with > "The change you have made will take effect after you restart your VNC > Service". > > Commentary 1. After finishing VNC session, Kaboodle restores all VNC server > registry changes. > > **************************************************************************** > > -Igor > > > _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ Kaboodle-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kaboodle-devel