Skip to content

Commit

Permalink
auth: Added passdb/userdb { auth_verbose } setting.
Browse files Browse the repository at this point in the history
If this is explicitly set to yes or no, it overrides the global auth_verbose
setting. However, auth_debug=yes overrides all of the auth_verbose settings.
  • Loading branch information
sirainen authored and GitLab committed Apr 19, 2016
1 parent 291ce16 commit b484ab4
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 4 deletions.
21 changes: 19 additions & 2 deletions src/auth/auth-request.c
Expand Up @@ -2185,8 +2185,25 @@ void auth_request_log_info(struct auth_request *auth_request,
{
va_list va;

if (!auth_request->set->verbose)
return;
if (auth_request->set->debug) {
/* auth_debug=yes overrides auth_verbose settings */
} else {
const char *db_auth_verbose = auth_request->userdb_lookup ?
auth_request->userdb->set->auth_verbose :
auth_request->passdb->set->auth_verbose;
switch (db_auth_verbose[0]) {
case 'y':
break;
case 'n':
return;
case 'd':
if (!auth_request->set->verbose)
return;
break;
default:
i_unreached();
}
}

va_start(va, format);
T_BEGIN {
Expand Down
10 changes: 8 additions & 2 deletions src/auth/auth-settings.c
Expand Up @@ -121,6 +121,7 @@ static const struct setting_define auth_passdb_setting_defines[] = {
DEF(SET_BOOL, deny),
DEF(SET_BOOL, pass),
DEF(SET_BOOL, master),
DEF(SET_ENUM, auth_verbose),

SETTING_DEFINE_LIST_END
};
Expand All @@ -139,7 +140,8 @@ static const struct auth_passdb_settings auth_passdb_default_settings = {

.deny = FALSE,
.pass = FALSE,
.master = FALSE
.master = FALSE,
.auth_verbose = "default:yes:no"
};

const struct setting_parser_info auth_passdb_setting_parser_info = {
Expand Down Expand Up @@ -171,6 +173,8 @@ static const struct setting_define auth_userdb_setting_defines[] = {
DEF(SET_ENUM, result_failure),
DEF(SET_ENUM, result_internalfail),

DEF(SET_ENUM, auth_verbose),

SETTING_DEFINE_LIST_END
};

Expand All @@ -185,7 +189,9 @@ static const struct auth_userdb_settings auth_userdb_default_settings = {
.skip = "never:found:notfound",
.result_success = "return-ok:return:return-fail:continue:continue-ok:continue-fail",
.result_failure = "continue:return:return-ok:return-fail:continue-ok:continue-fail",
.result_internalfail = "continue:return:return-ok:return-fail:continue-ok:continue-fail"
.result_internalfail = "continue:return:return-ok:return-fail:continue-ok:continue-fail",

.auth_verbose = "default:yes:no"
};

const struct setting_parser_info auth_userdb_setting_parser_info = {
Expand Down
2 changes: 2 additions & 0 deletions src/auth/auth-settings.h
Expand Up @@ -18,6 +18,7 @@ struct auth_passdb_settings {
bool deny;
bool pass; /* deprecated, use result_success=continue instead */
bool master;
const char *auth_verbose;
};

struct auth_userdb_settings {
Expand All @@ -31,6 +32,7 @@ struct auth_userdb_settings {
const char *result_success;
const char *result_failure;
const char *result_internalfail;
const char *auth_verbose;
};

struct auth_settings {
Expand Down

0 comments on commit b484ab4

Please sign in to comment.