bionic (8) ifcico.8.gz

Provided by: ifcico_2.14tx8.10-23.1build1_amd64 bug

NAME

       ifcico - Establish connections with other FTN nodes.

SYNOPSIS

       ifcico [-h] [-x<verbosity>] [-I<file>] [-r0|1] [-n<phone>] [-l<ttydevice>] node

       ifcico [-h] [-x<verbosity>] [-I<file>] [-r0|1] [-t0|1] -a<inetaddr>[:<port>] node

       ifcico tsync | yoohoo | **EMSI_INQC816

       (this implies slave mode)

DESCRIPTION

       Ifcico  stands  for  "Internet  -  Fidonet Copy In / Copy Out", this is a FidoNet(r) compatible transport
       agent.  Currently it supports FTS-0001, YooHoo/2U2  and  EMSI  handshake  protocols,  Xmodem  (untested),
       Telink  (untested),  Modem7  (untested),  SEAlink  w/overdrive  and  crash recovery, Bark file and update
       requests, WaZOO protocols: DietIFNA, plain Zmodem (aka ZedZip, EMSI flag "ZMO"), ZedZap and Hydra,  WaZOO
       file  and  update requests (nodelist flag should be XA). Password protected requests are not implemented.
       There are plans to implement Janus protocol in the future.

       There is also a special protocol optimized to  use  over  TCP/IP  connection,  contributed  by  Stanislav
       Voronyi <stas@uanet.kharkov.ua>, it is identified by EMSI proto code TCP (not registered).

       Outbound  directory structure is BinkleyTerm compatible, with domains and point subdirectories (full 5d).
       There are separate "listed" and "protected" inbound directories for the incoming sessions with the  nodes
       present  in  the  nodelist(s)  and with nodes that have a password assigned respectively.  Files received
       during an outbound session are always put into the "protected" directory. (Only "protected" directory  is
       looked up by ifunpack by default).

       "Magic" file request processors are executable files placed in the "magic" directory.  If request is made
       for a file with matching name, the executable from the "magic" directory is run, and its stdout  sent  to
       the  requester.   Full  requester's  address,  in  the  form  "John Smith of 1:234/56.7" is passed to the
       executable in the command line.  See "misc/FILES" for an example of  a  magic  request  processor.   Non-
       executable  files  in  the  "magic"  directory  are  "references".   If a request is made for a file with
       matching name, the file is read line by line, and request re-made for the name found in each line.  Up to
       5 levels of recursion are allowed.

       To  run ifcico in master mode, you must make dialout devices read/writable for ifcico, -B and do the same
       for the directory where your uucp locks are created (usually /var/lock/).

       To make ifcico work in answer mode, you need an FTN-able getty.   Linux  "standard"  getty_ps,  and  Gert
       Doering's  mgetty  (from  the  mgetty+sendfax  package) and later versions have fidonet support built-in.
       Getty must distinguish incoming FidoNet type calls, and start ifcico with one parameter:

       FTS-0001 call:   "ifcico tsync"
       FTS-0006 call:   "ifcico yoohoo"
       EMSI call:       "ifcico **EMSI_....."

       (in the latter case the received EMSI packet should be passed without trailing CR).

       If you are using getty_ps, don't forget to create the file /etc/default/uugetty with the contents similar
       to the following (case sensitive):

       FIDO=/usr/local/lib/fnet/ifcico
       EMSI=yes

       When  called  without  parameters,  ifcico  runs in slave mode and determines the type of inbound session
       itself.  This mode may be used when ifcico runs as an internet or ISDN daemon.

       To make ifcico scan for pending outbound mail and do appropriate calls, start it  with  "-r1"  flag.   To
       force polling of particular nodes, specify these nodes in the command line (addresses should be in domain
       notation, e.g.  "ifcico f23.n5020 f155.n5020").  The latter implies master mode (-r1).  Note that  "hold"
       packets and files, as well as file requests, do not cause the node to be polled.

       Inbound  directory is created automatically if it does not exist, along with the "tmp" subdir. The latter
       is used while receiving files. After being successfully received, the files are moved up to the "inbound"
       directory.   "protinbound"  and "listinbound" directories accept files received during password protected
       sessions and session with the nodes present in the nodelist(s) respectively.

       Ifcico can use text format nodelists in original (MS/DOS) form with <CR><LF>'s as well as in  UNIX  form,
       with <LF>'s only.  When you get a fresh nodelist, or change the "nodelist" statements in the config file,
       you must rebuild index with ifindex program.

       For outgoing calls, status files are created for nodes, with the extention ".sts".  These are ascii files
       containg three decimal numbers in a single line:

       time retries code

       time  is the last call attempt time (attempts failing with "retry time not reached" do not count).  It is
       unsigned long representing the number of seconds since the epoch.
       retries is the number of consequitve call attempts  made  that  returned  "call  failed"  or  "could  not
       establish session".  This field is zeroed when call succeeds.
       code is the return code of the last attempt.

       nlpatch program compiles a new version of the nodelist from the old nodelist and nodediff.

OPTIONS

       -h               Display a short help message.

       -x  Verbosity                Set  the  debug verbosity Verbosity may be a number from 0 to 32 to set 'on'
       bits from 1 to number, or a string of letters where 'a' = bit 1, 'b' = bit 2, etc. up to bit 26.

       -I File               Use the alternate configuration file File.

       -r Role               1 - master, 0 - slave. default is 0 (slave mode) if no node is provided;  else  the
       default is 1 (master mode).

       -a  Inetaddr                Tell  an internet address Inetaddr to make a connection by TCP/IP. A specific
       port can be given ( -a Inetaddr:Port ).  The default is the one given by fido in /etc/services.

       -t Mode               0 - TCP, 1 - Telnet-Vmodem. Tells the mode  to  use  for  TCP/IP  connections,  the
       default is TCP mode (-t0)

       -n Phone
               For modem conections, this overrides the phone number given in the nodelist

       -l TtyDevice
               For modem connections, this overrides the tty value give in the config file

       Node                This  is  the  FTN  addres  of  the  node  to  call. The addres must be in the format
       "[pNN.]fNN.nNN[.zNN[.domain]]".

       tsync | yoohoo | **EMSI_INQC816               Those values are typically given by  an  FTN-able  getty  (
       mgetty or getty_ps ), they determine the type of FTN protocol to use. They imply slave mode.

RETURN CODES

       ifcico returns maximum return code for all calls made. Codes are as follows:

       0     Successfull call
       1     Dialout port unavailable
       2     Dial failed (no "CONNECT" or TCP connection failed)
       3     Could not reset the modem (no "OK")
       4     System locked
       5     Retry time not reached
       6     Fatal error in nodelist lookup
       7     Call prohibited by config options
       8     Phone number unavailable

       9     No matching ports defined
       10    Unused
       >10   Session failures (not defined yet)
       30    Could not establish session

FILES

       $IFLIBDIR/config
                 Runtime configuration file.

       /etc/services
                 Determines the default port number for fido, the port used by ifcico for tcp connections.

       nodelist.???
                 A list of nodes in an FTN network.  ifcico uses it by compiling it with ifindex

       $BINDIR/ifindex
                 compiles a nodelist so ifcico can use it.

       $BINDIR/ifstat
                 show statistics of calls, etc.

SEE ALSO

       ifmail(8), ifindex(8), ifinfo(8), ifstat(8), ifpack(8), ifunpack(8), iftoss(8), mgetty(8), getty(1)

ACKNOWLEDGEMENTS

       Some ideas taken from Fidogate/RFmail package, written by Teemu Torma and hacked by Martin Junius.
       Some tcp code taken from JE version, written by Tsuneo Tanaka <ttan@twics.com>

       Hydra protocol support by Christof Meerwald <cmeerw@htl.fh-sbg.ac.at>

       1993, 1994 Eugene Crosser

       This is free software. You can do what you wish with it as long as this copyright notice is preserved.

       Manpage by Pablo Saratxaga <srtxg@chanae.alphanet.ch>