Mercurial > crates > nonstick
comparison build.rs @ 92:5ddbcada30f2
Add the ability to log against a PAM handle.
PAM impls provide a way to log to syslog. This exposes it via nonstick.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Sun, 22 Jun 2025 19:29:32 -0400 |
parents | f6186e41399b |
children | efe2f5f8b5b2 |
comparison
equal
deleted
inserted
replaced
91:039aae9a01f7 | 92:5ddbcada30f2 |
---|---|
21 .default_macro_constant_type(MacroTypeVariation::Unsigned); | 21 .default_macro_constant_type(MacroTypeVariation::Unsigned); |
22 | 22 |
23 let linux_builder = common_builder | 23 let linux_builder = common_builder |
24 .clone() | 24 .clone() |
25 // This function is not available in OpenPAM. | 25 // This function is not available in OpenPAM. |
26 // We don't use it, but we include it so that if the user | 26 // That means if somebody tries to run a binary compiled for |
27 // tries to run this against the wrong PAM library, it fails. | 27 // Linux-PAM against a different impl, it will fail. |
28 .allowlist_function("pam_start_confdir") | 28 .allowlist_function("pam_syslog") |
29 .header_contents( | 29 .header_contents( |
30 "linux-pam.h", | 30 "linux-pam.h", |
31 r#" | 31 r#" |
32 #include <syslog.h> // for log levels | |
32 #include <security/_pam_types.h> | 33 #include <security/_pam_types.h> |
33 #include <security/pam_appl.h> | 34 #include <security/pam_appl.h> |
34 #include <security/pam_ext.h> | 35 #include <security/pam_ext.h> |
35 #include <security/pam_modules.h> | 36 #include <security/pam_modules.h> |
36 "#, | 37 "#, |
37 ); | 38 ); |
38 let openpam_builder = common_builder | 39 let openpam_builder = common_builder |
39 .clone() | 40 .clone() |
40 // This function is not available in Linux-PAM. | 41 // This function is not available in Linux-PAM. |
41 // We don't use it, but we include it so that if the user | 42 // That means if somebody tries to run a binary compiled for |
42 // tries to run this against the wrong PAM library, it fails. | 43 // OpenPAM against a different impl, it will fail. |
43 .allowlist_function("pam_setenv") | 44 .allowlist_function("openpam_log") |
44 .header_contents( | 45 .header_contents( |
45 "openpam.h", | 46 "openpam.h", |
46 r#" | 47 r#" |
47 #include <security/pam_types.h> | 48 #include <security/pam_types.h> |
48 #include <security/openpam.h> | 49 #include <security/openpam.h> |