1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-08 05:57:51 +03:00

r21020: Some pam_winbind fixes:

* make debug_state also configurable from the config file
* minor code cleanup

Guenther
(This used to be commit c562095953df55c91e3dad8f5c29c0b66664b62b)
This commit is contained in:
Günther Deschner 2007-01-25 15:05:23 +00:00 committed by Gerald (Jerry) Carter
parent 74f38589b3
commit b979bf5686

View File

@ -73,9 +73,9 @@ static void _pam_log_int(const pam_handle_t *pamh, int err, const char *format,
} }
#endif /* HAVE_PAM_VSYSLOG */ #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, ...) 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); va_end(args);
} }
static int _pam_log_is_debug_enabled(int ctrl) static BOOL _pam_log_is_debug_enabled(int ctrl)
{ {
if (ctrl == -1) { if (ctrl == -1) {
return 0; return False;
} }
if (_pam_log_is_silent(ctrl)) { if (_pam_log_is_silent(ctrl)) {
return 0; return False;
} }
if (!(ctrl & WINBIND_DEBUG_ARG)) { 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)) { if (!(ctrl & WINBIND_DEBUG_STATE)) {
return 0; return False;
} }
return _pam_log_is_debug_enabled(ctrl); return _pam_log_is_debug_enabled(ctrl);
@ -267,6 +267,8 @@ config_from_pam:
/* generic options */ /* generic options */
if (!strcmp(*v,"debug")) if (!strcmp(*v,"debug"))
ctrl |= WINBIND_DEBUG_ARG; ctrl |= WINBIND_DEBUG_ARG;
else if (!strcasecmp(*v, "debug_state"))
ctrl |= WINBIND_DEBUG_STATE;
else if (!strcasecmp(*v, "use_authtok")) else if (!strcasecmp(*v, "use_authtok"))
ctrl |= WINBIND_USE_AUTHTOK_ARG; ctrl |= WINBIND_USE_AUTHTOK_ARG;
else if (!strcasecmp(*v, "use_first_pass")) 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; goto out;
} }
free(current_name); SAFE_FREE(current_name);
current_name = NULL;
if (!safe_append_string(sid_list_buffer, ",", sid_list_buffer_size)) { if (!safe_append_string(sid_list_buffer, ",", sid_list_buffer_size)) {
goto out; goto out;
@ -719,9 +720,7 @@ static int winbind_name_list_to_sid_string_list(pam_handle_t *pamh,
result = 1; result = 1;
out: out:
if (current_name != NULL) { SAFE_FREE(current_name);
free(current_name);
}
return result; return result;
} }