From 86a621a1a3e08bad8a0b276d8444f1f69a500385 Mon Sep 17 00:00:00 2001 From: Holger Hetterich Date: Mon, 13 Oct 2008 14:14:25 -0700 Subject: [PATCH] Enable optional anonymization of user names, if the configuration parameter anonymization_prefix is defined in smb.conf, and use the prefix given there. --- source/modules/vfs_smb_traffic_analyzer.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/source/modules/vfs_smb_traffic_analyzer.c b/source/modules/vfs_smb_traffic_analyzer.c index 1402b7c62241..a4e3a3bda1ab 100644 --- a/source/modules/vfs_smb_traffic_analyzer.c +++ b/source/modules/vfs_smb_traffic_analyzer.c @@ -43,6 +43,7 @@ static enum sock_type smb_traffic_analyzer_connMode(vfs_handle_struct *handle) } } + /* Connect to an internet socket */ static int smb_traffic_analyzer_connect_inet_socket(vfs_handle_struct *handle, @@ -161,6 +162,8 @@ static void smb_traffic_analyzer_send_data(vfs_handle_struct *handle, struct tm *tm = NULL; int seconds; char *str = NULL; + const char *username = NULL; + const char *anon_prefix = NULL; size_t len; SMB_VFS_HANDLE_GET_DATA(handle, rf_sock, struct refcounted_sock, return); @@ -179,11 +182,27 @@ static void smb_traffic_analyzer_send_data(vfs_handle_struct *handle, } seconds=(float) (tv.tv_usec / 1000); + /* check if anonymization is required */ + + anon_prefix=lp_parm_const_string(SNUM(handle->conn),"smb_traffic_analyzer",\ + "anonymize_prefix", NULL ); + if (anon_prefix!=NULL) { + username = talloc_asprintf(talloc_tos(), + "%s%i", + anon_prefix, + str_checksum(get_current_username())); + } else { + username = get_current_username(); + } + + if (!username) { + return; + } str = talloc_asprintf(talloc_tos(), "V1,%u,\"%s\",\"%s\",\"%c\",\"%s\",\"%s\"," "\"%04d-%02d-%02d %02d:%02d:%02d.%03d\"\n", (unsigned int)result, - get_current_username(), + username, current_user_info.domain, Write ? 'W' : 'R', handle->conn->connectpath, -- 2.34.1