From 3348c3f8385d912d2a9e34c5ef83e4c475ab6c13 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 23 Apr 2012 17:49:49 -0700 Subject: [PATCH] Fix bug #8882 - Broken processing of %U with vfs_full_audit when force user is set. When doing a "force user" we need to remember what the "sanitized_username" was from the original connect. --- source3/smbd/service.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/source3/smbd/service.c b/source3/smbd/service.c index f57e57f..6c8c8d3 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -696,6 +696,14 @@ NTSTATUS set_conn_force_user_group(connection_struct *conn, int snum) return status; } + /* We don't want to replace the original sanitized_username + as it is the original user given in the connect attempt. + This is used in '%U' substitutions. */ + TALLOC_FREE(forced_serverinfo->sanitized_username); + forced_serverinfo->sanitized_username = + talloc_move(forced_serverinfo, + &conn->session_info->sanitized_username); + TALLOC_FREE(conn->session_info); conn->session_info = forced_serverinfo; -- 1.7.7.3