motd 0.2.1

motd interrogates pam_motd.so in order to determine the current message of the day. It only works on linux and it is a component of the shpool tool, though you can also use the dump-motd wrapper CLI tool directly. Through feature selection, you can also use a pure rust impl with no dlopen shennigans.
Documentation
# motd

`motd` is a crate for printing the current MOTD (message of the day)
on linux. Most of the logic lives in the `motd` crate, and the `dump-motd`
tool is a thin wrapper which provides a command line interface for the
crate.

## Dependencies

You must install libpam headers to build this crate. On debian based
systems you can do so with

```
sudo apt-get install libpam0g-dev
```

## Features

There are two modes of operation for the `motd` crate. By default, it
will load and call into the `pam_motd.so` file used by the pam stack,
but you can instead use a pure rust reimplementation of the logic found
in `pam_motd.so` if you want. The downside of the pure rust implementation
is that it no longer uses the same source-of-truth logic to resolve the
motd, though this is likely not a huge deal because `pam_motd` is fairly
stable. The pure rust implementation has the advantages that it uses zero
unsafe code, does not require a (sometimes slow) directory walk to
locate `pam_motd.so` the first time it is run, and requires many fewer
dependencies.

The feature for calling `pam_motd.so` directly is `socall`, and it is
enabled by default. To use the pure rust implementation, disable
default features. This will change the signature of a few functions.