summaryrefslogtreecommitdiff
path: root/source3/smbd/service.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-02-05 15:20:18 -0800
committerJeremy Allison <jra@samba.org>2010-02-05 15:20:18 -0800
commitbd269443e311d96ef495a9db47d1b95eb83bb8f4 (patch)
tree5324577b3945cd4184da50e8b4f2ccc018a5621a /source3/smbd/service.c
parentabbd0f9195fe9b4feb29b86a04c88be001e2737a (diff)
downloadsamba-bd269443e311d96ef495a9db47d1b95eb83bb8f4.tar.gz
samba-bd269443e311d96ef495a9db47d1b95eb83bb8f4.tar.bz2
samba-bd269443e311d96ef495a9db47d1b95eb83bb8f4.zip
Fix bug 7104 - "wide links" and "unix extensions" are incompatible.
Change parameter "wide links" to default to "no". Ensure "wide links = no" if "unix extensions = yes" on a share. Fix man pages to refect this. Remove "within share" checks for a UNIX symlink set - even if widelinks = no. The server will not follow that link anyway. Correct DEBUG message in check_reduced_name() to add missing "\n" so it's really clear when a path is being denied as it's outside the enclosing share path. Jeremy.
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r--source3/smbd/service.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index e8775ffd7b..8039d16586 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -1039,6 +1039,14 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
}
#endif
+ if (lp_unix_extensions() && lp_widelinks(snum)) {
+ DEBUG(0,("Share '%s' has wide links and unix extensions enabled. "
+ "These parameters are incompatible. "
+ "Disabling wide links for this share.\n",
+ lp_servicename(snum) ));
+ lp_do_parameter(snum, "wide links", "False");
+ }
+
/* Figure out the characteristics of the underlying filesystem. This
* assumes that all the filesystem mounted withing a share path have
* the same characteristics, which is likely but not guaranteed.