diff -Naur a/src/libdde-auth/deepinauthframework.cpp b/src/libdde-auth/deepinauthframework.cpp --- a/src/libdde-auth/deepinauthframework.cpp 2023-10-09 14:52:49.000000000 +0800 +++ b/src/libdde-auth/deepinauthframework.cpp 2024-03-04 15:45:26.110492602 +0800 @@ -129,13 +129,15 @@ } else { qDebug() << "PAM start..."; } - + + m_message = ""; int rc = pam_authenticate(m_pamHandle, 0); if (rc != PAM_SUCCESS) { qWarning() << "PAM authenticate failed:" << pam_strerror(m_pamHandle, rc) << rc; if (m_message.isEmpty()) m_message = pam_strerror(m_pamHandle, rc); } else { qDebug() << "PAM authenticate finished."; + m_message = ""; } int re = pam_end(m_pamHandle, rc); @@ -185,8 +187,9 @@ qWarning() << "PAM_BUF_ERR"; return PAM_BUF_ERR; } - const QString message = QString::fromLocal8Bit(PAM_MSG_MEMBER(msg, idx, msg)); + //const QString message = QString::fromLocal8Bit(PAM_MSG_MEMBER(msg, idx, msg)); for (idx = 0; idx < num_msg; ++idx) { + const QString message = QString::fromLocal8Bit(PAM_MSG_MEMBER(msg, idx, msg)); switch (PAM_MSG_MEMBER(msg, idx, msg_style)) { case PAM_PROMPT_ECHO_ON: case PAM_PROMPT_ECHO_OFF: { @@ -219,15 +222,15 @@ } case PAM_ERROR_MSG: { qDebug() << "pam auth error: " << message; - app_ptr->m_message = message; + //app_ptr->m_message = message; app_ptr->UpdateAuthState(AS_Failure, message); aresp[idx].resp_retcode = PAM_SUCCESS; break; } case PAM_TEXT_INFO: { qDebug() << "pam auth info: " << message; - app_ptr->m_message = message; - app_ptr->UpdateAuthState(AS_Prompt, message); + //app_ptr->m_message = message; + app_ptr->UpdateAuthState(AS_Failure, message); aresp[idx].resp_retcode = PAM_SUCCESS; break; }