BIFFER(8)

NAME
biffer - a better mail notification server

SYNOPSIS
biffer [-d]

DESCRIPTION
Biffer runs under inetd(8) and provides a better alternative to the standard comsat(8) mail notification. -d means spew debug output via syslog(8) and LOG_DEBUG.

Biffer is still a little bit under development, and suggestions for improvements or enhancements are gladly accepted.

Biffer will be used to notify you of new mail if you have set ``biff y'' (see biff(1)) and you have a file in your home directory called ``.biffer''. This file is also used to set the various biffer options and user preferences.

If you use X, you can have biffer use a window to notify you of new mail. With X version 10, this window is built-in to biffer, and with X11, biffer uses xmessage to to mail notification (with -title and -name set to ``biffer'').

EXAMPLE
If you use X, you may find that

    remotehost
    special x
    special sunx

is a useful .biffer file. You may also want to make some entries in your .Xresources or .Xdefaults file.

Note that if you have biffer forward your mail notification to another machine, such as a Sun or VAXstation, the recipient of the notification on the remote machine must also have an appropriate .biffer file in their home directory.

BIFFER OPTIONS
Most biffer options may be set in your ~/.biffer file, or in a per-tty file maintained by the biffopt(1) command. These options will not be observed in a per-tty options file: ignore, forwardto, heretooforward. The .biffer file contains option settings, one per line. All information is converted to lowercase before interpretation. The ``parser'' is quite stupid, and won't complain about things it doesn't recognize. Extra spaces between words are ignored. The entries recognized by biffer are:

forward user@host
    Forward the notification of new mail to ``user@host''. This happens whether or not you are signed on at the time. Forwarding to yourself has no effect.

remotehost
    If you are rlogin'd to the machine, try to ``biff'' you on the machine you are rlogged in from. There is no way to specify an alternate userid - it will try the same userid on the remote machine. It will not pass the biff on to the same machine, so if you are rlogged in to the same machine, you won't get biffed for the rlogin. This option allows biffer to track you down and try to find out what kind of terminal or display you are actaully using. Forwarding takes place before this step.

heretooforward
    Causes biffer to also biff you on this machine when forward is set.

heretooremote
    Causes biffer to also biff you on this machine when remotehost is set and you are rlogin'd.

heretoo
    Same as specifying both ``heretooforward'' and ``heretooremote''.

ignore regular-expression
    Causes you to not get biffed for a particular mail message, if the regular-expression (see regex(3) for details) matches one of the header lines in the message. This is useful or avoiding notification of classes of mail, like junk-mail, mail from particular people, etc. For example, to ignore any mail message with a subject containing the word calculus, use a line of
        ignore ^Subject: .*calculus
    The regular expressions are case sensitive. You can have multiple ignore lines, but the current implementation only examines the first 25 in your .biffer file. It also only has a limit on the number of header lines it will examine. The limit is that the first 20 header lines are examined separately, and any remaining header lines are examined all in one big lump.

lines n
    Show up to ``n'' lines of the message. Note that X windows can be resized to show you more or less of the message. Default is 5.

showbiffee
    Precede the mail notification with the name of the person being ``biffed'', in addition to the name of the person who actually received the mail. This has no effect with X biffing.

showtoline showsubjline showfromline
    These options control what header lines from the mesage are shown to you. They take optional arguments ``tty'', ``net'' and ``nonet'' which indicate what biffings should include which headers from the mail message. ``net'' and ``nonet'' govern what gets given to ``program-network'' and ``program-nonet'', and ``tty'' governs what gets displayed when those programs are not used.

display
    X11 DISPLAY variable, for window notification. Overridden by any DISPLAY in the utmp file (i.e. as shown by who(1)). Can be set by biffopt and is especially useful on those hosts that don't have host or display names in the utmp file.

hostname
    Hostname for ``remotehost'', and overrides anything in the utmp file. Settable by biffopt. Beware of setting this to the current host - the message will probably loop around until the hopcount is exceeded.

special x11
    Indicates that you wish X11 window biffing (if possible). You probably won't need to use this, since it is implied if the host part of your utmp entry looks like a DISPLAY variable.

special x
    If you are signed on to a VAXstation display (i.e. a hardwired terminal with type ``xterm'') create an X window to biff you with. You can make the window go away by clicking or keying at it. This indicates X version 10.

special sunx
    If you are signed on to a Sun console, assume that you are running X rather than SunWindows.

program-network
    Program to run to notify you of mail if you are on a ``network'' login.

program-nonet
    Program to run to notify you of mail if you are on a ``non-network'' login.

X10 X DEFAULTS
For X10, the following are recognized ``biffer'' options in your .Xdefaults file:

Beeps
    The number of times to beep when putting up a notification window. Maximum is 10, minimum is 0, default is 1.

BodyFont
    Specifies the font to use for biffing. Default is 8x13.

Geometry
    Specifies the default location and/or size of the biff window. The window defaults to being as wide as the widest line in the message, up to ``lines'' lines high, centered at the top of the screen.

Foreground

Background

Border

Mouse

ReverseVideo
    Colours and stuff.

BorderWidth

InternalBorder
    Internal and external border sizes. Default is 2 pixels.

Lines
    Number of lines to display by default. This overrides the entry in .biffer.

Timeout
    Remove X biffer window after ``n'' minutes. Minimum 1 minute, maximum 5, default 5.

Volume
    Feep volume.

KeyGoAway
    Have key presses make windows go away. ``on'' or ``off'', default is ``on''. `Q', `q' and `^D' will always make the window go away.

ButtonGoAway
    Have mouse buttons clicks make windows go away. ``on'' or ``off'', default is ``on''.

IMPLEMENTATION DETAILS
This section is probably not of use or interest to most users.

Comsat has been Waterloo modified to invoke biffer to notify a user if the file .biffer exists in the user's home directory. Biffer is invoked by inetd on the bifer/tcp stream port. Upon invokation, biffer expects to receive a message in this form:

    <userid to biff on this host>\n
    <original mail recipient userid>\n
    <original mail recipient host>\n
    <number of hops to get here>\n
    MESSAGE FOLLOWS\n
    <message header lines>\n
    \n
    <lines of the message>\n

The number of hops is to guard against loops in forwarding. If hops is negative, then we are tracing rlogins back to the real terminal and so forwarding is ignored. All information is in string form, to avoid byte ordering problems in numbers. If the recipient host is an empty string, it will default to the current host.

Biffer sets alarms when writing or displaying a message so that the process will not hang around forever, since each message gets a separate process.

FILES
$HOME/.biffer - settings and invocation file $HOME/.Xdefaults - X preferences file

SEE ALSO
comsat(8), biff(1), biffopt(1), inetd(8)

BUGS

AUTHOR
John Sellens