The Samba-Bugzilla – Attachment 16394 Details for
Bug 14612
Temporary DFS share setup doesn't set case parameters in the same way as a regular share definition does.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
git-am fix for master.
bug-14612 (text/plain), 3.72 KB, created by
Jeremy Allison
on 2021-01-12 19:56:36 UTC
(
hide
)
Description:
git-am fix for master.
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2021-01-12 19:56:36 UTC
Size:
3.72 KB
patch
obsolete
>From 7d39c4d3ef4f440424eb88dcd0a5844f5e4dcca6 Mon Sep 17 00:00:00 2001 >From: Jeremy Allison <jra@samba.org> >Date: Tue, 12 Jan 2021 11:39:51 -0800 >Subject: [PATCH 1/2] s3: smbd: Factor out setting up case parameters for a > share to a function - conn_setup_case_options(). > >Will allow it to be reused in the msdfs temporary share code. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=14612 > >Signed-off-by: Jeremy Allison <jra@samba.org> >--- > source3/smbd/conn.c | 19 +++++++++++++++++++ > source3/smbd/proto.h | 1 + > source3/smbd/service.c | 11 +---------- > 3 files changed, 21 insertions(+), 10 deletions(-) > >diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c >index 003926c97f6..044242d5697 100644 >--- a/source3/smbd/conn.c >+++ b/source3/smbd/conn.c >@@ -232,3 +232,22 @@ void conn_free(connection_struct *conn) > > conn_free_internal(conn); > } >+ >+/* >+ * Correctly initialize a share with case options. >+ */ >+void conn_setup_case_options(connection_struct *conn) >+{ >+ int snum = conn->params->service; >+ >+ if (lp_case_sensitive(snum) == Auto) { >+ /* We will be setting this per packet. Set to be case >+ * insensitive for now. */ >+ conn->case_sensitive = false; >+ } else { >+ conn->case_sensitive = (bool)lp_case_sensitive(snum); >+ } >+ >+ conn->case_preserve = lp_preserve_case(snum); >+ conn->short_case_preserve = lp_short_preserve_case(snum); >+} >diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h >index 7d6f8eda607..879ec71ae94 100644 >--- a/source3/smbd/proto.h >+++ b/source3/smbd/proto.h >@@ -156,6 +156,7 @@ connection_struct *conn_new(struct smbd_server_connection *sconn); > bool conn_idle_all(struct smbd_server_connection *sconn, time_t t); > void conn_clear_vuid_caches(struct smbd_server_connection *sconn, uint64_t vuid); > void conn_free(connection_struct *conn); >+void conn_setup_case_options(connection_struct *conn); > void conn_force_tdis( > struct smbd_server_connection *sconn, > bool (*check_fn)(struct connection_struct *conn, >diff --git a/source3/smbd/service.c b/source3/smbd/service.c >index b1ea0ea6a88..afdea38b016 100644 >--- a/source3/smbd/service.c >+++ b/source3/smbd/service.c >@@ -557,16 +557,7 @@ static NTSTATUS make_connection_snum(struct smbXsrv_connection *xconn, > ( lp_enable_asu_support() && strequal(dev,"ADMIN$")) ); > > /* Case options for the share. */ >- if (lp_case_sensitive(snum) == Auto) { >- /* We will be setting this per packet. Set to be case >- * insensitive for now. */ >- conn->case_sensitive = False; >- } else { >- conn->case_sensitive = (bool)lp_case_sensitive(snum); >- } >- >- conn->case_preserve = lp_preserve_case(snum); >- conn->short_case_preserve = lp_short_preserve_case(snum); >+ conn_setup_case_options(conn); > > conn->encrypt_level = lp_server_smb_encrypt(snum); > if (conn->encrypt_level > SMB_ENCRYPTION_OFF) { >-- >2.27.0 > > >From 5c11f165a04e7686856edee572c5a0fe7c4fcca3 Mon Sep 17 00:00:00 2001 >From: Jeremy Allison <jra@samba.org> >Date: Tue, 12 Jan 2021 11:44:44 -0800 >Subject: [PATCH 2/2] s3: smbd: Add call to conn_setup_case_options() to > create_conn_struct_as_root(). > >Ensures temporary DFS share doesn't leave the case parameters set >as zero (i.e.: > >conn->case sensitive = 0 >conn->share_case_preserve = 0 >and default case is lower > >which can cause problems doing a DFS_GET_REFERRALS request). > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=14612 > >Signed-off-by: Jeremy Allison <jra@samba.org> >--- > source3/smbd/msdfs.c | 2 ++ > 1 file changed, 2 insertions(+) > >diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c >index 7b5ea251501..dc07727f007 100644 >--- a/source3/smbd/msdfs.c >+++ b/source3/smbd/msdfs.c >@@ -317,6 +317,8 @@ static NTSTATUS create_conn_struct_as_root(TALLOC_CTX *ctx, > vfs_user = get_current_username(); > } > >+ conn_setup_case_options(conn); >+ > set_conn_connectpath(conn, connpath); > > /* >-- >2.27.0 >
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
Actions:
View
Attachments on
bug 14612
:
16394
|
16395
|
16396