I'm always annoyed at README files announcing a new release of a
package without informing the reader of the purpose of the package.
Therefore, first things first. What is diald? Diald is a daemon that
does demand dialing for PPP and SLIP. 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 the sixth ALPHA release of this code. This is a bug fix
release only. There are no new features in this release.

As I said before, this is still ALPHA code, your mileage may vary!
I'm using diald daily, and it works for me, but I can't anticipate
every software/hardware configuration out there. For reference,
I wrote and tested diald on a system running bleeding edge
Linux 1.1.*. Currently I'm up to Linux 1.1.76. I've tested diald
using both pppd-2.1.2b and pppd-940914 and it should work with either.
I've had reports that people cannot get it to work with 1.0.x series
kernels. If anyone does get it working with 1.0.x series kernels
I'd be interested to hear about it.

WHERE TO GET IT
---------------
The file is called diald-0.6.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.

MAILING LIST
------------

David S. Miller is providing 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 benifit 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 miminizes the
time I have to spend answering questions about diald, and gives me
more time to spend improving the program.

FAQ
---
There is a very sketchy FAQ distributed with this release.
This is only the initial release of the FAQ.

Gordon Soukoreff <root@tradenet.tradenet.com> has kindly
volunteered to maintain the FAQ for diald. If you have
trouble getting started with diald, and you don't find
your answer in the existing FAQ, please consider contributing
to the FAQ once you get your questions answered. You can
send contributions to Gordon at diald_faq@tradenet.com.
(Please don't send them directly to Gordon he's using a semi
automated process and we don't want to mess it up.)

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 are using a version of diald older than 0.4 you will also
need to edit your existing /etc/diald.conf file because the names
of some of the diald options have changed.
See the CHANGES file for more information.

USING DIALD
-----------
Read the man page for more information.

BUGS & LIMITATIONS
------------------
There are some known problems and limitations.

Lines  in  options  files can contain at most 1024 charac-
ters.  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.

When  closing  the  modem  diald often generates the error
message "failed to restore  initial  modem  terminal  set-
tings: I/O error".  I do not yet known why this error hap-
pens, but it does not seem to  inhibit  the  operation  of
diald.

Diald's support for multiple modem devices is somewhat
limited. It will try a list of devices, but it uses
the same chat script and control settings on all
the devices. This means that you must have the
same kind of modem on every device. At some point diald
needs a better way to configure individual devices for call out
in an independent way.

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

Eric Schenk
schenk@cs.toronto.edu

Toronto, Canada, January 4th, 1995.
