diff options
author | Jeremy Allison <jra@samba.org> | 2006-02-02 20:44:50 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:06:21 -0500 |
commit | 23f16cbc2e8cde97c486831e26bcafd4ab4a9654 (patch) | |
tree | 5f5186f7190610b4697292e7674c8b9529f7261f /source/lib/substitute.c | |
parent | b02b1d3ef3bceec1957d025c642e306a65310d22 (diff) | |
download | samba-23f16cbc2e8cde97c486831e26bcafd4ab4a9654.tar.gz samba-23f16cbc2e8cde97c486831e26bcafd4ab4a9654.tar.xz samba-23f16cbc2e8cde97c486831e26bcafd4ab4a9654.zip |
r13293: Rather a big patch I'm afraid, but this should fix bug #3347
by saving the UNIX token used to set a delete on close flag,
and using it when doing the delete. libsmbsharemodes.so still
needs updating to cope with this change.
Samba4 torture tests to follow.
Jeremy.
Diffstat (limited to 'source/lib/substitute.c')
-rw-r--r-- | source/lib/substitute.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/lib/substitute.c b/source/lib/substitute.c index 344f6e06fdf..30e1d97ca9b 100644 --- a/source/lib/substitute.c +++ b/source/lib/substitute.c @@ -840,11 +840,11 @@ void standard_sub_snum(int snum, char *str, size_t len) /* calling uidtoname() on every substitute would be too expensive, so we cache the result here as nearly every call is for the same uid */ - if (cached_uid != current_user.uid) { - fstrcpy(cached_user, uidtoname(current_user.uid)); - cached_uid = current_user.uid; + if (cached_uid != current_user.ut.uid) { + fstrcpy(cached_user, uidtoname(current_user.ut.uid)); + cached_uid = current_user.ut.uid; } - standard_sub_advanced(snum, cached_user, "", current_user.gid, + standard_sub_advanced(snum, cached_user, "", current_user.ut.gid, smb_user_name, str, len); } |