CALLBACK

Section: User Commands (1)
Updated: $Revision: 1.5 $
Index Return to Main Contents
 

NAME

callback - accept call, call back, then accept login  

SYNOPSIS

callback [ type [ tty ] ]  

COPYRIGHT

Copyright © 1990 Howard Lee Gayle  

DESCRIPTION

callback allows a user to dial up a host, have the host place a call back to the user, and then initiate a login session. It runs after getty(8) and before login(1). When the user first dials up, getty presents the usual login: prompt. The user can cycle through various line speeds in the usual way. Next, callback prompts for a symbolic telephone number. The prompt is the line speed, given twice. On receiving a known symbolic telephone number, callback writes "BYE bye," disconnects the call, waits a specified time (default 10 seconds), dials the real telephone number corresponding to the given symbolic number, and then waits for connection. If a modem answers, callback writes the line speed, the number of times it tried to dial the telephone number, and the line speed again. It then starts up login, which prompts for the password as usual. If a known symbolic telephone number is not supplied within a specified time, or a connection with a modem is not established within a specified time, callback times out. The default timeout time is two minutes.

callback has the same arguments as getty(8).  

EXAMPLE

This example shows a session with a Hayes-compatible modem. The symbolic telephone number is "hovel."
   atdt9999999

   CONNECT 2400

   hasse login: howard
   2400 2400hovel
   BYE bye

   NO CARRIER

   RING

   CONNECT 2400

   2400 1 2400
   Password:
 

FILES

/dev/ttyd* - dialup ports
/dev/cua* - dial-out ports
/etc/ttytab - tells init to run callback on dialup lines
./bin/callback - run by init
./bin/getty-cb - special getty that execs /bin/.cb0 instead of login
/bin/.cb0 - symbolic link to ./bin/callback0
./bin/callback0 - run by getty-cb
/etc/local/callback/control/ttyd* - symbolic-to-real phone numbers
/etc/local/callback/log/ttyd* - log files
/etc/local/callback/state/ttyd* - state files

In control files, comments start with a semicolon (;) and continue to the end of the line. Once comments, blank lines, lines containing only comments, and leading and trailing white space have been stripped, each line of a control file should consist of one symbolic telephone number followed by an at sign (@) followed by a line speed followed by white space followed by a string to command the modem to dial the desired real telephone number. For example:

   ; Shared control file for all lines.
   hovel@2400 atdt1234567 ; Howard's hovel.
   hovel@1200 atdt1234567 ; Same at 1200 bit/sec.
When callback searches the control file, it appends an at sign and the line speed to the symbolic telephone number given by the user. This makes it possible to send different modem commands for each line speed.

Each tty can have its own control file, but if the control files of several different ttys are identical, they can be links.  

SEE ALSO

login(1), ttytab(5), getty(8).  

DIAGNOSTICS

"NO no" indicates an unknown symbolic telephone number. A time delay of a few seconds is taken to discourage brute-force attacks.  

BUGS

For more security, it might be a good idea to turn off echo when reading the symbolic telephone number. It might also be a good idea to store symbolic telephone numbers in encrypted form.

There ought to be a secure way to add a new symbolic telephone number and its corresponding real telephone number without logging in. This would be useful when travelling. An approach based on one-time encryption should solve the problem. The user would first encrypt the real telephone number with a one-time pad corresponding to a special symbolic telephone number, e.g. by treating the telephone number as a decimal number and adding another number to it. This can be done by hand. The user then dials up and responds to the symbolic telephone number prompt with a special keyword. callback then prompts for the symbolic telephone number and the encrypted real telephone number (twice), decrypts it, and stores it in the control file.

callback always calls back on the line used for the incoming call. If multiple lines are available, it should be possible to place the callback on a different line. This greatly reduces the opportunities for spoofing.  

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 1, as published by the Free Software Foundation.

This program 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.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  

AUTHOR

Howard Gayle, TN/ETX/TT/HL, Ericsson Telecom AB, S-126 25 Stockholm, Sweden, howard@ericsson.se, uunet!ericsson.se!howard, Phone: +46 8 719 5565, FAX: +46 8 719 9598, Telex: 14910 ERIC S


 

Index

NAME
SYNOPSIS
COPYRIGHT
DESCRIPTION
EXAMPLE
FILES
SEE ALSO
DIAGNOSTICS
BUGS
LICENSE
AUTHOR

This document was created by man2html, using the manual pages.
Time: 07:00:27 GMT, December 12, 2024