fal(8) File Access Listener for DECnet


fal [options]
[-dvVhmt] [-l logtype] [-a auto-type] [-f <auto-file>] [-r <virtual-root>]


fal is a daemon that serves incoming DAP (Data Access protocol) connections from remote systems. It enables transparent file access to files from OpenVMS machines using standard DECnet syntax. It should be started at system boot time (after DECnet has been started) and must be run as root.
The file names output by fal will adapt depending on the sytax of files that are requested of it. If VMS-style filenames are requested then VMS-style filenames will be returned. If Unix-style filenames are requested then Unix-style (native) filenames will be returned. Note that to force fal to display the contents of a directory with Unix-style names the name must end in a slash or have some form of wildcard character in it.
When returning VMS-style filenames, all names will be converted to upper case, directories will have .DIR appended to them and all filenames will have a version number of 1. In addition fal will construct a volume and directory syntax for the directory that will look familiar to VMS users. Of course it also understands this syntax when files and directories are requested of it. One of the problems with this is that Unix filenames with non-VMS syntax (eg double dots or "funny" characters) or files with uppercase letter in their names will not be accessible from VMS using VMS syntax. You must use Unix syntax to access these files through FAL.
The options below affect the behaviour of fal. If you are using dnetd then these options should be specified in the dnetd.conf(5) file.
By default all files sent by fal will be sent in STREAMLF format. This is configurable by the many command-line switches detailed below.


Set logging options. The following are available:
-lm Log to /dev/mono. (only useful if you have my mono monitor driver or mdacon and a second monitor)
-le Log to stderr. Use this for debugging or testing combined with -d.
-ls Log to syslog(3). This is the default if no options are given.
Set algorithm for automatically selecting file types.
-ag Guess file type based on first few bytes
-ae Check file extension against a table
By default all files will be sent/received as STREAMLF
-f <filename>
Specify the filename used to check file extensions. Only valid with -ae. The format if the file is simple:
extension <b/r> <block size>.
In fact, 'r' is more of a comment than an instruction but it may be used in future to support proper variable-length record files.
By default an internal table is used with some common file extensions. It is as follows:
 #Generic types
 .txt  r
 .c    r
 .cc   r
 .log  r
 .html r
 # VMS types
 .com  r
 .lis  r
 .bck  b 32256
 .save b 8192
 .exe  b 512
 .zip  b 512
 #Linux types
 .tar  b 10240
 .gz   b 512
 .tgz  b 512
 .bz2  b 512
 # End of file

Enable users to override the two above options with a .fal_auto file in her/his home directory. This file should contain a single word: guess, ext or none. Note that -u and a .fal_auto file takes effect even if no -a option is present.
Use the meta-file directory (normally named .fal) to store file attributes. Metafiles will override any guessed or checked file attributes.
Instruct FAL for look for .$ADF$ files created by the NFS Client in TCP/IP for VMS V5.0+ and use them to get file attributes. This option can be used with the -m and -a flags in which case a .$ADF$ takes precedence over a fal metafile or a guessed file type.
-r <virtual root>
Run FAL in a "virtual root". All file accesses will be done below this directory rather than the normal root filesystem. ie access for "/" or "SYSDISK:[000000]" will start at the specified directory. Requests for ".." will be refused. NOTE: This is not a chroot, fal still runs in the normal filesystem. also note that this will lose the ability to access users home directories: all users doing a "DIR LINUX::*.*" from VMS will see the virtual root instead.
Don't fork and run the background. Use this for debugging.
Verbose. The more of these there are the more verbose fal will be. Don't use more than one for normal operation because it will seriously impair performance.
-h -?
Displays help for using the command.
Show the version of fal.