Previous Next Contents

10. Porting software for use with TERM

In principle, all programs that can be used over a network can also be used in combination with TERM. Some of them you can get as binaries with TERM support already built in. These include telnet, (nc)ftp, Mosaic and many others. Most of these programs are compiled for TERM 1.17 or earlier. They should, however, still work with the newer versions of TERM.

Another way to make programs TERM aware is to port them yourself. This process will be described in the next subsection.

The last way to make your programs TERM-aware is to termify them.

10.1 Port and compile the sources

Porting software to TERM can be done using a fairly simple porting procedure:

If installed in '/usr/local' by root:

  1. Add to the compile flags -include /usr/local/include/termnet.h
  2. and add to the library list -ltermnet

If installed in your home directory:

  1. Add to the compile flags -include $HOME/term/termnet.h
  2. and add to the library list -L$HOME/term -ltermnet

Now compile the software as described in the INSTALL or README document that came with the software. That should do!

At this point the commands should work both with and without TERM.

  telnet localhost

does not use TERM to connect, but

  telnet bohr.physics.purdue.edu

will use TERM only if you do not have some other type of network connection.

Some commands like rlogin can only be executed by root and the owner of the TERM connection (privileged persons).

Some TERM commands will be TERM transparent and only use TERM when there is not another option. Some common examples are telnet and ftp.

Others require an external flag to tell them it is all right to use TERM. These programs include xarchie, fsp and ytalk.

You can either flag these programs to use TERM by setting the environmental variable TERMMODE as specified in README.security, or running make installnet. Eventually, the 'termnet' file created will contain special networking instructions, but for now only its existence is checked.

If you add an ethernet connection, you can then simply remove the 'termnet' file and continue to use the same binaries!

NOTE: Programs that were ported back in the days of client.a, can still be recompiled for use with newer versions of TERM simply by changing the client.a reference to libtermnet.a.

10.2 Termify

This package will convert dynamically linked binaries for TERM use.

Before you can use termify you have to make sure that you have TERM version 2.2i (is this version 2.2.8?) or later and libc.so.4.5.26 or later. Then you have to create the file 'libt.so.4' in the directory '/lib' (see the README file in the package).

Problem at this moment is that you have to remake the file 'libt.so.4' every time you upgrade TERM versions.

After you have created the library you can let termify 'crunch' the program you want to make TERM-aware, by using the command:

  termify <command name>

When you do not like the result you can 'un'termify the program you have just termified using the command:

  termify -u <command name>

Last, the package also contains a script for completely termifying 'smail'; so no special transport definitions are necessary. The only thing you possibly want to change is the 'From: ' address.


Previous Next Contents