auto_ppp concern

David Lane (dlane@www.powell.k12.ky.us)
Fri, 24 Jan 1997 13:22:33 +0100


I am very pleased that mgetty now supports auto_ppp. My Win95 dial-up
users are also happy. Many thanks to Gert Doering.

I do have one concern. Dial-Up_Utils_2.27 is unable to record who is
using the ttyS lines. I have used this tool to limit the modem time of
my users. They are welcome to telnet in without restiction, but my
modem pool is *much* smaller than my user population. When a user
connects with auto_ppp, their ttyS line appears to be registered to
a_ppp in the mgetty log, utmp, and wtmp file. When auto_ppp is not
used, the ttyS line is registered to their ID. Dial-Up_Utils_2.27
depends on this ID registration to track system usage and time limits.
The bottom line is that an auto_ppp user is now able to hog a modem
all day and locked-up sessions do not automatically time-out.

Any ideas?

MGETTY LOG
------------------------------------------------------------
01/23 01:00:06 yS4  mgetty: official release 1.0.0
01/23 01:00:06 yS4  check for lockfiles
01/23 01:00:06 yS4  locking the line
01/23 01:00:06 yS4  can't get group 'modem': No such file or directory
01/23 01:00:07 yS4  lowering DTR to reset Modem
01/23 01:00:07 yS4  send: \dATQ0V1H0[0d]
01/23 01:00:08 yS4  waiting for ``OK'' ** found **
01/23 01:00:08 yS4  send: ATS0=0Q0&D3&C1[0d]
01/23 01:00:08 yS4  waiting for ``OK'' ** found **
01/23 01:00:08 yS4  waiting...
01/23 02:00:08 yS4  checking if modem is still alive
01/23 02:00:08 yS4  mdm_send: 'AT' -> OK
01/23 02:00:09 yS4  waiting...
01/23 03:00:09 yS4  checking if modem is still alive
01/23 03:00:09 yS4  mdm_send: 'AT' -> OK
01/23 03:00:09 yS4  waiting...
01/23 04:00:09 yS4  checking if modem is still alive
01/23 04:00:09 yS4  mdm_send: 'AT' -> OK
01/23 04:00:10 yS4  waiting...
01/23 04:18:14 yS4  waiting for ``RING'' ** found **
01/23 04:18:14 yS4  send: ATA[0d]
01/23 04:18:14 yS4  waiting for ``CONNECT'' ** found **
01/23 04:18:26 yS4  send:
01/23 04:18:26 yS4  waiting for ``
'' ** found **
01/23 04:18:27 ##### data dev=ttyS4, pid=13870, caller=,
conn='115200', name='',
cmd='/bin/login', user='bonita'
 
--
01/23 05:03:51 yS4  mgetty: official release 1.0.0
01/23 05:03:51 yS4  check for lockfiles
01/23 05:03:51 yS4  locking the line
01/23 05:03:51 yS4  can't get group 'modem': No such file or directory
01/23 05:03:52 yS4  lowering DTR to reset Modem
01/23 05:03:52 yS4  send: \dATQ0V1H0[0d]
01/23 05:03:53 yS4  waiting for ``OK'' ** found **
01/23 05:03:53 yS4  send: ATS0=0Q0&D3&C1[0d]
01/23 05:03:53 yS4  waiting for ``OK'' ** found **
01/23 05:03:53 yS4  waiting...
01/23 06:03:54 yS4  checking if modem is still alive
01/23 06:03:54 yS4  mdm_send: 'AT' -> OK
01/23 06:03:54 yS4  waiting...
01/23 06:56:39 yS4  waiting for ``RING'' ** found **
01/23 06:56:39 yS4  send: ATA[0d]
 01/23 06:56:39 yS4  waiting for ``CONNECT'' ** found **
01/23 06:56:50 yS4  send:
01/23 06:56:50 yS4  waiting for ``
'' ** found **
01/23 06:56:52 ##### data dev=ttyS4, pid=13971, caller=,
conn='115200', name='',
cmd='/usr/local/bin/slirp', user='/AutoPPP/'

WHAT OUTPUT
---------------------------------------------------------------
  7:04am  up 7 days, 22:15,  3 users,  load average: 0.10, 0.07, 0.02
User     tty      From              login@  idle   JCPU   PCPU  what
a_ppp    ttyS4    115200            6:56am                      -
mdepee   ttyp0    Cust84.Max10.Ind  7:02am            1         w
dlane    ttyp1    Cust84.Max10.Ind  7:03am                      -bash
 
MGETTY LOGIN CONFIG (I use SLIRP for convenience and to conserve IPs)
---------------------------------------------------------------------------
# login.config
#
# This is a sample "login dispatcher" configuration file for mgetty
#
# Format:
#       username userid utmp_entry login_program [arguments]
#
# Meaning:
#       for a "username" entered at mgettys login: prompt, call
#       "login_program" with [arguments], with the uid set to
"userid",
#       and a USER_PROCESS utmp entry with ut_user = "utmp_entry"
#
# username may be prefixed / suffixed by "*" (wildcard)
#
# userid is a valid user name from /etc/passwd, or "-" to not set
#  a login user id and keep the uid/euid root (needed for /bin/login)
#
# utmp_entry is what will appear in the "who" listing. Use "-" to not
#  set an utmp entry (a must for /bin/login), use "@" to set it to the
#  username entered. Maximum length is 8 characters.
#
# login_program is the program that will be exec()ed, with the
arguments
#  passed in [arguments]. A "@" in the arguments will be replaced with
the
#  username entered. Warning: if no "@" is given, the login_program
has
#  no way to know what user name the user entered.
#
#
# SAMPLES:
# Use this one with my Taylor-UUCP and Taylor-UUCP passwd files.
#  (Big advantage: tuucp can use the same passwd file for serial
dial-in
#   and tcp dial-in [uucico running as in.uucpd]). Works from 1.05 up.
#
#U*     uucp    @       /usr/lib/uucp/uucico -l -u @
 
#
# Use this one for fido calls (login name /FIDO/ is handled specially)
#
# You need Eugene Crosser's "ifmail" package for this to work.
#  mgetty has to be compiled with "-DFIDO", otherwise a fido call
won't
#  be detected.
#
/FIDO/  uucp    fido    /usr/local/lib/fnet/ifcico @
 
#
# Automatic PPP startup on receipt of LCP configure request.
#  mgetty has to be compiled with "-DAUTO_PPP" for this to work.
#  Warning: Case is significant, AUTOPPP or autoppp won't work!
#  Consult the "pppd" man page to find pppd options that work for you.
#
#/AutoPPP/ -    a_ppp   /usr/sbin/pppd auth -chap +pap login kdebug 7
debug
/AutoPPP/ -   a_ppp   /usr/local/bin/slirp -P
 
#
#
# An example where no login name in the argument list is desired:
#  automatically telnetting to machine "smarty" for a given login name
#
#telnet-smarty  gast    telnet  /usr/bin/telnet -8 smarty
#
# This is the "standard" behaviour - *dont* set a userid or utmp
#  entry here, otherwise /bin/login will fail!
#  This entry isn't really necessary: if it's missing, the built-in
#  default will do exactly this.
#
*       -       -       /bin/login @