summaryrefslogtreecommitdiffstats
path: root/source/smbd/message.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-05-06 01:34:51 +0000
committerJeremy Allison <jra@samba.org>1998-05-06 01:34:51 +0000
commitb5187ad6a3b3af9fbbeee8bced0ab16b41e9825b (patch)
tree5ae588fda3345a9e1b7a4a076884e2bdb5425a74 /source/smbd/message.c
parent567d3f838988cafab4770fce1cf68b73085e6c71 (diff)
downloadsamba-b5187ad6a3b3af9fbbeee8bced0ab16b41e9825b.tar.gz
samba-b5187ad6a3b3af9fbbeee8bced0ab16b41e9825b.tar.xz
samba-b5187ad6a3b3af9fbbeee8bced0ab16b41e9825b.zip
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.c2
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);
}