# 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 If using the `socall` feature (which is on by default), 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.