The Diald README File

----------------------------------------------------------------------------

Diald is a daemon that provides on demand IP links via SLIP or PPP. The
purpose of diald is to make it transparently appear that you have a
permanent connection to a remote site. Diald sets up a "proxy" device which
stands in for the physical connection to a remote site. It then monitors the
proxy, waiting for packets to arrive. When interesting packets arrive it
will attempt to establish the physical link to the remote site using either
SLIP or PPP, and if it succeeds it will forward traffic from the proxy to
the physical link. As well, diald will monitor traffic once the physical
link is up, and when it has determined that the link is idle, the remote
connection is terminated. The criteria for bringing the link up and taking
it down are configurable at run time, and are based upon the type of traffic
passing over the link.

This is release 0.14 of diald. I've stopped predicting which release will be
the last beta release. The bleeding edge kernels are to much of a moving
target right now.

Getting Diald

The file is called diald-0.14.tar.gz. I've uploaded it to
sunsite.unc.edu:/pub/Linux/Incoming. It should move to
sunsite.unc.edu:/pub/Linux/system/Network/serial after a suitable interval.
It can also be obtained from the diald home page at
"http://www.cs.toronto.edu/~schenk/diald.html".

Mailing List

David S. Miller provides a mailing for the discussion of diald on his
Majordomo server at vger.rutgers.edu. Send mail containing the line
"subscribe linux-diald" in the BODY of the message to
Majordomo@vger.rutgers.edu to join the list. Send mail with the word "help"
in the body to get help on the correct use of the Majordomo list server.
Announcements of new releases are made on the mailing list, and its a good
place to ask questions of users who already have diald up and running. I
would prefer the mailing list to be my primary channel of communication with
users. This gives you the added benefit of asking your questions of everyone
on the list, many of whom may have the same question, or some of who may
have already solved your problem. This minimizes the time I have to spend
answering questions about diald, and gives me more time to spend improving
the program.

The mailing list is being archived by Jeremy Hall . Copies of the archive
can be obtained at ftp://rex.isdn.net/pub/diald. Currently the archives are
updated once a month.

FAQ

There is a copy of the FAQ distributed with the diald release in the
subdirectory "doc". This is the version that was current when the diald
release was packaged. This may not be the most up to date version of the
FAQ. The most up to date version can always be obtained from the diald home
page. (See "Getting Diald" for the address of the home page.)

Before Installation

You must have SLIP devices in your kernel in order to use diald, EVEN IF YOU
PLAN TO USE ONLY PPP CONNECTIONS! Let me repeat that, diald needs SLIP to
work under all circumstances. It uses a SLIP link on a pseudo terminal to
create the proxy device that stands in for the real connection. Naturally,
if you plan on using diald to establish PPP connections, you must also have
PPP devices in your kernel. You must also have a program like "chat" to do
dialing. Also, if you plan to have a lot of diald's running around
(connecting to different sites) you will probably need to increase the
number of SLIP and possibly PPP devices in your kernel. Note that diald
takes up one SLIP device for every connection whether it is active or not,
and one PPP device for every connection that is currently active.

Configuring Diald

Various pathnames that diald needs to know can be configured in "config.h".
Edit this file appropriately. The eventual installation location for the
diald binary, the man page and the diald definitions file can be configured
in the Makefile.

Basic Installation (First Time Users)

WARNING: Don't do this if you are already running a previous version of
diald, it will destroy your existing configuration files!

First run "make depend" then "make" and then "make install" as root. This
makes the diald daemon and installs it. Next run "make install-configs".
This will install the the configuration files /etc/diald.defs and
/etc/diald.conf. After installation you probably want to edit
/etc/diald.conf to customize diald to your local site. Read the manual page
to find out what this file can contain.

Installation If You Are Already Using an Earlier Version

Run "make depend" then "make" and then "make install" as root to install the
new executable and man page. If you don't want to save an existing
/etc/diald.conf file just proceed as for the basic first time installation.
Otherwise, you must copy the doc/diald.defs file to /etc/diald.defs by hand.
This file contains the definitions of protocol rules and variable names used
by the filter definitions. YOU MUST HAVE IT INSTALLED. If you want to use an
old /etc/diald.conf file you will need to update some of the contents as the
names and meanings of various commands have evolved a little over time. In
particular a major change in syntax took place between version 0.3 and 0.4
and a change in semantics took place between version 0.7 and 0.8 and again
between 0.10 and 0.11. See the CHANGES file for more information. If you are
planning to use diald with a kernel numbered 1.3.75 or greater, then you
MUST compile diald using the include files for that kernel.

Using Diald

Read the man page for more information.

Bugs, Limitations and Warnings

There are some known problems and limitations.

Lines in options files can contain at most 1024 characters. Longer lines are
silently truncated.

If there are no filter rules specified then no packets will be matched and
the daemon won't do anything. It should probably match all packets by
default in this case.

Diald attempts to automatically adjust the MTU of the proxy to match the MTU
of the actual connection negotiated by ppp, but this is not guaranteed to
work, since changing the MTU on an active interface is not supported by the
kernel. It is possible that an auto adjusted MTU will cause some long
packets to get dropped on the floor. If you are having problems you should
match these values manually. Diald will report the negotiated MTU in the
system logs and warn you that you should adjust the settings.

The monitor command represents a security risk as anyone who has access to a
diald control fifo can ask diald to write to any named pipe in the system.
Be careful with the permissions on your fifo's.

Please send bug reports, patches or suggestions for improvements to me,
preferably via the mailing list.

Eric Schenk
schenk@cs.toronto.edu

Toronto, Canada, April 2nd, 1996.
