upasfs – mail file server|
upas/fs [ –DSbdfilnps ][ –c cachtarg ][ –f mailbox ][ –m mntpoint
Fs is a user level file system that caches mailboxes and presents
them as a file system. A user normally starts fs in his/her profile
after starting plumber(4) and before starting a window system,
such as rio(1) or acme(1). The file system is used by nedmail(1),
acme(1)'s mail reader, and imap4d and pop3 (both pop3(8))
to parse messages. Fs also generates plumbing messages used by
biff and faces(1) to provide mail announcements. |
The mailbox itself becomes a directory under /mail/fs. Each message in the mailbox becomes a numbered directory in the mailbox directory, and each attachment becomes a numbered directory in the message directory. Since an attachment may itself be a mail message, this structure can recurse ad nauseam.
Each message and attachment directory contains the files:
The info file contains the following information, one item per
line. Lists of addresses are single space separated.
Deleting message directories causes the message to be removed from the mailbox.
The mailbox is scanned and the structure updated whenever the mailbox changes. Message directories are not renumbered. The results of the scan are recorded in mailbox.idx.
The file /mail/fs/ctl is used to direct fs to open, close, rename,
create or remove new mailboxes, and also to delete or flag groups
of messages atomically. The messages that can be written to this
Messages of the form [+–]flags may be written to the flags file. Fs maintains the r flag. Mail readers are expected to maintain other flags.
The options are:
Fs will exit once all references to its directory have disappeared.
Fs interprets mailbox file names of the form /proto/host/user to mean access an account on host using the given protocol. Authentication is delegated to factotum(4). The final /user may be omitted, in which case the user name is gleaned from the key held by factotum. The following protocols are supported:
pop cleartext POP with password authentication
The two IMAP protocols allow an optional fourth field specifying a mailbox name, for example /imap/server/user/stored.
Poptls and apoptls connect to port 110 in plaintext and start
TLS using the POP STLS command. Imaps connects to port 993 and
starts TLS before initiating the IMAP conversation. There should
probably be pops, apops, and imaptls protocols as well. (Pops
and apops would connect to port 995 and start
TLS before initiating the POP conversation, and imaptls would
connect to port 143 in plaintext and start TLS using the IMAP
STARTTLS command. (That's the nice thing about standards--there's
so many to choose from.))
/mail/box/* mail directories|
/mail/box/*/mbox mailbox files
/mail/box/*/mbox.idx mailbox indicies
/mail/box/*/L.mbox mutual exclusion lock for altering mbox (mbox format only)
aliasmail(8), faces(1), filter(1), mail(1), marshal(1), mdir(6),
mlmgr(1), nedmail(1), pop3(8), qer(8), rewrite(6), send(8), upasfs(4),|
Erik Quanstrom ``Scaling Upas'', Proceedings of IWP9, October, 2008.