
                    Xrouter v181 - Changes Since v180B
                    ==================================

There are only minor changes this time, so I'm sorry to foist yet another
version upon you, but I felt the HTTP memory leak was important enough to
warrant an emergency release....


1) Added AGW TCP/IP host interface on TCP port 8000.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   This allows those applications (e.g. AGWTERM, UI-View etc.) which
   are capable of using AGWPE's TCP/IP host interface, to use Xrouter
   instead of AGW "Packet Engine".

   Thus you may for example run your Xrouter 24/7 on any old DOS machine,
   Ethernet linked into your home LAN, whilst using modern Windows-based
   applications on another LAN machine to access the radios.

   Unfortunately, although Xrouter will run in a DOS window within Windows
   there is no known way, at present, of interfacing Xrouter directly
   (i.e. internally) to the Windows TCP/IP stack, so you cannot use the
   LOCALHOST address to communicate with the Xrouter's AGW host interface.

   I have personally tested it with AGWMON, AGWTERM and UI-View, and would
   appreciate reports from anyone who can test it with other AGW apps.


2) Added http url rewriting.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  This allows invisible proxying of external http servers, and is
  controlled by REWRITE entries in a new HTTP.SYS file.

  For example, if you only have one public ip address, but you have more
  than one HTTP server on your LAN which you wish to make visible to the
  outside world, you could use non-standard port numbers, e.g.
  http://g8pzt.atx.cx:8081, but that is messy.  You can't expect people
  to remember the port numbers, and no-one can be bothered to type them
  in!

  This is where Xrouter can come to the rescue, using the URL rewriting
  facility plus the http proxy to redirect requests to any number of
  alternate servers based upon the first part of the URL.  For example,
  on my system, the standard HTTP port 80 is directed to Xrouter, and
  Xrouter proxies the web server on my separate Xserv machine.

  The syntax of entries in HTTP.SYS is "REWRITE <oldstring> <newstring>",
  where <oldstring> is a partial URL, always starting at the beginning
  of the URL, and <newstring> is a string of characters which will be
  substituted in that URL.  Entries are case-insensitive.

  For example: "REWRITE /bbs http://192.168.0.4" would replace "/bbs" at
  the start of a URL with "http://192.168.0.4", so that a url like:
  "/bbs/cgi-bin/menu.pz" becomes: "http://192.168.0.4/cgi-bin/menu.pz".
  The resulting url then treated as if it was a proxy request, and is
  directed to the approriate server.

  When using the rewrite feature to proxy another web server, the
  resultant url *must* start with "http://<address>[:port]" where
  <address> can be either a hostname or ip address.  Use an IP
  address or local machine nickname for machines on your LAN.

  The rewrite feature can also be used to create pseudo directories
  which are not where they appear to be, e.g.
  "rewrite  /bbs  /systems/gb7pzt".

  There are no validity checks, so you *must* be careful not to
  inadvertently remove "/" characters from the rewritten string, e.g.
  the entry "rewrite /bbs/  http://192.168.0.4" would cause
  "/bbs/index.htm" to be rewriten as "http://192.168.0.4index.htm",
  which will clearly fail.


3) Added "template" file for HTTP command interface.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In my usual haste to release v180 I forgot to include this feature,
   but I didn't realise my mistake because the inbuilt template used
   the same colours as my main menu page!

   Once again, I am giving you an unfinished feature to play with,
   because I've had to rush v181 to you :-(  If you wish to override the
   inbuilt html template for the URLs which begin with "/exec", edit the
   enclosed file EXEC.HTM and put it either in the same directory as
   Xrouter, or preferably on a Ramdisk configured as drive "R:". When
   the server encounters a URL beginning with "/exec?cmd=", it will
   serve the EXEC.HTM file, replacing the <TEXT> tag with the result of
   the executed command.


4) Fixed memory leaks in HTTP and CHAT servers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  The HTTP server was losing a small amount of memory with each request,
  and this memory was not recoverable, so Xrouter would eventually run
  out of memory.  This has been fixed.  There were also similar problems
  when users logged out of the chat server back to the command prompt.

73, Paula
