Allow for up to three attempts on every PAM call unless a conversation error occurred (i.e. cancelled by user or timeout).
Allow for up to three attempts on every PAM call unless a conversation error occurred (i.e. cancelled by user or timeout).

Also remove the EXIT_ON_CONVERSATION_ERROR and instead detect PAM
modules calling converse() a second time after having received an error
and exit then. Allows us to exit "cleanly" after conversation errors.

Also despam logging by hiding any errors that have been retried or
caused by a conversation error.

google/xsecurelock,google/xsecurelock