diff src/logging.rs @ 108:e97534be35e3

Make some proc macros for doing cfg-like stuff for PAM impls.
author Paul Fisher <paul@pfish.zone>
date Sat, 28 Jun 2025 00:34:45 -0400
parents dfcd96a74ac4
children 178310336596
line wrap: on
line diff
--- a/src/logging.rs	Thu Jun 26 22:42:32 2025 -0400
+++ b/src/logging.rs	Sat Jun 28 00:34:45 2025 -0400
@@ -15,33 +15,20 @@
 //! and may even itself implement `log::Log`, but that interface is not exposed
 //! to the generic PAM user.
 
-#[cfg(feature = "link")]
+#[cfg(all(feature = "link", pam_impl = "openpam"))]
 mod levels {
-    pub use internal::*;
-    #[cfg(pam_impl = "linux-pam")]
-    mod internal {
-        use crate::libpam::pam_ffi;
-        pub const ERROR: u32 = pam_ffi::LOG_ERR;
-        pub const WARN: u32 = pam_ffi::LOG_WARNING;
-        pub const INFO: u32 = pam_ffi::LOG_INFO;
-        pub const DEBUG: u32 = pam_ffi::LOG_DEBUG;
-    }
-    #[cfg(pam_impl = "openpam")]
-    mod internal {
-        use crate::libpam::pam_ffi;
-        pub const ERROR: u32 = pam_ffi::PAM_LOG_ERROR;
-        pub const WARN: u32 = pam_ffi::PAM_LOG_NOTICE;
-        pub const INFO: u32 = pam_ffi::PAM_LOG_VERBOSE;
-        pub const DEBUG: u32 = pam_ffi::PAM_LOG_DEBUG;
-    }
+    use crate::libpam::pam_ffi;
+    pub const ERROR: u32 = pam_ffi::PAM_LOG_ERROR;
+    pub const WARN: u32 = pam_ffi::PAM_LOG_NOTICE;
+    pub const INFO: u32 = pam_ffi::PAM_LOG_VERBOSE;
+    pub const DEBUG: u32 = pam_ffi::PAM_LOG_DEBUG;
 }
-
-#[cfg(not(feature = "link"))]
+#[cfg(not(all(feature = "link", pam_impl = "openpam")))]
 mod levels {
-    pub const ERROR: u32 = 2255887;
-    pub const WARN: u32 = 7265000;
-    pub const INFO: u32 = 7762323;
-    pub const DEBUG: u32 = 8675309;
+    pub const ERROR: u32 = libc::LOG_ERR as u32;
+    pub const WARN: u32 = libc::LOG_WARNING as u32;
+    pub const INFO: u32 = libc::LOG_INFO as u32;
+    pub const DEBUG: u32 = libc::LOG_DEBUG as u32;
 }
 
 /// An entry to be added to the log.