Various logging fixlets (#39837)
This commit is contained in:
@@ -69,16 +69,21 @@ void pam_log_setup(void) {
|
||||
log_set_target(LOG_TARGET_SYSLOG);
|
||||
}
|
||||
|
||||
int errno_to_pam_error(int error) {
|
||||
return ERRNO_VALUE(error) == ENOMEM ? PAM_BUF_ERR : PAM_SERVICE_ERR;
|
||||
}
|
||||
|
||||
int pam_syslog_errno(pam_handle_t *handle, int level, int error, const char *format, ...) {
|
||||
va_list ap;
|
||||
|
||||
error = ERRNO_VALUE(error);
|
||||
LOCAL_ERRNO(error);
|
||||
|
||||
va_start(ap, format);
|
||||
sym_pam_vsyslog(handle, level, format, ap);
|
||||
va_end(ap);
|
||||
|
||||
return error == -ENOMEM ? PAM_BUF_ERR : PAM_SERVICE_ERR;
|
||||
return errno_to_pam_error(error);
|
||||
}
|
||||
|
||||
int pam_syslog_pam_error(pam_handle_t *handle, int level, int error, const char *format, ...) {
|
||||
|
||||
@@ -31,6 +31,8 @@ int dlopen_libpam(void);
|
||||
|
||||
void pam_log_setup(void);
|
||||
|
||||
int errno_to_pam_error(int error) _const_;
|
||||
|
||||
int pam_syslog_errno(pam_handle_t *handle, int level, int error, const char *format, ...) _printf_(4,5);
|
||||
|
||||
int pam_syslog_pam_error(pam_handle_t *handle, int level, int error, const char *format, ...) _printf_(4,5);
|
||||
@@ -45,8 +47,10 @@ int pam_syslog_pam_error(pam_handle_t *handle, int level, int error, const char
|
||||
/* Call pam_syslog_errno if debug is enabled */
|
||||
#define pam_debug_syslog_errno(handle, debug, error, fmt, ...) \
|
||||
({ \
|
||||
if (debug) \
|
||||
pam_syslog_errno(handle, LOG_DEBUG, error, fmt, ## __VA_ARGS__); \
|
||||
int _error = (error); \
|
||||
debug ? \
|
||||
pam_syslog_errno(handle, LOG_DEBUG, _error, fmt, ## __VA_ARGS__) : \
|
||||
errno_to_pam_error(_error); \
|
||||
})
|
||||
|
||||
static inline int pam_log_oom(pam_handle_t *handle) {
|
||||
|
||||
Reference in New Issue
Block a user