From 9cef88d9b83f23150f9cfaca49e4f94a4e1e5af5 Mon Sep 17 00:00:00 2001 From: Ralph Wuerthner Date: Wed, 8 Aug 2018 17:42:18 +0200 Subject: [PATCH 1/2] s3: vfs: time_audit: fix handling of token_blob in smb_time_audit_offload_read_recv() BUG: https://bugzilla.samba.org/show_bug.cgi?id=13568 Signed-off-by: Ralph Wuerthner Reviewed-by: Christof Schmitt Reviewed-by: Jeremy Allison (cherry picked from commit 4909b966050c921b0a6a32285fee55f5f14dc3ff) --- source3/modules/vfs_time_audit.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c index e85ded5..1969573 100644 --- a/source3/modules/vfs_time_audit.c +++ b/source3/modules/vfs_time_audit.c @@ -1873,13 +1873,12 @@ static NTSTATUS smb_time_audit_offload_read_recv( struct tevent_req *req, struct vfs_handle_struct *handle, TALLOC_CTX *mem_ctx, - DATA_BLOB *_token_blob) + DATA_BLOB *token_blob) { struct time_audit_offload_read_state *state = tevent_req_data( req, struct time_audit_offload_read_state); struct timespec ts_recv; double timediff; - DATA_BLOB token_blob; NTSTATUS status; clock_gettime_mono(&ts_recv); @@ -1893,13 +1892,8 @@ static NTSTATUS smb_time_audit_offload_read_recv( return status; } - token_blob = data_blob_talloc(mem_ctx, - state->token_blob.data, - state->token_blob.length); - if (token_blob.data == NULL) { - tevent_req_received(req); - return NT_STATUS_NO_MEMORY; - } + token_blob->length = state->token_blob.length; + token_blob->data = talloc_move(mem_ctx, &state->token_blob.data); tevent_req_received(req); return NT_STATUS_OK; -- 1.8.3.1 From abaf614860994b501314d3a8fbb699e4a5aed175 Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Fri, 10 Aug 2018 10:38:28 -0700 Subject: [PATCH 2/2] selftest: Load time_audit and full_audit modules for all tests Previously the only test was to load these modules to trigger the smb_vfs_assert_all_fns check. As these modules just pass through the calls, they can be loaded for all tests to ensure that the codepaths are exercised. This would have found the problem in smb_time_audit_offload_read_recv. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13568 Signed-off-by: Christof Schmitt Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Mon Aug 13 22:35:20 CEST 2018 on sn-devel-144 (cherry picked from commit a98f09a09db2fc7be85f9171b586e65344a39e92) --- selftest/target/Samba3.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index fee7e21..24d3d7d 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -762,14 +762,10 @@ sub setup_simpleserver my $simpleserver_options = " lanman auth = yes ntlm auth = yes - vfs objects = xattr_tdb streams_depot time_audit full_audit + vfs objects = xattr_tdb streams_depot change notify = no smb encrypt = off - full_audit:syslog = no - full_audit:success = none - full_audit:failure = none - [vfs_aio_pthread] path = $prefix_abs/share read only = no @@ -1723,7 +1719,11 @@ sub provision($$$$$$$$$) dos filemode = yes strict rename = yes strict sync = yes - vfs objects = acl_xattr fake_acls xattr_tdb streams_depot + vfs objects = acl_xattr fake_acls xattr_tdb streams_depot time_audit full_audit + + full_audit:syslog = no + full_audit:success = none + full_audit:failure = none printing = vlp print command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb print %p %s -- 1.8.3.1