From 9eac23201268a23a43d6bcfbbf5a7368169ccec4 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 6 Apr 2020 17:34:22 -0700 Subject: [PATCH] s3: smbd: Always call canonicalize_connect_path() for a (synthesized) msdfs-share. Share path definitions don't need to be aware of symlinks. This is strictly a change in behavior, but the vfs_widelinks module (if loaded) copes with symlinks in the share definition. Signed-off-by: Jeremy Allison Reviewed-by: Ralph Boehme --- source3/smbd/msdfs.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c index 9bac6f6f81f..ddfd7d7c7d9 100644 --- a/source3/smbd/msdfs.c +++ b/source3/smbd/msdfs.c @@ -254,6 +254,7 @@ static NTSTATUS create_conn_struct_as_root(TALLOC_CTX *ctx, const char *vfs_user; struct smbd_server_connection *sconn; const char *servicename = lp_const_servicename(snum); + bool ok; sconn = talloc_zero(ctx, struct smbd_server_connection); if (sconn == NULL) { @@ -357,12 +358,11 @@ static NTSTATUS create_conn_struct_as_root(TALLOC_CTX *ctx, return NT_STATUS_UNSUCCESSFUL; } - if (!lp_widelinks(snum)) { - if (!canonicalize_connect_path(conn)) { - DBG_ERR("Failed to canonicalize sharepath\n"); - conn_free(conn); - return NT_STATUS_ACCESS_DENIED; - } + ok = canonicalize_connect_path(conn); + if (!ok) { + DBG_ERR("Failed to canonicalize sharepath\n"); + conn_free(conn); + return NT_STATUS_ACCESS_DENIED; } talloc_free(conn->origpath); -- 2.47.3