modem callback ?

Krištof Petr Petr na Kristof.CZ
Pátek Únor 26 09:55:49 CET 1999


Petr Skoda wrote:

> Omlouvam se, pokud je to FAQ, ale zatim jsem nic nenasel -
>
> Zkousel nekdo implemetovat dial-up server (nejlepe ppp) tak, aby po
> kontaktu zpetne volal vas a pak teprve otevrel spojeni ?
> Jde o to aby platila hovor strana na niz je modem pripojen (typicky v
> praci) a ne tam odkud volam (treba u znamych na navsteve ;-)

[..]

> Prosim o co nejpolopatistictejsi popis jak to zreaizovat
> Diky

Jestli uz mate funkcni term. server na kterem jede mgetty+AutoPPP,
tak je to zalezitost asi 60 vterin (podle toho zda pisete 1 nebo 2 prsty).

Bud pridate do login.config radek:

callback        root    root    /usr/sbin/callback

nebo zajistite spusteni callback-u pri nalogovani (shell, profile,...)

Vytvorite soubor callback.config

dialout-devices ttyS2:ttyS3
retry-time 30
max-time 120
dial-prefix ATDT

A to je vsechno.

Skripty pro klienty uz jsou zalezitost pro domaciho kutila.

Doporucuji standardni postup, t.j. precist dokumentaci, podivat
se na archivy mailing-listu k mgetty. (Ne by tam bylo neco
o callbacku, ale clovek alespon pochopi filozofii programu)

U NT-ckovyho klienta jsou jakysi potize s konci radku,
pri nejhorsim pomuze patch.

        Petr




--- callback.c.orig     Thu Oct 30 19:36:24 1997
+++ callback.c  Thu Feb 11 12:48:43 1999
@@ -419,7 +419,7 @@

     TIO        tio;
     int fd;
-    int i;
+    int i, stdin_c, flag_c;

     time_t     end_time;
     action_t action;
@@ -472,7 +472,17 @@
     {
        printf( "Telephone number for callback: " );
        /*!!! FIXME: accept only proper telephone numbers */
-       fgets( phonebuf, 30, stdin );
+        /* OK temporary fixed :-) */
+       for(flag_c=0,i=0; i<30;) {
+               stdin_c = fgetc(stdin);
+               if((stdin_c == '\n') || (stdin_c == '\r')) {
+                       if(flag_c) break; else continue;
+               }
+               flag_c = 1;
+               phonebuf[i++] = stdin_c;
+       }
+       phonebuf[i] = '\0';
+

        t_count = 1;
        t_numbers = &t_help;





Další informace o konferenci Linux