Term+Mosaic2.4 v1.6 This package enables Mosaic-2.4 to run using Term as a transport protocol. The resulting Mosaic binary can operate in either Term mode (by specifying the -term command line option), or in normal TCP mode. I don't have a Linux system, please don't ask me for Linux binaries (see the Linux note under PREREQUISITES below.) The latest version of this package is most likely to be found in ftp://ftp.alumni.caltech.edu/pub/mcbeath/web/TermMosaic PROXY MODE You may not need to fiddle with TermMosaic at all. Starting with Mosaic 2.4, it is possible to run the standard unmodified Mosaic over your term connection by using the proxy server feature. This means you don't have to compile and link your own copy, which also means you can use Mosaic over Term even if you don't have Motif libraries. To use proxy server mode, you must tell Mosaic that all requests are to be directed through a proxy, then use tredir to listen to that port and redirect the mosaic requests to a real proxy server on the net. You can either use a published proxy server port, or run your own proxy server (such as CERN httpd) on the network side of your term connection. The following sh script starts up mosaic in proxy mode. You can put this script in your path as, say, "tmosaic", then simply run tmosaic instead of mosaic -term. #!/bin/sh - #by Jim McBeath #Use a line such as the following to point to a published proxy server #remotehost=www1.cern.ch:911 #at one time a published proxy server #Use a line such as the the following when you run your own proxy server remotehost=localhost:8123 #run your own proxy server on port 8123 #'localhost' in the above definition of remotehost refers to # the machine on the other end of the term line. lport=8080 while [ $# -gt 0 ]; do case $1 in -r ) remotehost=$2; shift 2;; -l ) lport=$2; shift 2;; *) echo "Bad option"; exit 1;; esac done gateway=http://localhost:$lport/ http_proxy=$gateway; export http_proxy ftp_proxy=$gateway; export ftp_proxy wais_proxy=$gateway; export wais_proxy gopher_proxy=$gateway; export gopher_proxy tredir $lport $remotehost exec Mosaic LIMITATIONS This package enables the following URL access methods via term: 1. HTTP to any server, including HTTP-gateways such as finger. 2. Gopher to any server. 3. FTP to most servers (a few non-unix systems seem not to work). 4. WAIS through HTTP gateway (i.e. compiled without direct WAIS). 5. Direct WAIS (requires freeWAIS, see below). 6. telnet (if you put telnet.sh in your path as telnet [crude]) The following URL access methods are not supported by this package: 1. FTP to some non-unix systems (see note about -nopassive below). 2. HDF. 3. tn3270, rlogin. 4. News. 5. Group annotations (disabled by NCSA anyway). 6. telnet (if you don't use a modified telnet, or telnet.sh) PREREQUISITES This package requires that you already have the following packages: 1. Michael O'Reilly's Term communication package, available in either ftp://physics.purdue.edu/pub/bcr/term/ or ftp://sunsite.unc.edu/pub/Linux/apps/comm/term/term/ (currently maintained by Bill C. Riemers, bcr@physics.purdue.edu; older versions, when it was still maintained by O'Reilly, are at ftp://tartarus.uwa.edu.au/pub/oreillym/term/term???.tar.gz ). You will need term118 or later - it uses libtermnet.a rather than client.a. Term2.0 is recommended. 2. NCSA Mosaic 2.4 source, available as ftp://ftp.ncsa.uiuc.edu/Mosaic/Mosaic-source/Mosaic-2.4.tar.Z 3. Motif (libXm.a, include files), a commercial package used by Mosaic, available for a fee from OSF. If you don't already have Motif, you should probably not bother trying to build Mosaic; try to get a binary from someone else, or use proxy mode. (Please don't ask me where to get Motif; see comp.windows.x.motif.) 4. If you want to use direct WAIS, you need freeWAIS, available in ftp://sunsite.unc.edu/pub/wais/wais-sources.tar.Z (or you can use archie to find it, try "archie -s freeWAIS") 5. If you are running Linux, you may also need the Linux patches. (Mosaic 2.0 uses non-blocking connect, which Linux does not support. Mosaic 2.4 is probably the same.) Check out the archive files in ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/ You should also check in that directory for a precompiled Mosaic+term binary for Linux, you can probably save yourself some work, and maybe also get a more up to date version of Mosaic. If the patch source files are not there and you want them, look in the .lsm files for the email address of someone who has compiled it. INSTALLATION Follow these steps to install: 1. Edit Mosaic/Makefile. The Makefile in this package is set up for Solaris 2.2. You can diff it against Mosaic/Makefile.solaris to see all the details. Check the other Makefiles in the standard Mosaic distribution for the flags required for your platform. Your modified top level Makefile for Mosaic should have: a. 4 TERM definition lines b. $(TERMOPT) $(TERMINC) in sysconfflags c. $(TERMLIB) in syslibs Double-check the TERMDIR definition to make sure it points to where you have installed Term at your site. NOTE FOR Mosaic-2.2: I have not tested this Makefile, as I am building on SCO. I believe it will work. -Tom Kelly 2. Copy the file HTTerm.c to Mosaic/libwww2/HTTerm.c. 3. Patch the files src/gui.c, libwww2/HTFTP.c, libww2/HTTCP.c and libwww2/Makefile according to the Diffs in this kit. These diffs are in one file (Diffs), so you can run 'patch' from the top level Mosaic directory with this command: patch -p < $tm/Diffs where $tm should be replaced by the path to the TermMosaic-2.4 directory containing the Diffs file. 4. Cd to the Mosaic directory and do a 'make'. You must have previously compiled Term so that libtermnet.a is available. 5. Install the Mosaic binary according to the Mosaic directions. RUNNING MOSAIC+TERM To use Mosaic with Term, include the -term command line option when starting mosaic: Mosaic -term You must first be running the term program, otherwise you will get the message "Connect: Not owner" when you try to access anything other than local files, and Mosaic will exit. By default, FTP connections use PASV mode (active mode connections seem to hang more often). You can specify -nopassive to use active mode connections. You must specify this option after specifying -term, since -term sets PASV mode to true. (Note: this only works if you have term 1.0.8 or later; if you have an earlier version, the -nopassive command will not work.) The active mode connections seem to have their own problems, which is why PASV is the default. To run standard Mosaic, omit the -term option. It will then use the normal TCP routines to make connections. There is no passive mode option when using TCP. You can use the option -term.servername to access a specific term by name, similar to trsh -t servername. If Mosaic has problems connecting, you may want to use the following sh command on the remote side: term -d 64 2>term.log which will give you a log file that you can examine to see what failed. HISTORY Version 1.6 Placed on ftp.alumni.caltech.edu 28 July 1994 Upgraded from Mosaic 2.2 to Mosaic 2.4 and to use term118 by John Birchfield . Tested with term203 by jimmc. Version 1.5 Placed on ftp.alumni.caltech.edu 14 April 1994 Upgraded from Mosaic 2.1 to Mosaic 2.2 by Tom Kelly , several bug fixes (htons() used incorrectly, error returns from term checked). Added telnet.sh. Version 1.4 Placed on ftp.cco.caltech.edu Feb 2, 1994 Upgraded from Mosaic 2.0 to Mosaic 2.1 by Stew Ellis , with diffs placed into one file to make it easier to use 'patch'. Version 1.3 Placed on ftp.cco.caltech.edu Dec 28, 1993. Updated README file: added comments about WAIS and Linux. Version 1.2 Submitted to sunsite.unc.edu Nov 22, 1993. Passive mode for FTP has been restored, since it seems to work better than active mode. The active mode is still available with the -nopassive option. Version 1.1 Submitted to sunsite.unc.edu Nov 22, 1993. 1.1 had an extremely short lifetime. It used C_BINDN to make active (listening) FTP connections, and removed PASV mode to make the patches simpler; but unfortunately, it was broken. Version 1.0 Submitted to sunsite.unc.edu Nov 20, 1993. -Jim McBeath July 28, 1994 jimmc@eskimo.com jimmc@alumni.caltech.edu