CallBack

Jan Kasprzak kas na informatics.muni.cz
Úterý Červen 9 09:52:13 CEST 1998


cech pise:
: 
: Mam nastaveny callback v linuxu....
: Kdyz pustim soubor callback a zadam cislo a snad i dokonce jede...
: Potrebuji ted nastavit W95 na prijem....
: Jak postupovat? (jak nastavit W95)....

	:-) To jste asi ve spatne konferenci ...

	Ale vazne. Napise se standardni login script typu:

... ogin: <logname> ssword: <heslo> <prompt_s_dotazem_na_cislo> 12345678
\d+++\dATH0 OK(nebo NO CARRIER, podle typu modemu) RING ATA CONNECT

	Detaily si nepamatuju, ale ve tri_roky_starych_woknech jsou podobne,
jako v Linuxu. Nejdulezitejsi vec u woken je, ze se musi nechat nahore
signal DCD, jinak po ukonceni prvniho spojeni wokna zahlasi chybu.
To se udela prikazem AT&C0&W (myslim - podivejte se do manualu k prislusnemu
typu modemu).

: Jake reseni je nejlepsi na strane linuxu?

	Existuje samostatny program callback, ale ja to resim (zhruba receno)
tak, ze na callback vyrobim pseudo-uzivatele, kteri jsou ve skupine uucp,
a jako shell jim nastavim program, ktery se zepta na cislo, a pak pusti
na pozadi nejaky callback skript a skonci. Callback skript zamce prislusny
modem (pomoci zamku ve /var/lock/LCK..<linka>) a zavola zpet. A pak pusti
uzivateli pppd.

	Zamykani v shellu vypada asi takto:

sleep $FIRST_DELAY
set -C
while true
do
        for LINE in $LINES
        do
                if printf "%10d\n" $$ >/var/lock/LCK..$LINE 2>|/dev/null
                then break 2
                fi
                echo "device $LINE is locked." >&2
#               LOCKING_PROCESS=`cat /var/lock/LCK..$LINE`
#               test -d /proc/$LOCKING_PROCESS || \
#                       rm -f /var/lock/LCK..$LINE && \
#                        echo "Removing lock file LCK..$LINE">&2
        done
        sleep $DELAY
        MAX_ATTEMPTS=`expr $MAX_ATTEMPTS - 1`
        [ "$MAX_ATTEMPTS" -le 0 ] && exit 1
done

: (callback se musi pouste jako root?)

	Nemusi - staci mit pristupova prava k modemu. Ale pppd se musi
poustet jako root. To resim tak, ze callback-uzivatele jsou ve skupine
uucp, a pppd ma prava 4750 root.uucp.

-Yenya

--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\             Czech Linux Homepage:  http://www.linux.cz/              ///
If there are race conditions in programs fix them. The "my programs suck fix
something else" mentality leads you to things like Java.         -- Alan Cox


Další informace o konferenci Linux