From b979bf5686e35e5da299b8429686e90cca6fc852 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 25 Jan 2007 15:05:23 +0000 Subject: r21020: Some pam_winbind fixes: * make debug_state also configurable from the config file * minor code cleanup Guenther (This used to be commit c562095953df55c91e3dad8f5c29c0b66664b62b) --- source3/nsswitch/pam_winbind.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'source3/nsswitch') diff --git a/source3/nsswitch/pam_winbind.c b/source3/nsswitch/pam_winbind.c index 8dc5f65f4b..e8c0988923 100644 --- a/source3/nsswitch/pam_winbind.c +++ b/source3/nsswitch/pam_winbind.c @@ -73,9 +73,9 @@ static void _pam_log_int(const pam_handle_t *pamh, int err, const char *format, } #endif /* HAVE_PAM_VSYSLOG */ -static int _pam_log_is_silent(int ctrl) +static BOOL _pam_log_is_silent(int ctrl) { - return (ctrl & WINBIND_SILENT) ? 1 : 0; + return on(ctrl, WINBIND_SILENT); } static void _pam_log(const pam_handle_t *pamh, int ctrl, int err, const char *format, ...) @@ -91,27 +91,27 @@ static void _pam_log(const pam_handle_t *pamh, int ctrl, int err, const char *fo va_end(args); } -static int _pam_log_is_debug_enabled(int ctrl) +static BOOL _pam_log_is_debug_enabled(int ctrl) { if (ctrl == -1) { - return 0; + return False; } if (_pam_log_is_silent(ctrl)) { - return 0; + return False; } if (!(ctrl & WINBIND_DEBUG_ARG)) { - return 0; + return False; } - return 1; + return True; } -static int _pam_log_is_debug_state_enabled(int ctrl) +static BOOL _pam_log_is_debug_state_enabled(int ctrl) { if (!(ctrl & WINBIND_DEBUG_STATE)) { - return 0; + return False; } return _pam_log_is_debug_enabled(ctrl); @@ -267,6 +267,8 @@ config_from_pam: /* generic options */ if (!strcmp(*v,"debug")) ctrl |= WINBIND_DEBUG_ARG; + else if (!strcasecmp(*v, "debug_state")) + ctrl |= WINBIND_DEBUG_STATE; else if (!strcasecmp(*v, "use_authtok")) ctrl |= WINBIND_USE_AUTHTOK_ARG; else if (!strcasecmp(*v, "use_first_pass")) @@ -702,8 +704,7 @@ static int winbind_name_list_to_sid_string_list(pam_handle_t *pamh, goto out; } - free(current_name); - current_name = NULL; + SAFE_FREE(current_name); if (!safe_append_string(sid_list_buffer, ",", sid_list_buffer_size)) { goto out; @@ -719,9 +720,7 @@ static int winbind_name_list_to_sid_string_list(pam_handle_t *pamh, result = 1; out: - if (current_name != NULL) { - free(current_name); - } + SAFE_FREE(current_name); return result; } -- cgit