From 912e2ac9c97d3656e0cd0e524589375bbac8fe85 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 25 Apr 2011 12:45:49 -0700 Subject: [PATCH] No longer need to call SMB_VFS_LSTAT - check name hasn't changed above is sufficient. Autobuild-User: Jeremy Allison Autobuild-Date: Mon Apr 25 23:35:37 CEST 2011 on sn-devel-104 (cherry picked from commit d00f1febd50b4779e8c5588055ee1f601448550c) (cherry picked from commit e4f6038fdefafd0e1020782f265843577bd44b53) --- source3/smbd/vfs.c | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c index a714b86ef26..39b30ecc0de 100644 --- a/source3/smbd/vfs.c +++ b/source3/smbd/vfs.c @@ -1005,8 +1005,6 @@ NTSTATUS check_reduced_name(connection_struct *conn, const char *fname) /* Extra checks if all symlinks are disallowed. */ if (!allow_symlinks) { - struct smb_filename *smb_fname = NULL; - NTSTATUS status; /* fname can't have changed in resolved_path. */ const char *p = &resolved_name[rootdir_len]; @@ -1032,27 +1030,6 @@ NTSTATUS check_reduced_name(connection_struct *conn, const char *fname) SAFE_FREE(resolved_name); return NT_STATUS_ACCESS_DENIED; } - - /* Check if we are allowing users to follow symlinks */ - /* Patch from David Clerc - University of Geneva */ - status = create_synthetic_smb_fname(talloc_tos(), - fname, NULL, - NULL, &smb_fname); - if (!NT_STATUS_IS_OK(status)) { - SAFE_FREE(resolved_name); - return status; - } - - if ( (SMB_VFS_LSTAT(conn, smb_fname) != -1) && - (S_ISLNK(smb_fname->st.st_ex_mode)) ) { - SAFE_FREE(resolved_name); - DEBUG(3,("check_reduced_name: denied: file path name " - "%s is a symlink\n",resolved_name)); - TALLOC_FREE(smb_fname); - return NT_STATUS_ACCESS_DENIED; - } - TALLOC_FREE(smb_fname); } } -- 2.11.4.GIT