summaryrefslogtreecommitdiff
path: root/source3/smbd/service.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-02-11 14:45:53 -0800
committerJeremy Allison <jra@samba.org>2010-02-11 14:45:53 -0800
commit02a5078f1fe6285e4a0b6ad95a3aea1c5bb3e8cf (patch)
treef6749ba09a9f6e56b6697454421392c33f72843b /source3/smbd/service.c
parent5d92d969dda450cc3564dd2265d2b042d832c542 (diff)
downloadsamba-02a5078f1fe6285e4a0b6ad95a3aea1c5bb3e8cf.tar.gz
samba-02a5078f1fe6285e4a0b6ad95a3aea1c5bb3e8cf.tar.bz2
samba-02a5078f1fe6285e4a0b6ad95a3aea1c5bb3e8cf.zip
Final part of jumbo patch for bug #7104 - "wide links" and "unix extensions" are incompatible.
Volker pointed out that the preexec scripts get passed the conn->connectpath as a parameter, so call canonicalize_connect_path() both *before* and after the preexec scripts. Ignore errors on the call before the preexec scripts, as the path may not exist until created by the preexec scripts. Jeremy.
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r--source3/smbd/service.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index 4efa63e1dc..45df7c14fe 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -893,6 +893,18 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
return NULL;
}
+ /*
+ * Fix compatibility issue pointed out by Volker.
+ * We pass the conn->connectpath to the preexec
+ * scripts as a parameter, so attempt to canonicalize
+ * it here before calling the preexec scripts.
+ * We ignore errors here, as it is possible that
+ * the conn->connectpath doesn't exist yet and
+ * the preexec scripts will create them.
+ */
+
+ (void)canonicalize_connect_path(conn);
+
/* Preexecs are done here as they might make the dir we are to ChDir
* to below */
/* execute any "root preexec = " line */