Mercurial > crates > nonstick
comparison pam/src/conv.rs @ 28:81a9f0479e50
conv: fix bug where pam prompts were not being shown
| author | holycleugh <holycleugh> |
|---|---|
| date | Sun, 30 Dec 2018 03:40:04 -0500 |
| parents | 0ceeffe67ec4 |
| children | c16564971c05 |
comparison
equal
deleted
inserted
replaced
| 27:0ceeffe67ec4 | 28:81a9f0479e50 |
|---|---|
| 53 /// Note that the user experience will depend on how the client implements | 53 /// Note that the user experience will depend on how the client implements |
| 54 /// these message styles - and not all applications implement all message | 54 /// these message styles - and not all applications implement all message |
| 55 /// styles. | 55 /// styles. |
| 56 pub fn send(&self, style: PamMessageStyle, msg: &str) -> PamResult<Option<String>> { | 56 pub fn send(&self, style: PamMessageStyle, msg: &str) -> PamResult<Option<String>> { |
| 57 let mut resp_ptr: *const PamResponse = ptr::null(); | 57 let mut resp_ptr: *const PamResponse = ptr::null(); |
| 58 let msg_cstr = CString::new(msg).unwrap(); | |
| 58 let msg = PamMessage { | 59 let msg = PamMessage { |
| 59 msg_style: style, | 60 msg_style: style, |
| 60 msg: CString::new(msg).unwrap().as_ptr(), | 61 msg: msg_cstr.as_ptr(), |
| 61 }; | 62 }; |
| 62 | 63 |
| 63 let ret = (self.conv)(1, &&msg, &mut resp_ptr, self.appdata_ptr); | 64 let ret = (self.conv)(1, &&msg, &mut resp_ptr, self.appdata_ptr); |
| 64 | 65 |
| 65 if PamResultCode::PAM_SUCCESS == ret { | 66 if PamResultCode::PAM_SUCCESS == ret { |
