From: Jeremy Allison Date: Thu, 11 Feb 2010 22:45:53 +0000 (-0800) Subject: Final part of jumbo patch for bug #7104 - "wide links" and "unix extensions" are... X-Git-Tag: samba-3.6.0pre1~5427 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=02a5078f1fe6285e4a0b6ad95a3aea1c5bb3e8cf;ds=sidebyside 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. --- diff --git a/source3/smbd/service.c b/source3/smbd/service.c index 4efa63e1dcf..45df7c14fe1 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 */