Skip to content

shell-pool/motd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.