1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

Check "auth event notification" param in log_json

When Samba is compiled with JSON support it logs an error message
at log level 3 by default for every authentication event:

get_auth_event_server: Failed to find 'auth_event' registered on the
message bus to send JSON authentication events to:
NT_STATUS_OBJECT_NAME_NOT_FOUND

This patch adjusts the log_json function to consider the smb.conf
parameter "auth event notification" before calling auth_message_send.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13381

Signed-off-by: Arvid Requate <requate@univention.de>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Thu Apr 12 08:12:39 CEST 2018 on sn-devel-144
This commit is contained in:
Arvid Requate 2018-04-11 21:46:25 +02:00 committed by Andrew Bartlett
parent 040a526a3b
commit 490756a840

View File

@ -201,6 +201,7 @@ static void auth_message_send(struct imessaging_context *msg_ctx,
* *
*/ */
static void log_json(struct imessaging_context *msg_ctx, static void log_json(struct imessaging_context *msg_ctx,
struct loadparm_context *lp_ctx,
struct json_context *context, struct json_context *context,
const char *type, int debug_class, int debug_level) const char *type, int debug_class, int debug_level)
{ {
@ -218,7 +219,9 @@ static void log_json(struct imessaging_context *msg_ctx,
} }
DEBUGC(debug_class, debug_level, ("JSON %s: %s\n", type, json)); DEBUGC(debug_class, debug_level, ("JSON %s: %s\n", type, json));
auth_message_send(msg_ctx, json); if (msg_ctx && lp_ctx && lpcfg_auth_event_notification(lp_ctx)) {
auth_message_send(msg_ctx, json);
}
if (json) { if (json) {
free(json); free(json);
@ -502,7 +505,12 @@ static void log_authentication_event_json(
add_string(&authentication, "passwordType", get_password_type(ui)); add_string(&authentication, "passwordType", get_password_type(ui));
add_object(&context,AUTH_JSON_TYPE, &authentication); add_object(&context,AUTH_JSON_TYPE, &authentication);
log_json(msg_ctx, &context, AUTH_JSON_TYPE, DBGC_AUTH_AUDIT, debug_level); log_json(msg_ctx,
lp_ctx,
&context,
AUTH_JSON_TYPE,
DBGC_AUTH_AUDIT,
debug_level);
free_json_context(&context); free_json_context(&context);
} }
@ -566,6 +574,7 @@ static void log_successful_authz_event_json(
add_object(&context,AUTHZ_JSON_TYPE, &authorization); add_object(&context,AUTHZ_JSON_TYPE, &authorization);
log_json(msg_ctx, log_json(msg_ctx,
lp_ctx,
&context, &context,
AUTHZ_JSON_TYPE, AUTHZ_JSON_TYPE,
DBGC_AUTH_AUDIT, DBGC_AUTH_AUDIT,