The Samba-Bugzilla – Attachment 13171 Details for
Bug 12749
Can't case-rename files with vfs_fruit
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for 4.5 and 4.6 cherry-picked from master
bug12749-v45,v46.patch (text/plain), 2.40 KB, created by
Ralph Böhme
on 2017-04-24 08:11:19 UTC
(
hide
)
Description:
Patch for 4.5 and 4.6 cherry-picked from master
Filename:
MIME Type:
Creator:
Ralph Böhme
Created:
2017-04-24 08:11:19 UTC
Size:
2.40 KB
patch
obsolete
>From cb6767efe248b508ce85cc8ad97018f148682f32 Mon Sep 17 00:00:00 2001 >From: Ralph Boehme <slow@samba.org> >Date: Wed, 19 Apr 2017 13:12:55 +0200 >Subject: [PATCH] vfs_fruit: lp_case_sensitive() does not return a bool > >lp_case_sensitive() returns an int, not a bool, so with the default >setting of "Auto" by default we set the AAPL flag >SMB2_CRTCTX_AAPL_CASE_SENSITIVE. > >This caused the client to believe the volume is case sensitive where it >wasn't, leading to an error when trying to rename files changing only >the case of the name. > >Also fix the existing torture test that verifies AAPL context >negotiation and actually expected the server to return "case sensitive", >while the Samba default is really "case insensitive". > >Bug: https://bugzilla.samba.org/show_bug.cgi?id=12749 > >Signed-off-by: Ralph Boehme <slow@samba.org> >Reviewed-by: Jeremy Allison <jra@samba.org> >(cherry picked from commit 36612723b2b18675116b6197183bdfe5e1d9e06f) >--- > source3/modules/vfs_fruit.c | 20 +++++++++++++++++--- > source4/torture/vfs/fruit.c | 4 ++-- > 2 files changed, 19 insertions(+), 5 deletions(-) > >diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c >index 89d7bfe..9a55c9e 100644 >--- a/source3/modules/vfs_fruit.c >+++ b/source3/modules/vfs_fruit.c >@@ -2201,9 +2201,23 @@ static NTSTATUS check_aapl(vfs_handle_struct *handle, > } > > if (req_bitmap & SMB2_CRTCTX_AAPL_VOLUME_CAPS) { >- SBVAL(p, 0, >- lp_case_sensitive(SNUM(handle->conn->tcon->compat)) ? >- SMB2_CRTCTX_AAPL_CASE_SENSITIVE : 0); >+ int val = lp_case_sensitive(SNUM(handle->conn->tcon->compat)); >+ uint64_t caps = 0; >+ >+ switch (val) { >+ case Auto: >+ break; >+ >+ case True: >+ caps |= SMB2_CRTCTX_AAPL_CASE_SENSITIVE; >+ break; >+ >+ default: >+ break; >+ } >+ >+ SBVAL(p, 0, caps); >+ > ok = data_blob_append(req, &blob, p, 8); > if (!ok) { > return NT_STATUS_UNSUCCESSFUL; >diff --git a/source4/torture/vfs/fruit.c b/source4/torture/vfs/fruit.c >index 5182c00..bb8f36e 100644 >--- a/source4/torture/vfs/fruit.c >+++ b/source4/torture/vfs/fruit.c >@@ -2068,9 +2068,9 @@ static bool test_aapl(struct torture_context *tctx, > } > > aapl_vol_caps = BVAL(aapl->data.data, 24); >- if (aapl_vol_caps != SMB2_CRTCTX_AAPL_CASE_SENSITIVE) { >+ if (aapl_vol_caps != 0) { > /* this will fail on a case insensitive fs ... */ >- torture_warning(tctx, >+ torture_result(tctx, TORTURE_FAIL, > "(%s) unexpected vol_caps: %d", > __location__, (int)aapl_vol_caps); > } >-- >2.9.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
jra
:
review+
Actions:
View
Attachments on
bug 12749
: 13171