Provided by: isdneurofile_3.12.20071127-0ubuntu11_i386 bug


       eftd - ISDN EUROFILE file transfer server


       As this is alpha test software, options might change with each release!

       eftd  [-a [ACCESS_FILE]] [-IlsV?] [-d LEVEL] [-D MASK] [-b LOGFILE] [-l


       eftd eftd allows clients to connect to your machine via the ISDN and to
       transfer  files  by  means  of  the  EUROFILE  transfer  protocol. That
       protocol is specified by ETSI norms ETS 300-075 and ETS 300-383.

       Unless the -s option is given, the server  loops  forever  waiting  for
       incoming  connections  and  forks  a  child process for each connection


       -a     Expects a string argument interpreted as a file name.   If  eftd
              is  compiled  with  the  CONFIG_EFTD_WUAUTH  option,  eftd reads
              ACCESS_FILE  and  uses  the  contents  for  user  authentication
              similarly  to  wu-ftpd's  ftpaccess  file.  See eftaccess(5) for
              further details.

       -b     Expects  a  string  argument  interpreted  as   a   file   name.
              Communication  events selected by the -l or -L option are logged
              (appended) to the file specified by the option's argument. (This
              is the 'LogBook' file in terms of ETS 300 383, thus the 'b'). If
              this  option  is  omitted,  a  system  dependent  default  (i.e.
              /var/log/eftd.log)  is  used. Opening of the LogBook file can be
              supressed simply by not suppling any -l or -L option.

       -d     Expects an integer argument which is interpreted as a log level.
              Protocol  or  internal  events  up  to  the  level are logged to

              For levels 0 - 3, see the -l option.

              Higher values include more events in the log, such as low  level
              protocol  and  call  traces  and  temporarily inserted debugging
              output statements.

              Use of -d as well  as  level  >  3  is  primarily  intended  for
              debugging  purpose.  This also implies that the output caused by
              log levels > 3 is not documented and likely  to  change  between

       -D     The  bitmask  argument  allows  for low level grained control of
              stderr output. It overrides previous -I and augments -d options.
              For  maximum  amount of debugging output use "-D -1". As this is
              really intended to be used for low level debugging, examine  the
              eftp4linux   sources   (start   by   reading   the  source  file
              src/lib/tdu_user.h) if you really want to  use  this  option  on
              your own.

       -I     Logs  the contents of /dev/isdnctrl to stderr. For this to work,
              other processes reading /dev/isdnctrl (i.e.  isdnlog) should  be
              stopped  before).  This option is intended for debugging purpose

       -l     The integer argument specifies the log level for  selecting  the
              events  written  to  the  LogBook  file  (as specified by the -b
              option). Levels are

              0 No events at all.

              1 Important events related to session start and end  (login  and

              2  Important  events during each session.  Also adds some events
              related session start/stop of minor priority.

              3 Other minor priority events.

              >3 Low level events. As these are primarily useful for debugging
              purpose,  it's  probably  better (but not strictly necessary) to
              log them by means of the -d option.  See  the  latter  for  more

              this   log   feature  is  currently  new,  extremly  unfinished,
              incomplete and subject to improvements (volunteers welcome)  and
              not  my  highest  priority item.  Thus, don't expect the current
              format of the messages to be fixed forever.

       -L     Conceptually similar to -D (see the latter). Allows fine grained
              control  for  selecting  the  events  logged to the LogBook (-b)

       -x     The string type argument should consist of up to 15 digits which
              specify  the  X.25  [X.121/X.301] address the servers listens on
              for incoming connections.  As  EUROFILE  is  usually  used  with
              ISO-8208  X.25  DTE-DTE mode, you should use the empty string as
              argument here, which is  the  default.  Thus,  it  is  extremely
              unlikely that you want to use this option at all.

              This  option  can  be  given  two  times, allowing the server to
              listen on two different x25 addresses simultaneously.

       -s     Single process mode. If this option is given,  the  server  just
              serves  the first incoming connection and exits when the session
              is finished. It does not fork a child process for  serving  that

              This  is  mainly  useful for running eftd under the control of a
              debugger (such as gdb). If you want to  debug  eftd  like  this,
              also  make  sure  that  the  '-m'  option is not set. (As the -m
              option forks an additional supervisor process, -s alone will not
              result  in  a  debuggable  single process eftd). Further, as the
              single process will not run under root  permissions  any  longer
              after  an  EUROFile  connection  has been accepted, eftd can not
              clear isdn connections on  its  own,  you  may  need  to  do  so

       -m     Multiple  connection  mode.  If this option is given, the server
              immidiately continues to accept new connections without  waiting
              for  the  just  accepted  session  to  finish.   The  number  of
              simultaneous served connections is not internally limited by the
              server.  However, upper limits might be imposed by the mumber of
              physically available isdn  B-channels,  the  number  of  running
              incoming   isdn   network   interfaces  configured  with  "encap
              x25iface", or by  the  authentification  procedure  (i.e.  group
              limits configured in /etc/isdn/eftaccess).

              When  multi  mode  is  activated,  the  server  forks  an  extra
              privileged supervisor  process  for  each  accepted  connections
              which  takes  care  of  clearing  the  isdn connection after the
              session is finished. Thus, if N  EURFILE  sessions  are  active,
              there will be 2N+1 eftd processes.

       -UUSER When  this option is specified, a login attempt with a user name
              not in the passwd database will be using USER as the login  name
              (with empty password).

              You  might  use '-U ftp' if you have configured anonymous access
              and want that unknown user ids should be handled as an anonymous
              eft  access.   Unknown user ids frequently occur as many clients
              insert some dummy user name in the  t_associate  request  if  no
              user name was configured.

       -V     Prints version.

       -?     prints usage message.


       The   server  supports  most  of  the  EUROFILE  primitives,  including
       navigation and extended directory format.  However, T-RENAME, T-DELETE,
       and LIST are not supported yet.

       If  eftd is compiled with the CONFIG_EFTD_WUAUTH option, user access is
       granted using an authentication procedure  derived  from  wu-ftpd,  the
       Washington  University ftp server. Refer to the eft_wuauth man page for
       further details.

       Transfers can be logged to /var/log/eft_xferlog.  The  format  of  this
       file  is  compatible  with  the  wu-ftpd  xferlog  format. Refer to the
       eft_xferlog man page for details. Also see event logging below.

       eftd  can  also  be  invoked  (and  then  stopped)  by  means  of   the
       /etc/init.d/isdneurofile shell script:

            /etc/init.d/isdneurofile start|stop

       This    script    reads    configuration   parameters   (usually   from
       /etc/isdn/eft.conf). You might want to edit this file  before  starting

       Besides  starting  eftd,  the  script also takes care of setting up the
       necessary isdn network interfaces. The script can be used  by  sysvinit
       to  automatically  start  eft  service  as  part  of  the  system  boot
       precedure. (But make sure it is called after isdn and x25  modules  are


       The  EUROFILE protocol identifies files to be transferred by means of a
       so called `transfer name'. According  to  ETS  300-383/ETS  300-075,  a
       transfer  name  may  constist  up  to  8  keywords separated by the '/'
       character. Each keyword may constist of up  to  12  printable  (between
       0x21 and 0x7e) ascii characters except '(', ')', '*', bytes.

       The  transfer  names  generated by eftd (and which will be displayed in
       response to a T-Directory request) will always conform to this.

       eftd will also accept transfer names within  incoming  request  (T-Load
       and  T-Save  request)  that  do  not  conform  to  the standards.  If a
       transfer name in an incoming request is valid, it  is  processed  by  a
       mapping  procedure  which  resolves  to a file name. Transfer names not
       conforming to the standard are not subject to mapping. They are treated
       literally as POSIX filenames.


       eftd  maps  transfer  names  to  file  names  by means of two different
       methods. If the current working directory is writable by  the  user,  a
       database is used that maps between transfer names and file names.

       The  database  is  currently implemented by means of symlinks which are
       created    in    the    working    directory.     Symlinks     matching
       .++eft_fn.TRANSFER_NAME   contain   the   file  name  corresponding  to
       TRANSFER_NAME.  Symlinks  matching  .++eft_tn.FILE_NAME   contain   the
       transfer  name  name  corresponding  to  FILE_NAME.  You  can clean tha
       database by just removing all those symlinks (rm .++eft_[ft]n.*).

       If the directory is not writable by the user, an algorithm based ob the
       file/transfer  name  and the file's inode number is used to map between
       transfer names and file names.


       eftd provides for two event  logging  channels.  The  first  is  always
       stderr,  the  other is the so called LogBook file (an ETS 300 383 term)
       (which might be altered by means of the -b option)

       The amount of events logged can be controlled by a log level, which may
       be  supplied  by  means  of  the -d (for stderr channel) or the -l (for
       LogBook file channel). An even finer grained (but even  less  portable)
       control  is possible by means of bitmask arguments supplied with the -D
       or -L option.

       For debugging purpose, it is somtimes helpful  to  write  the  standard
       error messages syncronized with the logged events into the same stream.
       Thus, for generating debugging logs, it is preferable to use the stderr
       channel.  For  debugging  certain  very  low  (i.e. Linux kernel) level
       protocol problems, it is even desirable to write the  isdn  events  (as
       read  from  /dev/isdnctrl)  to  the same stream. eftd provides for a -I
       option to achieve this goal as close as possible (however,  synchronity
       cannot be granted here).

       Wenn  large  log levels are used, huge amounts of stderr output will be
       generated. Thus you might consider to redirect stderr to a disk file in
       such a case.

       Writing  to a log file might block the eftd process, which might result
       in timing problems if the process is blocked for a very  long  (several
       seconds)  time.  Thus, it is not advisable to log events to files (i.e.
       located on unreliable NFS  servers)  which  are  likly  to  cause  such


       The  majority  of DOS/Windows based clients implicitly assume that file
       transfer names fulfil DOS file name conventions and  don't  distinguish
       between  upper  and  lower case names. This is in violation to the ETSI
       norms and might cause inter-working problems.  The server provides  for
       a  compatibility  mode  to inter-operate with such clients. In order to
       activate that compatibility mode, prepend a '+' character to the  login
       name  when  connecting  to the server. See the doc/INTERWOKING file for

       If you intend to offer  files  for  public  download  via  eft,  it  is
       recommended to use file names that match DOS conventions only.

RESTRICTIONS (also called BUGS :-)

       Renaming  and  deleting  (T-RENAME, T-DELETE) of files is not supported
       yet.  The S-LIST primitive (recursivly listing all directories) is  not

       Compression is not supported. This is not a serious limitation nowadays
       because on-disk compression formats like [g]zip are  widley  available,
       compress better, and also save disk storage.  When eftp has established
       the connection, it issues the "eftp>" prompt  and  waits  for  commands
       that will be read from standard input.  Interactive input can be edited
       by means of the GNU readline library.


       manpage   written   from   usage   text   file   by    Paul    Slootman