- pc.conv = conv;
- pc.appdata_ptr = &data;
- data.name = pw->pw_name;
- data.pw = pass;
- if (pam_start("citadel", pw->pw_name, &pc, &ph) != PAM_SUCCESS)
- return retval;
-
- if ((i = pam_authenticate(ph, PAM_SILENT)) == PAM_SUCCESS)
- if ((i = pam_acct_mgmt(ph, PAM_SILENT)) == PAM_SUCCESS)
- retval = -1;
-
- pam_end(ph, i | PAM_DATA_SILENT);
+ pc.conv = conv;
+ pc.appdata_ptr = &data;
+ data.name = pw->pw_name;
+ data.pw = pass;
+ if (pam_start("citadel", pw->pw_name, &pc, &ph) != PAM_SUCCESS)
+ return retval;
+
+ if ((i = pam_authenticate(ph, flags)) == PAM_SUCCESS)
+ if ((i = pam_acct_mgmt(ph, flags)) == PAM_SUCCESS)
+ retval = -1;
+
+ pam_end(ph, i | flags);