Mercurial > crates > nonstick
comparison src/libpam/module.rs @ 104:a2676475e86b
Create the very start of a test suite.
- Creates a new testharness package
- Sets up the outlines of a test suite that will execute there
- A basic container where maybe those tests can execute
| author | Paul Fisher <paul@pfish.zone> |
|---|---|
| date | Wed, 25 Jun 2025 16:56:56 -0400 |
| parents | dfcd96a74ac4 |
| children | a508a69c068a |
comparison
equal
deleted
inserted
replaced
| 103:dfcd96a74ac4 | 104:a2676475e86b |
|---|---|
| 39 /// ``` | 39 /// ``` |
| 40 #[macro_export] | 40 #[macro_export] |
| 41 macro_rules! pam_hooks { | 41 macro_rules! pam_hooks { |
| 42 ($ident:ident) => { | 42 ($ident:ident) => { |
| 43 mod _pam_hooks_scope { | 43 mod _pam_hooks_scope { |
| 44 use std::ffi::{c_char, c_int, CStr}; | 44 use std::ffi::{c_char, c_int, c_void, CStr}; |
| 45 use $crate::{ErrorCode, Flags, LibPamHandle, PamModule}; | 45 use $crate::{ErrorCode, Flags, LibPamHandle, PamModule}; |
| 46 | 46 |
| 47 #[no_mangle] | 47 #[no_mangle] |
| 48 extern "C" fn pam_sm_acct_mgmt( | 48 extern "C" fn pam_sm_acct_mgmt( |
| 49 pamh: *mut libc::c_void, | 49 pamh: *mut c_void, |
| 50 flags: Flags, | 50 flags: Flags, |
| 51 argc: c_int, | 51 argc: c_int, |
| 52 argv: *const *const c_char, | 52 argv: *const *const c_char, |
| 53 ) -> c_int { | 53 ) -> c_int { |
| 54 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { | 54 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { |
| 59 } | 59 } |
| 60 } | 60 } |
| 61 | 61 |
| 62 #[no_mangle] | 62 #[no_mangle] |
| 63 extern "C" fn pam_sm_authenticate( | 63 extern "C" fn pam_sm_authenticate( |
| 64 pamh: *mut libc::c_void, | 64 pamh: *mut c_void, |
| 65 flags: Flags, | 65 flags: Flags, |
| 66 argc: c_int, | 66 argc: c_int, |
| 67 argv: *const *const c_char, | 67 argv: *const *const c_char, |
| 68 ) -> c_int { | 68 ) -> c_int { |
| 69 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { | 69 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { |
| 74 } | 74 } |
| 75 } | 75 } |
| 76 | 76 |
| 77 #[no_mangle] | 77 #[no_mangle] |
| 78 extern "C" fn pam_sm_chauthtok( | 78 extern "C" fn pam_sm_chauthtok( |
| 79 pamh: *mut libc::c_void, | 79 pamh: *mut c_void, |
| 80 flags: Flags, | 80 flags: Flags, |
| 81 argc: c_int, | 81 argc: c_int, |
| 82 argv: *const *const c_char, | 82 argv: *const *const c_char, |
| 83 ) -> c_int { | 83 ) -> c_int { |
| 84 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { | 84 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { |
| 89 } | 89 } |
| 90 } | 90 } |
| 91 | 91 |
| 92 #[no_mangle] | 92 #[no_mangle] |
| 93 extern "C" fn pam_sm_close_session( | 93 extern "C" fn pam_sm_close_session( |
| 94 pamh: *mut libc::c_void, | 94 pamh: *mut c_void, |
| 95 flags: Flags, | 95 flags: Flags, |
| 96 argc: c_int, | 96 argc: c_int, |
| 97 argv: *const *const c_char, | 97 argv: *const *const c_char, |
| 98 ) -> c_int { | 98 ) -> c_int { |
| 99 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { | 99 if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } { |
| 104 } | 104 } |
| 105 } | 105 } |
| 106 | 106 |
| 107 #[no_mangle] | 107 #[no_mangle] |
| 108 extern "C" fn pam_sm_open_session( | 108 extern "C" fn pam_sm_open_session( |
| 109 pamh: *mut libc::c_void, | 109 pamh: *mut c_void, |
| 110 flags: Flags, | 110 flags: Flags, |
| 111 argc: c_int, | 111 argc: c_int, |
| 112 argv: *const *const c_char, | 112 argv: *const *const c_char, |
| 113 ) -> c_int { | 113 ) -> c_int { |
| 114 let args = extract_argv(argc, argv); | 114 let args = extract_argv(argc, argv); |
| 119 } | 119 } |
| 120 } | 120 } |
| 121 | 121 |
| 122 #[no_mangle] | 122 #[no_mangle] |
| 123 extern "C" fn pam_sm_setcred( | 123 extern "C" fn pam_sm_setcred( |
| 124 pamh: *mut libc::c_void, | 124 pamh: *mut c_void, |
| 125 flags: Flags, | 125 flags: Flags, |
| 126 argc: c_int, | 126 argc: c_int, |
| 127 argv: *const *const c_char, | 127 argv: *const *const c_char, |
| 128 ) -> c_int { | 128 ) -> c_int { |
| 129 let args = extract_argv(argc, argv); | 129 let args = extract_argv(argc, argv); |
