summaryrefslogtreecommitdiff
path: root/source3/smbd/open.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-05-22 22:35:13 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:22:44 -0500
commit828cb240047506afd292a613742ff88ee994896e (patch)
tree2241e26d693fa726488483bd277039b61bd73aca /source3/smbd/open.c
parentcda3cf211b5ad68202d96879ce12b81e91a53cc4 (diff)
downloadsamba-828cb240047506afd292a613742ff88ee994896e.tar.gz
samba-828cb240047506afd292a613742ff88ee994896e.tar.bz2
samba-828cb240047506afd292a613742ff88ee994896e.zip
r23087: Fix POSIX setfilepathinfo to use lstat, not stat.
Still missing lchown (will add this for 3.0.26). Don't merge for 3.0.25a - possibly 3.0.25b (if it exists). Jeremy. (This used to be commit f546750176a22cdd7298a73afc81587923baaff9)
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r--source3/smbd/open.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 1a8a087bb7..7784740063 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -47,7 +47,12 @@ static NTSTATUS fd_open(struct connection_struct *conn,
NTSTATUS status = NT_STATUS_OK;
#ifdef O_NOFOLLOW
- if (!lp_symlinks(SNUM(conn))) {
+ /*
+ * Never follow symlinks on a POSIX client. The
+ * client should be doing this.
+ */
+
+ if (fsp->posix_open || !lp_symlinks(SNUM(conn))) {
flags |= O_NOFOLLOW;
}
#endif