NOM

ifcico - Établit des connections avec d'autres noeuds FTN.

SYNOPSIS

ifcico [-h] [-x<verbosité>] [-I<fichier>] [-r0|1] [-n<téléphone>] [-l<périphérique-terminal>] noeud
ifcico [-h] [-x<verbosité>] [-I<fichier>] [-r0|1] [-t0|1] -a<addresse internet>[:<porte>] noeud
ifcico tsync | yoohoo | **EMSI_INQC816
 
(ceci implique le mode esclave)

DESCRIPTION

Ifcico signifie "Internet - Fidonet Copy In / Copy Out" (Internet - copies entrée/sortie pour Fidonet), c'est un agent de transport de courrier compatible avec FidoNet(r). Actuellement il supporte les protocoles FTS-0001, YooHoo/2U2 et EMSI, ainsi que Xmodem (non testé), Telink (non testé), Modem7 (non testé), SEAlink avec "overdrive" et reprise en cas d'erreurs, les requêtes et demandes de mise à jour de fichiers selon le protocole "Bark", et les protocoles "WaZOO" : DietIFNA, Zmodem pur (aussi nommé ZedZip, le flag EMSI "ZMO"), ZedZap et Hydra, les requêtes et demandes de mise à jour de fichiers WaZOO (il faut le flag XA dans la liste des noeuds). Les requêtes protégées par mot de passe ne sont pas implémentées. Il y a des plans pour l'implémentation du protocole Janus à l'avenir.
Il y a aussi un protocole particulier, optimisé pour l'utilisation sur une connection TCP/IP, qui est une contribution de Stanislav Voronyi <[email protected]>. Ce protocole est identifié par le code EMSI "TCP" (qui n'est pas enregistré officiellement).
La structure du répertoire du courrier sortant est compatible avec BinkleyTerm, avec des sous-répertoires pour les domaines et les points (entièrement 5D). Il y a des répertoires entrants séparés pour les noeuds "listés" et "protégés", utilisés respectivement pour les appels entrants de noeuds présents dans les listes de noeuds d'une part, et de noeuds ayant un mot de passe assigné d'autre part. Les fichiers reçus pendant un appel sortant sont toujours placés dans le répertoire "protégé". (Seul le répertoire "protégé" est pris en considération par ifunpack, par défaut).
Les requêtes de fichier pour les noms "magiques" sont traitées par des fichiers exécutables dans le répertoire "magic". Si une requête arrive pour un fichier dont le nom correspond à un fichier de ce répertoire, le programme est exécuté et sont flot de sortie (stdout) est envoyé au demandeur. L'adresse complète de celui-ci, sous la forme "Jean Dupont of 2:345/67.89" est transmise au programme dans la ligne de commande. Voir "misc/FILES" pour un exemple de processeur de requêtes magiques. Les fichiers non exécutables dans le répertoire "magic" sont des "références". Si une requête arrive pour un fichier portant ce nom, le fichier est lu ligne par ligne, et la requête est réexécutée pour le nom de fichier trouvé dans chaque ligne. On autorise une récursivité jusqu'à 5 niveaux.
Pour lancer ifcico en mode "maître", vous devez régler les permissions des périphériques nécessaires à l'appel pour permettre à ifcico de les lire et d'y écrire, _et_ également le répertoire où sont créés vos sémaphores uucp (habituellement /var/lock/).
Pour faire travailler ifcico en mode réponse, vous aurez besoin d'un getty connaissant FTN. Le "standard" Linux getty_ps 2.0.7d, et le mgetty .17 de Gert Doering (du paquetage mgetty+sendfax) et les versions ultérieures supportent Fidonet. Le getty doit distinguer les appels entrant de type Fidonet, et démarrer ifcico avec un paramètre:
FTS-0001 call: "ifcico tsync"
FTS-0006 call: "ifcico yoohoo"
EMSI call: "ifcico **EMSI_....."
(dans ce dernier cas le paquet EMSI reçu doit être passé sans le CR final).
Si vous utilisez getty_ps, n'oubliez pas de créer le fichier /etc/default/uugetty, avec un contenu similaire à ce qui suit (sensible à la casse) :
FIDO=/usr/local/lib/fnet/ifcico
 
EMSI=yes
Lorsqu'on l'appelle sans paramètres, ifcico tourne en mode esclave et détermine le type de session entrante lui-même. Ce mode peut être utilisé quand ifcico tourne en démon internet ou ISDN.
Pour qu'ifcico parcoure le courrier en attente de sortie et qu'il fasse les appels nécessaires, démarrez-le avec l'option "-r1". Pour forcer le polling de noeuds spécifiques, indiquez ces noeuds dans la ligne de commande (les adresses doivent être dans la notation domaniale, par exemple "ifcico f23.n5020 f155.n5020"). Ceci implique le mode "maître" (-r1). Notez que les paquets et fichiers en "hold", ainsi que les requêtes de fichiers, ne provoquent pas le poll d'un noeud.
Le répertoire entrant est créé automatiquement s'il n'existe pas, ainsi que le sous-répertoire "tmp". Ce dernier est utilisé pendant la réception de fichiers. Après une réception sans erreur, les fichiers sont déplacés dans le répertoire d'entrée. Les répertoires "protinbound" et "listinbound" reçoivent respectivement les fichiers reçus pendant les sessions protégées par mot de passe et d'autre part ceux des sessions avec des noeuds présents dans les listes de noeuds.
Ifcico peut utiliser les listes de noeuds en format texte dans leur forme d'origine (MS/DOS) avec des <CR><LF>, ainsi que dans la forme UNIX, avec seulement des <LF>. Quand vous recevez une nouvelle liste de noeuds, ou si vous modifiez les instructions "nodelist" dans le fichier de configuration, vous devez reconstruire l'index avec le programme "ifindex".
Pour les appels sortants, des fichiers d'état sont créés pour les noeuds, avec l'extension ".sts". Ces fichiers sont en format ASCII et contiennent trois nombres décimaux dans une seule ligne:
heure essais code
heure
 
c'est l'heure de la dernière tentative d'appel (les tentatives avortées avec le message "retry time not reached" ne comptent pas). C'est un "unsigned long" représentant le nombre de secondes depuis l'"epoch".
essais
 
c'est le nombre de tentatives d'appel consécutives qui se sont terminées par "call failed" ou "could not establish session". Ce champ est mis à zéro lorsque l'appel réussit.
code
 
c'est le code retour du dernier appel.
le programme nlpatch compile une nouvelle version de la liste des noeuds à partir de l'ancienne liste et d'un fichier "nodediff".

OPTIONS

-h
 
Affiche un court message d'aide
-x Verbosité
 
Spécifie le niveau de messages de débogage. Verbosité peut être un nombre de 0 à 32 pour 'allumer' les bits de 1 à la valeur spécifiée, ou bien des lettres (avec 'a' = bit 1, 'b' = bit 2, etc. jusqu'à 'z' = bit 26.
-I Fichier
 
Utilise le fichier de configuration spécifique Fichier.
-r Role
 
1 - maître, 0 - esclave. Le défaut est 0 (mode esclave) si on spécifie un noeud ; sinon le défaut est 1 (mode maître).
-a Adresse_Internet
 
Donne une adresse internet Adresse_Internet pour établir une connection via TCP/IP. Une porte spécifique peut être demandée ( -a Adresse_Internet:Porte ). La valeur par défaut est celle donnée pour le service fido dans /etc/services.
-t Mode
 
0 - TCP, 1 - Telnet-Vmodem. Indique le mode à utiliser pour les connections TCP/IP, le défaut étant le mode TCP (-t0).
-n Numéro de téléphone
 

Pour les connections par modem, ce paramètre remplace le numéro donné dans la nodelist.
-l PériphériqueTTY
 

Pour les connections par modem, ceci remplace la valeur du TTY spécifiée dans le fichier config.
Noeud
 
Ceci est l'adresse FTN du noeud à appeller. Cette adresse doit être au format "[pNN.]fNN.nNN[.zNN[.domain]]".
tsync | yoohoo | **EMSI_INQC816
 
Ces valeurs sont typiquement données par un getty compatible FTN ( mgetty ou getty_ps ), elles déterminent le type de protocole FTN à utiliser. Elles impliquent le mode esclave.

CODES DE RETOUR

ifcico renvoie le code retour maximal de tous les appels qu'il a tentés. Les codes sont les suivants:
0 Appel réussi
1 Port d'appel indisponible
2 Numérotation avortée (pas de "CONNECT" ou erreur lors de la connection TCP)
3 Impossible de réinitialiser le modem (pas de "OK")
4 Système bloqué
5 Temps de réaissai non atteint
6 Erreur fatale lors de la recherche dans la liste des noeuds
7 Appel interdit par des options de configuration
8 Numéro de téléphone non disponible
9 Pas de port convenable défini
10 Inutilisé
>10 Erreurs lors des sessions (pas encore définies)
30 Impossible d'établir la session

FICHIERS

$IFLIBDIR/config
Fichier de configuration actif.
/etc/services
Détermine le numéro de port par defaut pour fido, le port utilisé par ifcico pour les connections TCP.
nodelist.???
Une liste des noeuds dans un réseau FTN. ifcico l'utilise en la compilant avec ifindex
$BINDIR/ifindex
compile une liste de noeuds afin que ifcico puisse l'utiliser.
$BINDIR/ifstat
montre les statistiques concernant les appels, etc.

VOIR AUSSI

ifmail(8), ifpack(8), ifunpack(8), iftoss(8), mgetty(8), getty(1)

REMERCIEMENTS

Certaines idées ont été reprises au paquetage Fidogate/RFmail, écrit par Teemu Torma et hacké par Martin Junius.
 
Une partie du code TCP a été repris de la version JE, écrite par Tsuneo Tanaka <[email protected]>
 
Support du protocole Hydra par Christof Meerwald <[email protected]>
© 1993, 1994 Eugene Crosser.
Ceci est un logiciel libre. Vous pouvez en faire ce que vous voulez du moment que cette notice de copyright est laissée intacte.
Page de manuel écrite par Pablo Saratxaga <[email protected]>
 
Traduction française de la page de manuel par Luc Moreau ©1997.

Recommended readings

Pages related to ifcico you should read also: