Mercurial > crates > nonstick
diff libpam-sys/src/constants.rs @ 118:39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Also formats and assorted other cleanup.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Sun, 29 Jun 2025 20:13:03 -0400 |
parents | 178310336596 |
children | f469b8d9ad78 |
line wrap: on
line diff
--- a/libpam-sys/src/constants.rs Sun Jun 29 18:48:14 2025 -0400 +++ b/libpam-sys/src/constants.rs Sun Jun 29 20:13:03 2025 -0400 @@ -39,6 +39,7 @@ // There are a few truly universal constants. // They are defined here directly. +/// The successful return code. pub const PAM_SUCCESS: i32 = 0; c_enum!( @@ -51,6 +52,7 @@ PAM_AUTHTOK, PAM_OLDAUTHTOK, PAM_RUSER, + PAM_USER_PROMPT, ); c_enum!( @@ -73,7 +75,7 @@ #[cfg_pam_impl("LinuxPam")] mod linux_pam { c_enum!( - /// An error code. + /// An error return code. PAM_OPEN_ERR = 1, PAM_SYMBOL_ERR, PAM_SERVICE_ERR, @@ -107,8 +109,6 @@ PAM_INCOMPLETE, _PAM_RETURN_VALUES, ); - /// An error code. - pub const PAM_AUTHTOK_RECOVER_ERR: i32 = 21; define!( /// A flag value. @@ -127,8 +127,7 @@ ); c_enum!( - PAM_USER_PROMPT = 9, - PAM_FAIL_DELAY, + PAM_FAIL_DELAY = 10, PAM_XDISPLAY, PAM_XAUTHDATA, PAM_AUTHTOK_TYPE, @@ -145,12 +144,12 @@ ); } -#[cfg_pam_impl(any("OpenPam", "OpenPamMinimal", "Sun"))] -pub use openpam_sun::*; -#[cfg_pam_impl(any("OpenPam", "OpenPamMinimal", "Sun"))] -mod openpam_sun { +#[cfg_pam_impl(any("OpenPam", "Sun", "XSso"))] +pub use xsso_shared::*; +#[cfg_pam_impl(any("OpenPam", "Sun", "XSso"))] +mod xsso_shared { c_enum!( - /// An error code. + /// An error return code. PAM_OPEN_ERR = 1, PAM_SYMBOL_ERR, PAM_SERVICE_ERR, @@ -179,17 +178,13 @@ PAM_ABORT, PAM_TRY_AGAIN, ); - - define!( - /// An item type. - PAM_USER_PROMPT = 9; - PAM_REPOSITORY = 10; - ); + // While `PAM_MODULE_UNKNOWN` and `PAM_DOMAIN_UNKNOWN` are in X/SSO, + // Sun doesn't use them so we're omitting them here. /// A general flag for PAM operations. pub const PAM_SILENT: i32 = 0x80000000u32 as i32; - /// The password must be non-null. + /// A flag for `pam_authenticate`. pub const PAM_DISALLOW_NULL_AUTHTOK: i32 = 0b1; define!( @@ -201,7 +196,7 @@ ); define!( - /// A flag for `pam_chauthtok`. + /// A flag for `pam_sm_chauthtok`. PAM_PRELIM_CHECK = 0b0001; PAM_UPDATE_AUTHTOK = 0b0010; PAM_CHANGE_EXPIRED_AUTHTOK = 0b0100; @@ -213,7 +208,7 @@ #[cfg_pam_impl("OpenPam")] mod openpam { c_enum!( - /// An error code. + /// An error return code. PAM_MODULE_UNKNOWN = 28, PAM_DOMAIN_UNKNOWN, PAM_BAD_HANDLE, @@ -221,12 +216,13 @@ PAM_BAD_FEATURE, PAM_BAD_CONSTANT, ); - /// The total number of PAM error codes. + /// The total number of PAM error codes (including success). pub const PAM_NUM_ERRORS: i32 = 34; c_enum!( /// An item type. - PAM_AUTHTOK_PROMPT = 11, + PAM_REPOSITORY = 10, + PAM_AUTHTOK_PROMPT, PAM_OLDAUTHTOK_PROMPT, PAM_HOST, ); @@ -262,10 +258,11 @@ /// The total number of PAM error codes. pub const PAM_TOTAL_ERRNUM: i32 = 28; - define!( + c_enum!( /// An item type. - PAM_RESOURCE = 11; - PAM_AUSER = 12; + PAM_REPOSITORY = 10, + PAM_RESOURCE, + PAM_AUSER, ); /// A flag for `pam_chauthtok`.