pkg://eznet-1.11.1-1.i386.rpm:24609/
usr/
doc/
eznet-1.11.1/eznet.txt
info downloads
============================================================================
There's a compiled libc6 eznet in the bin directory.
To compile eznet do this.
eznet-1.11.1# gcc -O2 -o eznet eznet.c
chown root.root /usr/bin/eznet
chmod 04755 /usr/bin/eznet
Put eznet and ezsetup in the /usr/bin directory.
You can use the shell script 'ezsetup' to setup 'eznet' to make the PPP
connection, it will ask you a few questions i.e. username, password,
and phone number.
Made these changes to eznet.c 1.11
Changed DB_DIR to /etc/ppp/eznet
Added 'asyncmap 0' to pppd options
Changed sesion.html to sesion.log
Changed idle 300 to 600
Removed mtu and mru 552
Added new line for Up since
Changed /bin/kill -TERM `/sbin/pidof pppd` to kill -TERM `pidof pppd`
Changed /bin/kill -TERM `/sbin/pidof diald` to kill -TERM `pidof diald`
2-24-98 Kent Robotti
The text below is by the author of eznet taken from his home page.
============================================================================
Notice: This page is incomplete. I've tried to provide enough data to
get started, but I don't have the time right now to write a complete
tutorial, or even a decent man-page. I hope that this will not prevent
you from trying out eznet and sending me your comments. If it does,
please check back in a few weeks to see what improvements have been
made. Thanks...
Eznet: A Simpler Way To Do PPP
Let's face it: setting up PPP under Linux can be intimidating,
especially for newbies. Between chat scripts and a zillion options to
pppd, setting up PPP can be a hassle for experienced users. It's a
wonder beginners are able to do it at all.
``eznet'' is a new program designed to make it much easier to get PPP
running under Linux. Basically all you have to do is supply a name for
your ISP, a login name, password and phone number and eznet will do
the rest. There are not configuration files to edit, no chat scripts
to design and no need to figure out what a "chap-secret" is. Assuming
you have pppd and eznet correctly installed (which should happen
automatically from your CD-ROM, right?) the following command is all
it takes to set up PPP:
eznet add service=NAME user=ABC password=XYZ phone=5551234
The setup command has to be entered as root. But after the setup is
done, any user can bring up the PPP connection by simply typing:
eznet up NAME
If everything works right, you should have a PPP connection in 30
seconds or so. The ``eznet up'' command will not return until either
the connection has been established, or the connection attempt fails.
The command will return a non-zero result code if the connection
attempt fails, making is suitable for use within shell-scripts.
``eznet up'' prints a status message just before it returns so that
interactive users can also see what happened.
The connection established by eznet will automatically go down after 5
minutes of inactivity. Or you can bring it down manually by typing:
eznet down NAME
To see the current status of a connection, type:
eznet status
Eznet also supports demand dialing. If you have Eric Schenk's
``Diald'' package installed, you can start it up by typing:
eznet dialdon NAME
And turn diald back off using:
eznet dialdoff NAME
If you prefer to use the request-route feature of kerneld, then just
write the following script into the file ``/sbin/request-route'':
#!/bin/sh
eznet up NAME
I prefer to use diald, since it seems to work better and because
kerneld will not be supported in the 2.2.X kernels. But either method
works.
Viewing And Changing The Configuration
Eznet has a configuration file (in /var/eznet/eznet.conf) but you
never need to read or edit it. Instead, use eznet itself to keep the
configuration up-to-date. To see the current configuration type:
eznet list
This command can be run as an unprivileged user, but if it is, the
passwords will not be displayed. Be careful when using the list
command as root because the passwords will appear in plain text on
your screen -- make sure nobody is looking over your shoulder!
To change the configuration, use a command like the following:
eznet change NAME ARG1=VALUE1 ARG2=VALUE2...
Only root is allowed to change configuration values. The four basic
configuration values are shown in the sample command above: "service"
"user", "password" and "phone". But there are many others. A complete
list is shown below. Hopefully, most users will never need to deal
with more than the basic four.
Multiple Service Providers
Eznet is able to manage connections to multiple service providers.
(The only purpose of the "service" option is to give a symbolic name
to each service provider.) Suppose, for example, that you have a
personal dialup account with AT&T WorldNet and a separate dialup
account where you work. You could setup two eznet configurations like
this:
eznet add service=work user=slave5 'password=yes sir!' phone=5551234
eznet add service=worldnet user=123456@worldnet.att.net \
password=xyzzy phone=5554321
Now eznet knows about both services. To log into work, just type
eznet up work
And to log into your personal WorldNet account, type
eznet up worldnet
Assuming you have two modems, you can even log into both serices at
the same time!
Some eznet commands require that you specify a particular service. The
"up" command is like this. Both other commands will apply to all
services if no particular service name is given. For example, if you
type
eznet down
then eznet immediately terminates all connections. The best why to
know whether or not a particular eznet command will work globally is
to try it and see. Note that if you only have a single service
provider defined, then there is no need to mention its name with any
command -- eznet will always know which service you mean.
Optimizing and Trouble Shooting
In some situations, eznet may require some additional hints in order
to work optimally, or to work at all. If you are having trouble
getting eznet to work, or wonder if you can make it work better, this
section is for you.
If eznet is not working for you, the first step is to figure out why
not. If eznet fails for any reason, run the command
eznet log
to get a diagnostic log of what it did on the most recent connection
attempt. This diagnostic log will often immediately show what the
trouble is. Then all you have to do is fix the problem. Usually adding
a few additional configuration options to your eznet setup will do the
trick.
Eznet makes very few assumptions about your modem. Basically, it
assumes that the modem supports the single Hayes modem command "atd"
for dialing, and that lowering the DTR line on your serial port will
cause the modem to hang up and reset. If your particular modem
requires some additional setup, you can cause eznet to issue extra
initialization commands to the modem using configuration parameters.
For example, to dial one of my local ISPs (named "VNet") using a
SupraFaxModem, I have to configure eznet as follows:
eznet change vnet init0=atz 'init1=at&d3'
The "initN" options (where N is between 0 and 9) each contain an
additional modem initialization that eznet issues prior to dialing the
modem. In this example, the first string resets the modem, and the
second string tells the modem to hangup and reset whenever the DTR
line goes low. Some folks like to turn the speaker on their modem off.
The following command will do that:
eznet change vnet init2=atm0
There are some minor differences between version 2.2 and 2.3 of pppd
that eznet needs to know about. Eznet assumes by default that you are
using version 2.3 or later of pppd. If you get an error message like
this:
idle: unrecognized command
pppd version 2.2 patch level 0
then configure eznet to use version 2.2 of pppd as follows:
eznet change vnet pppversion=2.2
It is possible to recompile eznet to assume version 2.2 of pppd (by
changing the DFLT_PPP_VERSION #define in the source code) but then it
will not work right for versions 2.3 of pppd and later.
Eznet does a good job of negotiating the login name and password of
most ISPs on its on, but with some ISPs it may require some additional
hints. If eznet fails to connect, you can view a transcript of the
connection attempt in the file "/var/eznet/transcript.*". This
transcript should help you figure out what is going wrong. Beginning
with version 1.8 of eznet, this transcript is a part of the "eznet
log" output.
With some service providers it may be necessary to respond to unusual
login prompts. Eznet allows you to code around this problem using
"expectN" and "replyN" options. For example, suppose VNet prompted for
the login name like this:
Enter your name:
instead of the more traditional "login:". By default, eznet would not
recognize this string and would not know how to respond. But you can
tell it would to do like this:
eznet change vnet expect0=name: reply0=drh
The "expect0" and "reply0" option pair tells eznet that it should
respond with the value of reply0 whenever it sees the text contained
in expect0. You can have up to 10 such expect and reply pairs numbered
0 through 9. The order is not important.
Two particular values of the replyN string have a special meaning. A
reply of "FAIL" will cause eznet to immediately abandon the connection
attempt when the corresponding expectN string is encountered.
Similarly, a reply of "ACCEPT" will cause eznet to immediately attempt
to start pppd.
If you have to use expectN and replyN parameters to get eznet to
work, please send e-mail to drh@acm.org. Include the output of
"eznet log" if possible. Hopefully, the information you provide
will enable me to upgrade eznet to work on your ISP without the
need for additional expectN and replyN configuration options.
A Summary of Eznet Configuration Options
The following is a summary of all of the configuration options that
eznet currently understands:
service This is a symbolic name for the ISP to which you will connect.
This name is used in the output of the status command. If you
configure eznet with data for two or more ISPs, then you can use this
name to select a particular ISP to dial.
phone This is the phone number used to dial the modem. The text
associated with this value will be appended to the string ``atd'' and
sent to the modem verbatim.
user The username or login for your ISP account. If your ISP is
running some kind of Unix, then this is the name that is entered at
the ``Login:'' prompt. If your ISP runs NT, then this is the name used
for PAP or CHAP authentification.
password This is the password for your ISP account. The password will
be entered at the ``Password:'' prompt during login or used during PAP
or CHAP authentification or both.
baud The is the baud rate of the serial connection between your
computer and the modem. The default value is 115200. If your modem or
serial port can't handle that speed, you might need to lower this
number.
debug If the value of the option is ``y'' or ``yes'' then pppd will be
launched in debugging mode. This will cause lots of extra information
to be sent to syslog, and can sometime be helpful in fixing problems.
tty By default, eznet attempt to setup the PPP connection on the
device named /dev/modem. You can choose a different serial device with
this option.
defaultroute Eznet normally sets up a default route to connections it
arranges. You can disable this feature by setting the defaultroute
attribute to ``no'' or ``n''.
idle This parameter records the number of seconds of inactivity that
will cause the PPP connection to shutdown. The default value is 300 (5
minutes). If you set it to 0, then no idle timeout will occur.
chat The default value of this option is "yes". If you set it to "no",
then eznet will try to set up a PPP link as soon as the modem
connects, ignoring any "login:" or similar prompts from the remote
machine.
pppversion Specifies what version of pppd is being used. (There are
changes in the command line syntax between 2.2 and 2.3 that eznet has
to deal with.) The default value is determined by the #define
"DFLT_PPP_VERSION" in the source code. If eznet causes pppd to fail
with a long error message the first time you try to use it, you may
want to set this value manually.
pppoptN You can pass up to 10 additional options to pppd by setting
the values of parameters pppopt0, pppopt1, ..., pppopt9 as
appropriate. The values specified are placed at the end of the
parameter list.
ip & netmask These parameters can be used to select from two or more
ISPs in eznet's database. If you type:
eznet up 192.18.135.11
for example, eznet will search through its list of ISPs looking for
one whose ``ip'' value matches 192.18.135.11 for every bit that is set
in the ``netmask''. It will then dial the first match it finds. This
feature is useful when eznet is started from /sbin/request-route and
you need to dial different ISPs depending on the IP number of the
machine you want to talk to.
initN You can have up to 10 extra modem initialization strings named
init0, init1, ...,init9. A common option is:
eznet change 0 init0=atz
expectN & replyN For more complex login procedures, you may need to
specify additional prompt strings and replies. You can enter up to 10
additional prompt strings that will respond with the corresponding
reply. For example:
eznet change 0 expect0=SERVICE: reply0=PPP
A carriage return is automatically added to every reply string.
pppd If your pppd is installed someplace other than /usr/sbin/pppd
then you can enter an alternative name here.
diald If you have diald installed as something other than
/usr/sbin/diald then enter its name using this parameter.
local This option can be used to specify the local IP number required
by diald. The default value is 127.0.0.100.
remote This option can be used to specify the remote IP number
required by diald. The default value is 127.0.0.101.
mtu This option sets the maximum length of a transmitted packet over
the PPP link. Longer packets are fragmented. The default is 552.
mru This option sets the maximum length of a received packet over the
PPP link. Longer packets are fragmented. The default is 552.
autostart If this option is "yes" (its default) then PPP will
automatically begin its protocol negotiation with the other end if
there is no response over the serial link for 8 seconds. If this
option is "no", then PPP will not start on the local end until PPP
packets are seen coming from the remote end.
routeN Where N is any digit between 0 and 9, this option causes a
route to be setup to the specified network after PPPD connects.
dialtimeout This is the number of seconds that eznet will wait for a
CONNECT message from the modem after issuing the dialing commands. The
default is now 60 seconds.
chattimeout This is the number of seconds that eznet will wait for
replies to commands while doing the login chat sequence. The default
is 3 seconds.
Installation
The eznet program is completely contained in a single C source file
named ``eznet.c''. You can compile and install it as follows:
gcc -o /usr/bin/eznet -O eznet.c
chown root.root /usr/bin/eznet
chmod 04755 /usr/bin/eznet
The eznet executable must reside in the directory /usr/bin. It won't
work if you install it someplace else. If you need to install eznet
elsewhere, change the value of the SELF #define near the top of the
source file and recompile.
Eznet does not need to be suid. But if it isn't, then only root will
be able to initiate a PPP connection. Eznet takes care to drop its
root privileges as soon as possible so it should be fairly safe as a
suid program. It is certainly easier to use that way.
Copyright And License
Eznet is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your
option) any later version.
Eznet is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
Author Contact Information
Eznet is written and maintained by D. Richard Hipp. If you have
questions or comments, send him e-mail at drh@acm.org. The eznet home
page is http://www.hwaci.com/sw/eznet/.