mtools: floppyd

 
 4.1 Floppyd
 ===========
 
 `Floppyd' is used as a server to grant access to the floppy drive to
 clients running on a remote machine, just as an X server grants access
 to the display to remote clients.  It has the following syntax:
 
    `floppyd' [`-d'] [`-l'] [`-s' PORT] [`-r' USER] [`-b' IPADDR] [`-x'
 DISPLAY] DEVICENAMES
 
    `floppyd' is always associated with an X server.  It runs on the
 same machine as its X server, and listens on port 5703 and above.
 
 4.1.1 Authentication
 --------------------
 
 `floppyd' authenticates remote clients using the `Xauthority' protocol.
 Xhost authentication is not supported. Each floppyd is associated with
 an X server.  When a remote client attempts to connect to floppyd, it
 sends floppyd the X authority record corresponding to floppyd's X
 server.  Floppyd in turn then tries to open up a connection to the X
 server in order to verify the authenticity of the xauth record.  If the
 connection to the X server succeeds, the client is granted access.
 `DISPLAY'.
 
    *Caution*: In order to make authentication work correctly, the local
 host should *not* be listed in the `xhost' list of allowed hosts.
 Indeed, hosts listed in `xhost' do not need a correct `Xauthority'
 cookie to connect to the X server. As `floppyd' runs on the same host
 as the X server, all its probe connection would succeed even for
 clients who supplied a bad cookie.  This means that your floppy drive
 would be open to the world, i.e. a huge security hole.   If your X
 server does not allow you to remove `localhost:0' and `:0' from the
 `xhost' list, you can prevent floppyd from probing those display names
 with the `-l' option.
 
 4.1.2 Command line options
 --------------------------
 
 `d'
      Daemon mode. Floppyd runs its own server loop.  Do not supply this
      if you start floppyd from `inetd.conf'
 
 `s  PORT'
      Port number for daemon mode.  Default is 5703 + DISPLAYNUMBER.
      This flag implies daemon mode.  For example, for display
      `hitchhiker:5', the port would be 5708.
 
 `b  IPADDR'
      Bind address (for multi homed hosts). This flag implies daemon mode
 
 `r USER'
      Run the server under as the given user
 
 `x DISPLAY'
      X display to use for authentication. By default, this is taken
      from the `DISPLAY' variable. If neither the `x' attribute is
      present nor `DISPLAY' is set, floppyd uses `:0.0'.
 
    DEVICENAMES is a list of device nodes to be opened.  Default is
 `/dev/fd0'. Multiple devices are only supported on mtools versions
 newer than 3.9.11.
 
 4.1.3 Connecting to floppyd
 ---------------------------
 
 In order to use floppyd, add the flag `remote' to the device
 description in your `~/.mtoolsrc' file.  If the flag `remote' is given,
 the `file' parameter of the device description is taken to be a remote
 address.  It's format is the following:
 HOSTNAME`:'DISPLAYNUMBER[`/'[BASEPORT][`/'DRIVE]]. When using this
 entry, mtools connects to port BASEPORT+DISPLAYNUMBER at HOSTNAME. By
 default BASEPORT is 5703. The drive parameter is to distinguish among
 multiple drives associated with a single display (only mtools versions
 more recent than 3.9.11)
 
 4.1.4 Examples:
 ---------------
 
 The following starts a floppy daemon giving access to `/dev/fd0',
 listening on the default port 5703, tied to the default X servers:
 
      floppyd -d /dev/fd0
 
    Each of the following starts a floppy daemon giving access to
 `/dev/fd1', tied to the :1 local X servers, and listening on port 5704.
 We assume that the local host is named `hitchhiker'.
 
      floppyd -d /dev/fd0
      floppyd -d -x :1 -p 5704 /dev/fd0
 
    If you want to start floppyd by `inetd' instead of running it as a
 daemon, insert the following lines into `/etc/services':
      # floppy daemon
      floppyd-0    5703/tcp    # floppy daemon for X server :0
      floppyd-1    5704/tcp    # floppy daemon for X server :1
 
    And insert the following into `/etc/inetd.conf' (assuming that you
 have defined a user named floppy in your `/etc/passwd'):
 
      # floppy daemon
      floppyd-0 stream  tcp  wait  floppy  /usr/sbin/floppyd floppyd /dev/fd0
      floppyd-1 stream  tcp  wait  floppy  /usr/sbin/floppyd floppyd -x :1 /dev/fd0
 
    Note that you need to supply the X display names for the second
 floppyd.  This is because the port is opened by inetd.conf, and hence
 floppyd cannot know its number to interfere the display number.
 
    On the client side, insert the following into your `~/.mtoolsrc' to
 define a drive letter accessing floppy drive in your X terminal:
      drive x: file="$DISPLAY" remote
 
    If your X terminal has more than one drive, you may access the
 additional drives as follows:
      drive y: file="$DISPLAY//1" remote
      drive z: file="$DISPLAY//2" remote