glenda.party
term% ls -F
term% pwd
$home/manuals/9front/4/ratfs
term% cat index.txt
RATFS(4)                   Kernel Interfaces Manual                   RATFS(4)

NAME
       ratfs  - mail address ratification file system

SYNOPSIS
       ratfs [ -d ] [ -c configuration ] [ -f classification ] [ -m mountpoint
       ]

DESCRIPTION
       Ratfs  starts  a process that mounts itself (see bind(2)) on mountpoint
       (default /mail/ratify).  Ratfs is a persistent  representation  of  the
       local  network  configuration  and spam blocking list.  Without it each
       instance of smtpd(6) would need to reread  and  parse  a  multimegabyte
       list of addresses and accounts.

       Ratfs  serves  a  control file, ctl, and several top level directories:
       trusted, deny, dial, block, delay, and allow.

       The control file is write only and accepts three possible commands:

       reload rereads classification and configuration

       debug file
              creates file and sends debugging output to it.

       nodebug
              closes the debug file and turns off debugging

       The directory trusted serves a file for each IP range  from  which  all
       mail is trusted.  The names of the files are CIDR blocks; an IP address
       or  an  IP  address  followed  by  #n, where n is the number of bits to
       match.  To check if any IP address falls in a trusted range, it is suf‐
       ficient to open the file whose name is the IP address.  For example, if
       trusted contains only the file 135.104.0.0#16, an attempt to  open  the
       file 135.104.9.1 will succeed while opening 10.1.1.1 will fail.  To de‐
       termine  the particular range matched, dirfstat (see stat (2)) the open
       file and the name field will be the matching CIDR range.

       The trusted ranges come both from the ournet entries in the  file  con‐
       figuration (default /mail/lib/blocked) and from creates, typically done
       by imap4d (see ipserv(8)) and pop3 (see mail(1)) whenever they are used
       to read someone's mail.

       The  remaining directories, allow, block, delay, deny, and dial, repre‐
       sent    the     contents     of     the     classification     (default
       /mail/lib/smtpd.conf.ext).   Each  contains two directories; ip and ac‐
       count.  The ip directory has the same open semantics as the trusted di‐
       rectory, i.e., to check if an IP address falls in that category, try to
       open a file whose name is the IP address.   The  account  directory  is
       similar  but  is used for matching strings.  Each file in the directory
       represents a regular expression.  To see if one of the strings  matches
       one  of the regular expressions, try to open the file whose name is the
       string.  If it succeeds,  then  there  is  a  regular  expression  that
       matches.   To  determine  the  regular expression, fstat the open file.
       The name field will be the regular expression.

       There is a direct mapping from entries in classification and files  un‐
       der allow, block, delay, deny, and dial.  A configuration file entry of
       the form:
            dial 135.104.9.0/24
       corresponds to the file dial/ip/135.104.9.0#24.  An entry of the form
            *block    .*!gre
       corresponds to the file block/account/.*!gre.

       Both  the  configuration file and control file formats are described in
       smtpd(6).

SOURCE
       /sys/src/cmd/ratfs

SEE ALSO
       mail(1) smtpd(6) scanmail(8)



                                                                      RATFS(4)