************************************************************************************************
Readme file for Spaghetti 1.40

Copyright (c) 1996-1997 Artigiani Virtuali di Giacomo Tufano

The zip archive distribution contains the following files:

	Readme.txt		-	This file
	Spaghetti.exe		-	The main application
	Spaghetti.cpl		-	The Control Panel Applet
	SpgBrowse.exe		-	The Cache Browser
	Manual.doc		-	The user manual for Spaghetti

The home page on the Web for Spaghetti (useful for latest infos, releases, docs and temporary key requests) is:

http://www.avirt.com/Spaghetti/

Mirrors of these pages are on:
http://www.dceng.demon.co.uk/spaghetti/default.htm   (United Kingdom)
and:
http://www.website.net.au/Spaghetti/DEFAULT.HTM      (Australia)

You can reach the author via email to: gt@avirt.com for help, extended trial keys request, etc.

Fast installation instructions for people that don't read docs:
If you don't have any previous version of spaghetti installed, simply expand spaghetti.exe, spaghetti.cpl and spgbrowse.exe in your system directory (tipically d:\winnt\system32 for Windows NT or d:\windows\system for Windows 95) and then open the Control Panel. Use the Spaghetti icon to configure the proxy.

Remember that Spaghetti "as-is" is limited to 200 requests before stopping itself. This should
be sufficient to first test its functionality. If you need a better testing field, you can ask
on the Home page or directly the author for a trial key with this limitation removed, but with
a time expiration.

************************************************************************************************
Changes history:

Version 1.40
Added a '0' setting for disconnection timeout for the autodial feature, meaning never disconnect opened RAS connections. Useful for people using the Autodisconnect feature intrinsic of Windows NT 4.0
Removed the multilanguage support for the executables of Spaghetti and separated the English and the Italian version of Spaghetti.

Version 1.40 (beta 2)
Added a '0' settings on cache expiration, meaning never delete files during expiration process.
Added a refresh button on cache browser for refreshing of the cache index.
Corrected a bug in cache browser (crashing when ~Spaghetti.FAT not present).
Removed the limit at 100 sites in the cache browser.
The limit on connection count in demo version is now 200 connections.
Corrected a bug in the control panel applet statistics section (sometimes it doesn't connect to Spaghetti).

Version 1.40 (beta 1)
Fixed a serious bug in the http proxy code regarding POST request.
Added a telnet proxy. It works waiting at the telnet port and sending a prompt asking for the hostname and port, in the form host.domain.dom:port (port being optional, the default is telnet).
The Expiration process is now automated. You can always start it manually from the control panel applet, but by default it starts every 24 hours.
Added a cache browser, thanks to Robert Boulanger for the idea and the original implementation (named Parmesan:). It works looking at a file generated by the expiration process so, start the expiration manually once before trying to use the browser.
Added multilanguage support. Spaghetti tries to read the country settings from your computer and then open up in the language of choice of the user. Beta 1 supports only Italian, but Deutsch, francais, espanol and Hungarian versions are on the way...
Added two buttons for a 'one shot' configuration of email and news gateways... too much requests on this ;-).
Also added the computer name on main Spaghetti dialog box. I have also too much requests for keys wothout computer name (and too much people not finding the Control Panel;).
The home page for Spaghetti is moving to http://www.avirt.com/Spaghetti...

Version 1.32
Fixed a bug in the 'native' ftp proxy. It simply does not upload files (only downloads).
Fixed some reference to Tomato in the docs.

Version 1.31:
Fixed a bug regarding first time installations.

Version 1.3:
Documentation is not more in .html format but it is a 'regular' Word doc.
Added Ftp proxy for 'native' ftp clients (CuteFTP, WSFtp, Fetch, ecc.).
Added RealAudio support.
Tomato changed from a 'regular' application to a Control Panel Applet. So it now appear in Control Panel, the name being changed in Spaghetti.
Changed the key system. Now Spaghetti can run in demo mode (with the key DEMO) allowing only 100 connection before shut down itself. A temporary (ca. 1 month) key for testing can be requested to the author (gt@synapsis.it).

Version 1.2a:
'Refixed' the 'caching pages' bug. 

Version 1.2:
Fixed a bug that caused the proxy to always cache the pages, regardless to the setting in Tomato. 
Added the possibility to bridge any protocol. The syntax is easy, simply press add in the Bridging section of Tomato and enter the port on proxy and the mapping to the remote server and to the port on remote server (typically the same of the port on proxy).
Added the possibility to perform always a check on cached pages with the remote server. This guarantee the consistence of the received page but can severely impact the performance of the proxy on slow (or busy) connection. Try it on the field and verify it on your connection.
Rewritten the cache manager, should be 20-30% faster than before in returning pages. 

Version 1.12:
Fixed a bug that caused the RAS dialer to open connections only on "dotted" address (i.e.: it call on a request on http://194.32.111.1/ but not on http://www.synapsis.it/), this is now fixed.
Fixed a bug on PORT command for the Ftp proxy. This happened only on some computers, on these ones, the ftp proxy consistently failed with a 550 PORT selection failed from remote server. 
Http POST request not working using Internet Explorer 3.0b1. Simply the IE3.0 passed the Content-Lenght header as Content-lenght breaking the parser.
The proxy erroneously cached http://www.foo.bar/ the same of http://www.foo.bar:79/. This is fixed. 

Version 1.11:
Spaghetti will refuse to start if Remote Access was not installed on the target machine;
the installation program was flawed and (in presence of old version of executable) will refuse to install the proxy. 
The Http proxy doesn't cache anymore pages requested with "Cookies", allowing pages generated for single users to be independent. 
The Ftp proxy had a serious bug on connection timeout, the timeout was fixed (for mistake) to 60 seconds instead of "regular" 600 seconds. This caused (on bad connections) repenting (and inopportune) loss of link in middle of file transfers. 
Some bug on directory parsing on ftp proxying was fixed. The ftp proxy was not working at all in the case of proxy-proxy channelling. 
The Ftp proxy returned always 404 Not Found on any kind of error... now it returns more meaningful error messages (and remote server response). Before it returned errors only on Application Log. 

Version 1.1:
Added a configuration and control program, Tomato. Tomato is a "regular" windowed application. It eliminate the need of manual Registry editing (people using Win95 typically don't know even that the Registry exist ;-) ). Obviously you have no *need* to use it, you can always, as "real men" does :-), edit registry manually.
Added bridging on SMTP, POP3, NNTP and IRC. This is useful for people using Spaghetti as a gateway from a "private" net to the internet. Basically it redirect request made to the machine using Spaghetti to a remote server. Clients must be configured to use the computer with the proxy as it be the "real" server.
Added statistical data. From Tomato, while Spaghetti is running, you can press "Statistic" and have information on uptime, connections by protocol, cache hit statistic and traffic stats (separated by protocol). You can, at the moment, collect statistical data only from the computer where Spaghetti runs.
An IP filter on incoming connections have been added. Now you can "filter" incoming connections to the proxy on predetermined IP addresses. This is useful to physical separate your internal network from the Internet, you can have a computer with two network card and disable binding of system service on the "external" card to have a (may be) "secure" system between you and the Internet continuing to use Web, Ftp, mail, news and Irc on the internal "private" network. You can use the start of the address to allow connections, i.e.: to give right to all the net 194.20.181.0, simply add 194.20.181. to the list of permitted IPs. By default, it will permit connection for the net 192.168.0.0 (a "private" class C network) to which we recommend setting the IP addresses for the internal network.
Automatic dialing added. Now you can configure Spaghetti to automatically call your provider when you have a connection that cannot be fulfilled from cache. It uses a connection from the RAS phonebook with the possibility to change username and password. There is a timeout (in seconds) for the hang up: when the connection is "silent" for the time established, the RAS connection is shut down.
From Tomato now you can start and stop the service. Simply press the Start/Stop button. 
Also from Tomato you can disinstall the service.
Activating the Connection Log, you will find in the Application Log a row for every connection made to the proxy. It is very verbose on busy proxies... remember to add space in the Application Log or it will fill up very fast.
The proxy will not "expire" by fixed date hardcoded in the program itself. Other than the "regular" registration keys, I will release from time to time "eval keys" for evaluation until a determined date... the key for evaluation until August 1, 1996 is: 9jIvTLebT/c you will have to fill the 'Key' field to activate evaluation. This will permit to distribute the archive to Ftp site without to have to change the archive any month.... if the key contained in the archive was itself expired the "downloader" will have only to get the current key from www.synapsis.it and not the complete package.
spaghetti.exe have now only 2 command line parameters: expire (to start the expiration process) and run (to start the proxy as an application and not as a service). All preceding options are now integrated in Tomato.
Corrected some bug that sometime crashed the program.
Added some bug that sometime will crash the program. :-) 
