interface(name = "...", prog = "unixpasswd [options]", flags = Ascii + Short-Attr, sendattr = "str", sendattr = "User-Password", ...),
The 'Ascii' and 'Short-Attr' flags are required for any interface that uses this module.
The module only uses the 'str' and 'User-Password' attributes from requests
sent to it; the sendattr ACL is specified for efficiency only.
TODO: cache the database of usernames and crypt(3)'ed passwords in a hash and
refresh it when signalled or after a configurable period. Possibly optional
using -c switch; some people may have fast getpwname() implementations or want
immediately updated passwords anyway. I would like to see some reports that it
indeed *is* slow first, though.