summaryrefslogtreecommitdiffstats
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
parent5d92d969dda450cc3564dd2265d2b042d832c542 (diff)
downloadsamba-02a5078f1fe6285e4a0b6ad95a3aea1c5bb3e8cf.tar.gz
samba-02a5078f1fe6285e4a0b6ad95a3aea1c5bb3e8cf.tar.xz
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.
-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 */