Я пытаюсь использовать модуль pam_mysql вместе с postfix и saslauthd. Кажется, все работает, за исключением того, что фактическое сравнение паролей не удается.
Примечание: тестируемый случай - аутентификация SMTPD для отправки.
Я создал и оснастил отладочную копию pam_mysql. Оказывается, что пароль, передаваемый в pam_mysql_check_passwd (), имеет EOL (т.е. (char) 10) на конце ..., поэтому сравнение паролей не удается.
Я реализовал простое исправление, которое, похоже, работает ... просто удаляя EOL, если он есть.
Во-первых, я не знаю, действительно ли это правильное решение, поскольку в стеке есть несколько слоев выше pam_mysql, которые могут быть виновниками, но в то же время я действительно выгорел от отладки постфикса, saslauthd et al. .
Эта проблема вызывает у кого-нибудь тревогу? Я просто ненавижу поддерживать свою собственную копию pam_mysql ..., тем более что я фактически не делал сколько-нибудь значительных разработок на C за, наверное, 20 лет, и просто не чувствую себя очень уверенным в себе.
Это мой первый пост на serverfault ..., поэтому заранее приношу свои извинения и благодарность.