The branch, v4-6-test has been updated via e1c58ec s3: smbd: Unix extensions attempts to change wrong field in fchown call. via b11b0e0 s3:smbd: map nterror on smb2_flush errorpath via 24354b0 vfs_glusterfs: Fix the wrong pointer being sent in glfs_fsync_async via 94d91c9 s3: smbd: Fix possible directory fd leak if the underlying OS doesn't support fdopendir() via 8f4202e s3: ldap: Ensure the ADS_STRUCT pointer doesn't get freed on error, we don't own it here. from 0afb85c tests/bind.py: Add a bind test with NTLMSSP with no domain
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-6-test - Log ----------------------------------------------------------------- commit e1c58ec4eed3479cb28f90b3982648dcf7cf88fb Author: Jeremy Allison <j...@samba.org> Date: Mon Apr 9 09:32:23 2018 -0700 s3: smbd: Unix extensions attempts to change wrong field in fchown call. Cut and paste error. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13375 Reported-by: Rungta, Vandana <vrun...@amazon.com> Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: David Disseldorp <dd...@samba.org> Autobuild-User(master): David Disseldorp <dd...@samba.org> Autobuild-Date(master): Tue Apr 10 00:45:56 CEST 2018 on sn-devel-144 (cherry picked from commit 3227b110d065500ed84fc70063da70ab35823a2e) Autobuild-User(v4-6-test): Karolin Seeger <ksee...@samba.org> Autobuild-Date(v4-6-test): Wed Apr 11 16:55:21 CEST 2018 on sn-devel-144 commit b11b0e0f7fcbc72814c2240aff8ed35519f022b9 Author: Anton Nefedov via samba-technical <samba-techni...@lists.samba.org> Date: Thu Mar 15 14:38:41 2018 +0300 s3:smbd: map nterror on smb2_flush errorpath smbd_smb2_flush_recv() expects nterror in tevent_req, and otherwise aborts in tevent_req_is_nterror() BUG: https://bugzilla.samba.org/show_bug.cgi?id=13338 Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 98623129446672521b7fa41d3457b8ce95db828c) commit 24354b0fdaa0512ffc50c9f037135f4f1d11a008 Author: Poornima G <pguru...@redhat.com> Date: Thu Feb 22 16:21:35 2018 +0530 vfs_glusterfs: Fix the wrong pointer being sent in glfs_fsync_async BUG: https://bugzilla.samba.org/show_bug.cgi?id=13297 Pair-Programmed-With: Anoop C S <anoo...@redhat.com> Signed-off-by: Poornima G <pguru...@redhat.com> Reviewed-by: Guenther Deschner <g...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> Autobuild-User(master): Günther Deschner <g...@samba.org> Autobuild-Date(master): Mon Feb 26 20:17:50 CET 2018 on sn-devel-144 (cherry picked from commit 46e6626f73f42c84f254507c3ec2b591e2e732ba) commit 94d91c990630c157bc162c2baf600a97c359af51 Author: Jeremy Allison <j...@samba.org> Date: Wed Feb 14 13:23:12 2018 -0800 s3: smbd: Fix possible directory fd leak if the underlying OS doesn't support fdopendir() HPUX has this problem. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13270 Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Ralph Boehme <s...@samba.org> Autobuild-User(master): Ralph Böhme <s...@samba.org> Autobuild-Date(master): Fri Feb 23 22:56:35 CET 2018 on sn-devel-144 (cherry picked from commit 5ad5e7966f555b1d2b39d276646934a2cd2535e6) commit 8f4202e0d98bd497286dc2dea63883bf880d811b Author: Jeremy Allison <j...@samba.org> Date: Wed Jan 24 14:09:43 2018 -0800 s3: ldap: Ensure the ADS_STRUCT pointer doesn't get freed on error, we don't own it here. Thanks to Isaac Boukris <ibouk...@gmail.com> for finding the issue and testing this fix. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13244 Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Fri Jan 26 02:25:20 CET 2018 on sn-devel-144 (cherry picked from commit e7425bd5245ffea68b7e8f794c9b5f864d103769) ----------------------------------------------------------------------- Summary of changes: source3/libads/ldap_utils.c | 9 +++++++++ source3/modules/vfs_glusterfs.c | 2 +- source3/smbd/smb2_flush.c | 2 +- source3/smbd/smb2_query_directory.c | 9 ++++++--- source3/smbd/trans2.c | 4 ++-- 5 files changed, 19 insertions(+), 7 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/libads/ldap_utils.c b/source3/libads/ldap_utils.c index a4adbc0..0c37b06 100644 --- a/source3/libads/ldap_utils.c +++ b/source3/libads/ldap_utils.c @@ -105,9 +105,18 @@ static ADS_STATUS ads_do_search_retry_internal(ADS_STRUCT *ads, const char *bind status = ads_connect(ads); if (!ADS_ERR_OK(status)) { + bool orig_is_mine = ads->is_mine; + DEBUG(1,("ads_search_retry: failed to reconnect (%s)\n", ads_errstr(status))); + /* + * We need to keep the ads pointer + * from being freed here as we don't own it and + * callers depend on it being around. + */ + ads->is_mine = false; ads_destroy(&ads); + ads->is_mine = orig_is_mine; SAFE_FREE(bp); return status; } diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c index 09e74eb..6200333 100644 --- a/source3/modules/vfs_glusterfs.c +++ b/source3/modules/vfs_glusterfs.c @@ -961,7 +961,7 @@ static struct tevent_req *vfs_gluster_fsync_send(struct vfs_handle_struct PROFILE_TIMESTAMP(&state->start); ret = glfs_fsync_async(*(glfs_fd_t **)VFS_FETCH_FSP_EXTENSION(handle, - fsp), aio_glusterfs_done, req); + fsp), aio_glusterfs_done, state); if (ret < 0) { tevent_req_error(req, -ret); return tevent_req_post(req, ev); diff --git a/source3/smbd/smb2_flush.c b/source3/smbd/smb2_flush.c index d077c62..51584ca 100644 --- a/source3/smbd/smb2_flush.c +++ b/source3/smbd/smb2_flush.c @@ -198,7 +198,7 @@ static void smbd_smb2_flush_done(struct tevent_req *subreq) ret = SMB_VFS_FSYNC_RECV(subreq, &vfs_aio_state); TALLOC_FREE(subreq); if (ret == -1) { - tevent_req_error(req, vfs_aio_state.error); + tevent_req_nterror(req, map_nt_error_from_unix(vfs_aio_state.error)); return; } tevent_req_done(req); diff --git a/source3/smbd/smb2_query_directory.c b/source3/smbd/smb2_query_directory.c index 2af029b..2c6aa51 100644 --- a/source3/smbd/smb2_query_directory.c +++ b/source3/smbd/smb2_query_directory.c @@ -325,11 +325,14 @@ static struct tevent_req *smbd_smb2_query_directory_send(TALLOC_CTX *mem_ctx, if (in_flags & SMB2_CONTINUE_FLAG_REOPEN) { int flags; - dptr_CloseDir(fsp); + status = fd_close(fsp); + if (tevent_req_nterror(req, status)) { + return tevent_req_post(req, ev); + } /* - * dptr_CloseDir() will close and invalidate the fsp's file - * descriptor, we have to reopen it. + * fd_close() will close and invalidate the fsp's file + * descriptor. So we have to reopen it. */ flags = O_RDONLY; diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index f0d8e7d..ec7a5fa 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -7751,10 +7751,10 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct *conn, DEBUG(10,("smb_set_file_unix_basic: SMB_SET_FILE_UNIX_BASIC " "changing group %u for file %s\n", - (unsigned int)set_owner, + (unsigned int)set_grp, smb_fname_str_dbg(smb_fname))); if (fsp && fsp->fh->fd != -1) { - ret = SMB_VFS_FCHOWN(fsp, set_owner, (gid_t)-1); + ret = SMB_VFS_FCHOWN(fsp, (uid_t)-1, set_grp); } else { /* * UNIX extensions calls must always operate -- Samba Shared Repository