diff options
author | Jeremy Allison <jra@samba.org> | 1998-05-06 01:34:51 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-05-06 01:34:51 +0000 |
commit | b5187ad6a3b3af9fbbeee8bced0ab16b41e9825b (patch) | |
tree | 5ae588fda3345a9e1b7a4a076884e2bdb5425a74 /source/smbd/message.c | |
parent | 567d3f838988cafab4770fce1cf68b73085e6c71 (diff) | |
download | samba-b5187ad6a3b3af9fbbeee8bced0ab16b41e9825b.tar.gz |
Fixes for the %U and %G problems people have reported.
Essentially, multiple session_setup_and_X's may be done
to an smbd. As there is only one global variable containing
the requested connection name (sessionsetup_user), then any
subsequent sessionsetups overwrite this name (causing %U
and %G to get the wrong name). This is particularly common
when an NT client does a null session setup to get a
browse list after the user has connected, but before
a share has been mounted.
These changes store the requested_name in the vuid structure
(so this only really works for user level and above security)
and copies this name back into the global variable before
the standard_sub call.
Jeremy.
Diffstat (limited to 'source/smbd/message.c')
-rw-r--r-- | source/smbd/message.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/smbd/message.c b/source/smbd/message.c index 24477f31ff6..9fb506edd01 100644 --- a/source/smbd/message.c +++ b/source/smbd/message.c @@ -78,7 +78,7 @@ static void msg_deliver(void) string_sub(s,"%s",name); string_sub(s,"%f",msgfrom); string_sub(s,"%t",msgto); - standard_sub(-1,s); + standard_sub(-1,s,UID_FIELD_INVALID); smbrun(s,NULL,False); } |