我正在帮助构build一个可插拔的访问模块。 我们的模块最初只实现了一个PAM对话,只有一条消息,并且工作正常。 然后,我们需要在对话中添加第二条消息,并认为将num_msg加1并传递必要的指针足够简单。
但是,使用下面的代码,PAM现在在用户响应第一个提示后返回一个错误。 (该错误是一个pam会话错误,奇怪的是,即使没有列出作为conv函数的响应types。)
将提示分成两个不同的会话对象可以正常工作,但是我希望能够将多个提示添加到同一个对话中。 谷歌search显示,一个对话中可能会有多个消息的不良行为,但我找不到具体的东西。 有关这里发生了什么事情或我错过了什么想法?
pam_message first_message; first_message.msg = const_cast<char *> ("First prompt: "); first.msg_style = PAM_PROMPT_ECHO_OFF; pam_message second_message; second_message.msg = const_cast<char *> ("Second prompt: "); second_message.msg_style = PAM_PROMPT_ECHO_OFF; std::vector<const pam_message *> messages; messages.push_back (&first_message); messages.push_back (&second_message); std::vector<pam_response *> responses (2); int conv_result = conv->conv (2,messages.data(),responses.data(),conv->appdata_ptr);
Active Directory如何在设置新密码时比较用户以前的密码?
从Java读取Windows ACL
检测文件是否被操作系统阻止
将密钥材料传递给openssl命令
防止进程执行某些系统调用
如何使用ReflectionPermission来拒绝reflection
如何validation域凭据?
多个主机名和多个权限?
如何testing主机名称是否指本地机器
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。