|Home||Switchboard||Unix Administration||Red Hat||TCP/IP Networks||Neoliberalism||Toxic Managers|
May the source be with you, but remember the KISS principle ;-)
Bigger doesn't imply better. Bigger often is a sign of obesity, of lost control, of overcomplexity, of cancerous cells
|News||X Window System||Softpanorama Bookshelf||Recommended Links||Architecture||Configuration|
|Exporting_display||"Can't open display" Error||.Xresources||xrdb||Using xauth||Xdefaults|
|Fonts in X||X11 security||X display manager||XDMCP||vnc||vino|
|Installing X11 and Gnome Desktop in RHEL||Activating the gnome VNC vino-server from the command line||VNC on Linux||VNC on Windows||Cygwin/X||Xming|
|Troubleshooting||Diagnosing problems with remote X11 sessions via SSH||Too high refresh rate/ too high resolution problem||Tips||Humor||Etc|
If you need to access Windows from Unix then VNC is the answer, otherwise stick to Windows Terminal Services (which are pretty good in Windows XP and Windows 2003. Both as a server and as a client for Windows TightVNC rules.
TightVNC client has an option sending this key sequence to Windows (left-click mouse of the client and see "send Crtl-Alt-Del" option. Also F8 function key can be used:
|Q: Is there a way to send ctrl-alt-del from VNC on Linux?
VNC'ing to a Windows box sometimes requires that.
A: Focus on the VNC window, then hit F8
It is a standard application that can be run from the Start... menu and closed down just as easily. It can also be run as a service, which means that you can log in remotely, do some work, and log out again. We recommend that you run it in this mode. See below for more details.
TightVNC: Manual Page for Xvnc(1) Const Kaplinsky firstname.lastname@example.org has developed TightVNC, a version of VNC providing better compression for use with slow links than the standard VNC 3.3.3 release. Although it includes a number of extensions to the standard VNC distribution, TightVNC remains compatible with existing versions. The TightVNC homepage is at http://www.tightvnc.com/
TightVNC is fully compatible with the standard RFB protocol used in VNC, so you can use TightVNC viewer with the standard VNC server and vice versa. But note that protocol enhancements implemented in TightVNC will work only if these enhancements are supported on both sides of the connection.
Here is a brief list of TightVNC features absent in the standard VNC.
TightVNC is a VNC distribution with many new features, improvements, and bugfixes over VNC. It is optimized for faster operation on slow network links such as modem connections, provides more configuration options in the server, features automatic SSH tunneling in the Unix vncviewer, and more. The modified servers and viewers are fully compatible with the original VNC software.
This release only updates TightVNC Java Viewer. This is the first public release of version 2.0. The viewer was redesigned and rewritten from the scratch. It features a Swing-based user interface, improved speed, and better code architecture.
RDC is better, but works well only against XP or WIN2K3 (or Citrix ..); It also transports sound. Also, on XPs that do support it, it disables the local user.
UltraVNC is very good, and works on just about any Windows version.
Saturday, March 27, 2004
UltraVNC sports a number of advanced features making it unique among the various flavours of VNC. A special graphics mirror driver for ultrafast remote controlling, integration of Windows authentication and various encryption plugins provide superior functionality.
Comments on "VNC vs. Remote Desktop"
There is also UltraVNC with supports screen scaling and file transfers (TightVNC has added file transfers in the dev version too). Only thing is that UltraVNC doesn't have a Linux server version. Also, be wary of the hook driver. Starting with XP SP2 we started getting blue screens with the IRQ NOT LESS THAN OR EQUAL TO until it was removed. Not on every machine, but enough that we stopped installing the hook driver on client machines. Actually, now that I think about it, I think it was mostly on TabletPCs. Your mileage may vary.
Ryan McGinty on July 12, 2005 06:18 AM
"Note that a few key sequences, such as CTRL+ALT+DEL, can't be intercepted by any remote desktop client, even in fullscreen mode."
Using Remote Desktop Client, you can send these combinations to the remote machine. When making a connection, check the tab "Local Resources", and set the keyboard to "On the remote computer".Remco on July 12, 2005 06:23 AM
SC UltraVNC is also incredibly useful. It's a packed EXE version of UltraVNC server that does a reverse connection to a listener without having to be installed. Why? Because I distribute it to all my customers, and they are a double-click away from connecting back to me at the office for remote tech support. It's small, light and fast enough even without the video hook driver. You can build your own at: http://sc.uvnc.com/index.php?section=12.
DavidF on July 12, 2005 08:55 AM
It is a little misleading to say that tightVNC (or by association RealVNC, UltraVNC and others) are not secure. At the very least there is always a username password verification that is required for a VNC connection. There is also ways to set up a SSL tunnel scenario with VNC.
Also I use UltraVNC almost every day and have no problem VNCing into a system with multiple monitors.
And due to the nature of Ctrl-Alt-Delete there is always going to be some alternate method for sending that key combination to a remote system. UltraVNC (and all the other VNCs that I have messed with) have ways of sending this key combination to the remote host.
Anywhat, I use both Remote Desktop and UltraVNC and if you can't tell I prefer UltraVNC.Kurt Frank on July 12, 2005 09:01 AM
The latest (or near-latest) version of UltraVNC handles multiple monitors, too. I've had no problems seeing all of a triple-headed setup remotely. (with scrolling, of course)
Bryan Bates on July 12, 2005 09:11 AM
The Enhanced TightVNC Viewer package is part of the x11vnc VNC server project. It provides a native VNC viewer that takes advantage of new features in x11vnc, e.g. cursor alpha blending and automatic SSL tunnelling. Some features apply to any VNC server, e.g. automatic SSH tunnelling. Another goal is to provide a package that conveniently bundles everything needed for the user to have the enhanced viewer running quickly. This includes pre-built binaries of the viewer and utility programs for Windows and many Unix variants, and a GUI to configure and launch the viewer. The short name for this project is "ssvnc", for SSL/SSH VNC viewer.
Release focus: Minor bugfixes
Using port numbers lower than VNC's default port (5900) now works on Windows (for example, myhost.com:443).
Karl Runge [contact developer]
Q. How can I send an ALT-CTRL-DEL from a Linux XFree VNC client to an NT server (running VNC as a service) to login? It seems that the Alt-Ctrl-Del to gobbled up by Xfree (or maybe something else?) and not sent to the server. My SunOS client sends the Alt-Ctrl-Del fine. There is no pull-down item to sent it like on a Win95 client.
I would suggest that this be added to the FAQ.
The VNC (Virtual Network Computing) application is quite a popular program for use as a remote control application. The program is free, and Open Source and can be used in a wide variety of situations. One thing VNC it is not, is easy to configure if you want to do something different...
In this article I will describe how to setup the VNC Server (On Windows) to use ports that are commonly used on the Internet.
One typical reason you would want the VNC server you run in your home on a different port is that you may not be able to the default ports VNC uses when installed. The VNC server uses port 5900 by default and if you decide to change something called a "Display Number - More on this later" the port number changes to 5900 plus whatever number you typed as the display number.
First, a little background. The VNC application consists of two pieces the first being the "server" that serves the desktop of a computer and a "viewer" that allows you to connect to a desktop of a computer. The nice thing about VNC is that you can use it on many platforms, UNIX, Linux, Windows and all sorts of other platforms as viewers. Given the differences in these platforms, VNC's use becomes confusing because the terminology VNC uses does not change across versions.
On the Unix/Linux platform VNC runs and serves out desktops that are in addition to the one run at the console. These desktops are called displays when you read this in the VNC Documentation. With your UNIX/Linux version you also have the option of specifying a port number by way of the "-rfbport" options when running the Xvnc server. The default port is 5900 plus whatever display number you use when you start the server. In the case of UNIX/Linux VNC is used allot like Citrix Metaframe in the Windows world.
Now we get to Windows where things change. VNC cannot do what Citrix does on Windows mainly because of the Operating System limitations. VNC on Windows then, is only used to serve out the desktop/console of a Windows computer. On Windows there are two components - the server "winvnc.exe" and the client "vncviewer.exe". if you run the server, then run the client and connect to the server's IP address, you get a connection. This connection, by default is on port 5900.
Dealing with ports
You should know that older versions of VNC did not let you change the port at all. You would have had to change, and recompile the source code provided to have a new port number. In recent versions (this article is based on 3.3.7) the port number can be controlled, but must also deal with Display Numbers and a number of other confusing settings to make it all work..
To change the port number of your VNC Server you must first install VNC (goes without saying) and once installed, edit the registry location where the VNC ports settings exist. You find the port settings in this key:
You first want to set the value for "AutoPortSelect" to 0 (it defaults to 1). This will stop the VNC server from automatically setting the port number. The second thing you want to do is create a "DWORD" entry in the same key called "PortNumber" if it does not already exist. Once created set this number to the Decimal (not Hex) number of the port you would like to use. In this article I will use examples of three well-known ports 21 (FTP), 23 (Telnet), and 80 (Web). If you have set the "PortNumber" value to the Telnet port you will see (on the same line in regedit):
Now run your VNC Server and set other options that might be in the configuration dialog box.
What's with the configuration window?
Funny you should ask, if you set the port number to 21, the VNC Server configuration dialog says the display number is "4294961417", if you set the port number to 23, "4294961419" and finally port 80, "4294961476". if you look closer, you will see a pattern, but in the interest of time leave the number the way it is. You might be asking a question, If I put the above numbers into the configuration window, will the corresponding port number be used? The answer is no - at least not on the version I have tested. It appears as though the VNC server configuration was not built to handle number like this. So, now that the port is the way you would like, lets look at connecting to the server.
Connecting with the VNC Client
So, by now you see how this who "Display Number" setting is starting to make things confusing. You might be asking yourself "why didn't they just give us a port number option?". Good question, because it gets worse. When you connect to the VNC server you use the VNC client application. This application opens up a window that gives you one area to type in text that corresponds to the server you would like to connect to. The structure of this connection is as follows:
ipaddress or host:[display number]
The IP address or host is required and is the IP address or hostname of the computer running the VNC Server and the display number is optional defaulting to 0 if you put nothing. If you just put the IP address of our server running on the special port, you'll find that it won't work - because its looking for port 5900 by default. The trick is to use the display number.
You can use the display number in two ways, both of them make no sense - but hey! This program is free. You can use the corresponding huge numbers to connect like this (IP is an example only):
But! there is a lesser-known way to do that that might be a bit easier to remember. You just take the port your connection to, and then subtract 5900 from that number. Your left with a negative number in the -5877 format that can be used to connect. So, I'll do the above with these numbers:
There you have it! Now you know how to setup your VNC server on port 21,23, or 80 and how to use the client to connect to your home. If you have any other ports you would like to use or more information on how how VNC works let me know.
Imagine the following situation: You have a Windows NT server that is physically inaccessible but reachable by TCP (e.g., it's in a remote office). You have the Administrator account for the machine, but you can't accomplish the task you need to perform using the standard NT management tools. In addition, the remote system doesn't have a remote control program installed. In this situation, you can install AT&T Laboratories Cambridge's Virtual Network Computing (VNC), a freeware remote control tool, without physically accessing the machine.
You'll need to complete a few steps to set up and use the tool. First, determine the Administrator password of the remote machine. Next, download the VNC distribution from http://www.uk .research.att.com/vnc and make sure you have the Microsoft Windows NT Server 4.0 Resource Kit Regini tool and the Shutdown and Netsvc tools.
After you download the VNC distribution, extract the VNC files from the distribution package. The simplest way to accomplish this task is to install VNC on a test machine. The installation automatically creates the C:\program filesorl\vnc directory, which includes all but one of the files that you need to run VNC. The missing file is omnithread_ rt.dll, and you can find it in the \winntsystem32 directory. Copy the missing file to the C:\program files\orl\vnc directory.
Next, use the following commands to copy the VNC directory to the target machine:NET USE \\<remote machine IP> \IPC$ /user:administrator password MKDIR "\\<remote machine IP> \C$\program files\orl\vnc" COPY "c:\program files\orl\vnc" "\\<remote machine IP> \C$\program files\orl\vnc"
For VNC to successfully run, you'll also need to create registry entries on the target machine. To load the remote target machine's registry, use the following command:REGINI -m \\<remote machine IP> vnc.regini
Listing 1, page 28, shows vnc.regini. The Regini command registers VNC as an automatic startup service on the remote machine. In addition, it sets the default VNC password as the remote machine's password.
The final step is to start the VNC on the remote server. You can use two methods to start VNC on the remote machine: You can use the At command to schedule VNC to start, or you can use Shutdown.exe to force a shutdown. The At method is less disruptive but requires the Scheduler service to be running on the remote system. The Scheduler service isn't started by default, so you might need to use the following command to start it manually:NETSVC \\<remote machine IP> schedule /start
To use the At method to schedule VNC to start, execute the following command to read the time on the remote server:NET TIME \\<remote machine IP>
Then, schedule an At command to run a couple of minutes after the time that the previous command returned, as the following example shows:AT \\<remote machine IP> 00:00 "c:\program files\orl\vnc \winvnc.exe"
Wait a few minutes and launch vncviewer.exe to connect to the remote machine.
As a last option, you can use the Shutdown command to remotely reboot the server:SHUTDOWN \\<remote machine IP> /R /Y /C /T:0
This command brings up VNC listening as a service.
Google matched content
RealVNC - VNC feature comparison and download selector
VNC Personal Edition 4.4.3 (Windows), from RealVNC - Free ...
How to Configure VNC for Windows XP
1.0 UltraVNC is a powerful, easy to use and free software that can display the screen of another computer (via internet or network) on your own screen. The program allows you to use your mouse and keyboard to control the other PC remotely. It means that you can work on a remote computer, as if you were sitting in front of it, right from your current location. If you provide computer support, you can quickly access your customer's computers from anywhere in the world and resolve helpdesk issues remotely! With addons like SingleClick your customers don't even have to pre-install software or execute complex procedures to get remote helpdesk support.
Download UltraVNC 1.0.6 (stable)
UltraVNC is a remote control application based on the VNC protocol.
TightVNC- VNC-Based Free Remote Control Solution site of Constantin Kaplinsky
VNC over SSH2 - A TightVNC Tutorial Van Emery - June, 2003
Similar to Microsoft Terminal Services, Virtual Network Computing (VNC) allows a system administrator to use a server to install applications or perform configuration tasks on a remote server while the user on the remote server views the tasks that occur.
Before You Begin
Review the following information before you install VNC:
In this document, master server refers to the server where the user initiates, performs, and manages tasks; the remote server(s) receives the software or configuration information from the master server.
Make sure that you have installed Cisco-provided operating system version 2000.2.3 on all servers that will use VNC. For information on upgrading the operating system, refer to the documentation for the version of the Cisco CallManager upgrade that runs in the cluster.
If an earlier version of VNC is installed on the server, uninstall the older version before performing the procedures in this document.
Be aware that using VNC poses a security risk by making the cluster vulnerable to attacks.
Installing VNC opens a network port, which may make the server vulnerable to attacks. A network scanner will show port 5800 "VNC => Remote Control Software" and allow an attacker to access the server.
During the VNC installation, enter a complex alphanumeric password for VNC. VNC limits the password to eight characters.
To minimize security risks, set the VNC service to Manual startup and start it only during remote management. This action ensures that users must enter a Windows user name/password that the server can authenticate before starting the service.
Disable Terminal Services if you no longer plan to use it for remote management.
When you upgrade the operating system or run an operating system patch on the server, make sure that you review the operating system readme document for information on upgrading VNC. Cisco provides the VNC upgrade files in the operating system upgrade and/or operating system support patch, although Cisco does not automatically install these files on the server.
Installing and Configuring VNC
Perform the following procedure to install and configure VNC Version 3.3.3r9 on all servers that will use VNC.
Step 1 Using Windows Explorer, browse to the following folder:
Step 2 In the winvnc folder, double-click Setup.exe.
Step 3 The welcome window displays. Click Next.
Step 4 Click Yes to accept the software license agreement.
Step 5 Accept the default location or choose a new location for installing the application, and then click Next.
Step 6 Accept the default folder name or choose a new folder; then, click Next.
The program installs.
Step 7 In the Setup Complete window, click Finish.
Step 8 Choose Start > Programs > VNC > Administrative Tools > Install WinVNC Service.
A message box indicates that the service has been successfully installed.
Step 9 Start the VNC service by choosing Start > Programs > Administrative Tools > Services.
Right-click VNC service; then, click Start.
Step 10 For new installations, a message indicates that you must set the default password for VNC. Click OK.
The WinVNC: Default Local System Properties dialog box displays, as shown in Figure 1.
Figure 1 WinVNC: Default Local System Properties Dialog Box
Step 11 In the Incoming Connections pane, enter a password in the Password field. You can choose any password of up to eight characters that you want to use. You will use this password to open a VNC session between servers.
Step 12 Click OK.
Step 13 Set the VNC service to Manual startup type by choosing Start > Programs > Administrative Tools > Services.
Step 14 Double-click VNC Server.
Step 15 In the Startup type field on the General tab, choose Manual.
Step 16 In the Service status area, click Stop if the service is running.
Step 17 Click OK.
Step 18 If you do not want to use Microsoft Windows Terminal Services, double-click Terminal Services in the Services pane. In the Startup type field on the General tab, choose Disabled.
The service does not stop until you reboot the server.
Step 19 Click OK.
Step 20 Repeat Step 1 through Step 19 on all servers that will use VNC to interact.
You can use Terminal Services to download and install VNC on the servers, or you can ask someone with access to the servers to perform the installation procedure.
Starting a Remote Server from the Master Server
If you want to start a remote server via VNC, perform the following procedure:
Step 1 From the master server, map a drive to the remote server by using the server name (not the IP address).
Step 2 Right-click My Computer and choose Manage.
Step 3 Choose Action > Connect to another computer.
The Select Computer dialog box displays.
Step 4 In the Name field, enter the name of the server in which you want to connect; then, click OK.
Step 5 In the Computer Management window, double-click Services and Applications.
Step 6 If an Internet Services Manager dialog displays, click Yes.
Step 7 Click Services.
Step 8 Right-click VNC Server; then, choose Start.
Perform the following procedure to complete installation or configuration tasks via VNC:
Step 1 On the master server, choose Start > Programs > VNC > Run VNCviewer.
The Connection Details dialog box displays, as shown in Figure 2.
Figure 2 Connection Details dialog box
Step 2 In the VNC server field, enter the IP address of the remote server on which you want to install the software or perform a configuration task.
Step 3 Click OK.The VNC Authentication dialog box displays, as shown in Figure 3.
Figure 3 VNC Authentication Dialog Box
Step 4 In the Session password field, enter the password that you specified in Step 11 in the "Installing and Configuring VNC" section.
Step 5 Click OK.
The desktop of the remote server displays.
Step 6 From the master server, install software or perform configuration tasks on the remote server.
Caution Make sure that you insert installation CD-ROMs into the CD-ROM drive of the remote server or download the files from the web onto the remote server.
Step 7 Stop the VNC Server service.
Step 8 Perform the procedures in "Starting a Remote Server from the Master Server" and "Using the Master Server to Perform Tasks on the Remote Server" for each remote server on which you want to perform installation or configuration tasks.
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info|
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: October 03, 2017