XTELD(8) | System Manager's Manual | XTELD(8) |
xteld - démon de l'émulateur Minitel XTEL
xteld [-H] [-v]
xteld est lancé par le super-démon inetd en cas d'utilisation de l'émulateur minitel xtel . Si XTEL n'utilise pas le réseau (option NO_NETWORK à la compilation), le démon xteld doit être lancé lors de l'initialisation du système.
-v
Affiche la version et quitte
xteld utilise le fichier "/usr/X11R6/lib/X11/xtel/xtel.services" (sous Xfree86) qui contient la liste des services disponibles sous la forme :
[Nom du device,] Nom de l'entrée du menu , Numero de téléphone du service[:nom_service] [, login1[:login2...] ]
à raison d'une ligne par service. Le premier champ (nom du device) définit un nom symbolique (ou device) pour les connexions à un standard donné (V.23, V32bis, TVR). Chaque device est associé à une configuration particulière de la ligne physique (vitesse, nombre de bits, parité) qui sera définie dans xtel.lignes. Si le premier champ a la valeur @pipe, cela signifie que l'accès au service se fait au travers d'une commande locale (dont le chemin absolu est precisé dans le dernier champ) par pipe Unix. On peut ajouter à cette commande le flag :crlf qui permet la conversion de CR en LF.
Si le premier champ a la valeur @tcp, l'accès au service se fait avec une connexion TCP. Les champs suivant contiennent respectivement le nom de l'entrée du menu puis le nom Internet du serveur puis le numéro de port ou le nom de service TCP (séparé du nom Internet par le caractère ':')
Si le premier champ a la valeur @iminitel, l'accès au service se fait avec une connexion PPP au numéro 3622. Les champs suivant contiennent respectivement le nom de l'entrée du menu puis le nom du script de connexion puis le numéro de port ou le nom de service TCP (séparé du nom Internet par le caractère ':')
Ce premier champ est optionnel ce qui permet en particulier de supporter l'ancienne syntaxe. A ce moment la, les fichier xtel.services et xtel.lignes ne doivent pas utiliser la nouvelle syntaxe (pas de mélange possible).
Si le dernier champ est absent, la connexion au service est permise à tous les utilisateurs, sinon elle est limitée à ceux dont les noms de login sont spécifiés sous la forme 'user@machine'. Si la machine n'est pas spécifiée, tous les utilisateurs portant le nom 'user' sont autorisés. La syntaxe '@machine' permet d'autoriser tous les utilisateur d'une machine donnée. Le nom d'utilisateur est ignoré dans le cas des connexion Window$ (HyperTerminal). On peut utiliser des caractères 8 bits pour le nom du service (1er champ), si le caractère ne peut être saisi directement, on pourra le représenter sous la forme d'un code octal \xyz . Si troisième champ est de la forme numéro:nom_service, cela signifie que l'accès est limité au service donné (ex: 3615:METEO).
Si les champs séparés pas des ':' sont de la forme :
user1=delaicela signifie que l'utilisateur pourra rester connecté au service pendant la durée précisée par le delai (en secondes). Si le nom d'utilisateur n'est pas présent, ce delai est alors valable pour tous les utilisateurs. Un délai de ce type doit être precisé en avant la définition des utilisateurs autorisés.
Exemple :
v23,Annuaire électronique,3611,=180 v23,Télétel1,3613 v23,Télétel2,3614 tvr,Télétel TVR,3623 v23,Télétel3,3615,=60,user1@linuxbox:user2=120:user3:@pcwin @pipe,Accès ondee,/usr/bin/telnet ondee @pipe:crlf,Accès sidonie,/usr/bin/telnet sidonie @tcp,Accès Minitel TCP/IP,minitel.fr:513 @iminitel,Accès I-Minitel,connect_iminitel:7516 v23,Direct,0
Dans cet exemple le service, le service d'Annuaire est autorisé à tous pendant 180 secondes (tant que c'est gratuit !). Le Télétel3 est accessible à tous les utilisateurs pendant 60 secondes, l'utilisateur user2 y a droit pendant 120 secondes. Les connexions provenant de "linuxbox" ne sont autorisées qu'à "user1". Tous les utilisateurs de "pcwin" ont droit au service.
La dernière ligne définit une possibilité de numéro de téléphone direct (mot-clé Direct), l'utilisateur saisira directement le numéro lors de la composition dans xtel.
On utilise également le fichier "/usr/X11R6/lib/X11/xtel/xtel.lignes" qui définit les lignes disponibles et la procédure de composition. Ce fichier est de la forme :
[Nom du device,] Nom de la ligne[:rtscts] , [Vitesse en bauds,] [Nombre de bits,] [Parité,] chat-script avec le modem , delai maxi de réponse du modem en secondes [,temporisation entre commandes en millisecondes.]
Et ce pour chaque ligne utilisable. Si le premier champs (nom du device) est répété sur plusieurs lignes, cela signifie que plusieurs modem physiques sont associés au device logique. Le serveur utilisera alors automatiquement le premier modem disponible.
Si la ligne commence par le caractère "/", on considère que l'ancienne syntaxe est utilisée. On peut ajouter au nom de la ligne la chaine :rtscts qui précise que cette ligne doit être configurée en controle de flux hardware RTS/CTS. Cette configuration est généralement utile si la vitesse de ligne est supérieure ou égale a 9600 (cas du TVR par exemple). On doit alors configurer le modem (dans le chat-script) afin qu'il gère correctement le RTS/CTS (en général par la commande AT&K3 sur un modem compatible HAYES).
Les valeurs de vitesse possibles sont : 50, 75 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, les valeurs de tailles de caractères sont : 5, 6, 7, 8, les valeurs de parité sont : E, O, N.
Un "chat-script" est une suite de paires chaine_emise/chaine_attendu entre un processus et un modem (voir UUCP).
Si le chat-script est remplace par la chaine minitel2, la ligne est definie comme utilisant un Minitel 2 comme modem.
Si le chat-script est remplace par la chaine minitel1, la ligne est définie comme utilisant un Minitel 1/1B comme modem. A ce moment la, le menu "Services" ne sera pas affiché dans xtel et l'utilisateur devra composer son numéro à la main (le M1/M1B ne sachant théoriquement pas composer de numéro).
Le champ temporisation est optionnel et peut contenir une durée (en ms) d'attente entre l'envoi de chaque commande au modem dans la phase d'initialisation. Il permet un meilleur support de certains anciens modems qui n'acceptaient pas de recevoir un flot de commande trop rapide. S'il n'est pas précisé, aucune temporisation n'est effectuée (c'est le comportement standard de xteld).
Exemples :
/dev/cua0,\dat\r OK atdt\T\r CONNECT,30 v23,/dev/cua1,1200,7,E,\dat\r OK atdt\T\r CONNECT,30,250 tvr,/dev/cua2:rtscts,9600,8,N,\dat\r OK atdt\T\r CONNECT,30
Ce fichier définit la ligne /dev/cua0 sur laquelle on déroule le chat-script suivant :
\d On attend 1 s pour laisser le modem souffler... at\r OK On emet at + CR et on attend OK at\T\r CONNECT On emet at + le numero + CR et on attend CONNECT
Le délai de reponse du modem est de 30 secondes maxi. Si le délai est dépassé, xteld essayera sur la ligne suivante du fichier jusqu'à un succès ou la fin du fichier.
La ligne v23 déclare aussi une temporisation de 250ms entre chaque commande transmise au modem.
Remarques :
Le format du chat-script accepte les séquences suivantes :
\a BELL \n envoie LF \r envoie CR \t envoie VT \d tempo de 1 s \T envoie le numéro de téléphone \abc envoie le caractère codé en DECIMAL par abc (3 digits obligatoires) \xab envoie le caractère codé en HEXADECIMAL par ab (2 digits)
Pour certains modems, il faudra OBLIGATOIREMENT préciser une tempo \d avant la premier commande at.
Dans le cas d'un fonctionnement en réseau, xteld utilise à priori le port TCP numéro 1313 défini dans le fichier "/etc/services"
xtel inetd
/usr/X11R6/lib/X11/xtel/xtel.lignes /usr/X11R6/lib/X11/xtel/xtel.services /usr/X11R6/lib/X11/xtel/xtel.log /etc/services /etc/inetd.conf
Copyright 1991-98, LECTRA-SYSTEMES et Pierre Ficheux
Pierre FICHEUX LECTRA-SYSTEMES ZI Marticot 33610 Cestas FRANCE
Lectra-Systemes | 4.2 Berkeley Distribution |