• Ray Strode's avatar
    daemon: introduce pam extension mechanism · d5280a38
    Ray Strode authored
    This abuses PAM_BINARY_PROMPT for our own nefarious purposes.
    The way it works is GDM advertises what "extensions" it supports
    with the environment variable, GDM_SUPPORTED_PAM_EXTENSIONS (a space
    separated list of reverse dns notation names). PAM services that
    support this protocol, will read the environment variable, and
    check for extension strings they support. They then know that sending
    PAM_BINARY_PROMPT won't blow up, and know what format to use for the
    binary data.  The type field of the structure is the index of the
    string from the environment variable.
    This commit is just foundation work. It doesn't actually add any