Suplementary patch for bug #7104 - "wide links" and "unix extensions" are incompatible.
authorJeremy Allison <jra@samba.org>
Thu, 11 Feb 2010 18:19:33 +0000 (10:19 -0800)
committerJeremy Allison <jra@samba.org>
Thu, 11 Feb 2010 18:19:33 +0000 (10:19 -0800)
commitcd18695fc2e4d09ab75e9eab2f0c43dcc15adf0b
tree6137b5e04c3cab1280cac3ce77fc6ebab9a2490f
parent14c4c2c735d6b263d167bf5255fcf60de2c91110
Suplementary patch for bug #7104 - "wide links" and "unix extensions" are incompatible.

Bug reported by Ralf Zimmermann <r.zimmermann@siegnetz.de>. Reproduced by jra.

If the target directory of a share doesn't exist, but is designed to
be created by a "root preexec" script call, then the widelinks check
is done too early - thus preventing the user from connecting to the
share.

Fix is to re-arrange the order of checks in make_connection_snum()
to always do the following order of operations:

(1). Turn off wide links if unix extensions = yes.
(2). Call any root preexec scripts.
(3). Canonicalize the share path to remove any symlinks (ie. end
up with the realpath in the connection_struct).

Jeremy.
source3/smbd/service.c