summaryrefslogtreecommitdiffstats
path: root/source/smbd
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2004-01-15 17:17:58 +0000
committerVolker Lendecke <vlendec@samba.org>2004-01-15 17:17:58 +0000
commit3d9931fe291559a907c3e172a66fbce1155497a3 (patch)
tree9fcc74f10cfdbdb8a421e4a752c6deaeda80d16d /source/smbd
parentc4a6151f469764444f4dab8bcae04e1a2bdb0b64 (diff)
downloadsamba-3d9931fe291559a907c3e172a66fbce1155497a3.tar.gz
samba-3d9931fe291559a907c3e172a66fbce1155497a3.tar.xz
samba-3d9931fe291559a907c3e172a66fbce1155497a3.zip
reply_spnego_kerberos did not set the domain of the user handed to
register_vuid correctly. We ended up with the local netbios name in substitutions for %D later. Volker P.S: Tridge, I can *really* see why you want to get rid of global variables :-)
Diffstat (limited to 'source/smbd')
-rw-r--r--source/smbd/sesssetup.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/smbd/sesssetup.c b/source/smbd/sesssetup.c
index 80be9da53bf..9405c065e18 100644
--- a/source/smbd/sesssetup.c
+++ b/source/smbd/sesssetup.c
@@ -262,6 +262,13 @@ static int reply_spnego_kerberos(connection_struct *conn,
return ERROR_NT(ret);
}
+ /* make_server_info_pw does not set the domain. Without this we end up
+ * with the local netbios name in substitutions for %D. */
+
+ if (server_info->sam_account != NULL) {
+ pdb_set_domain(server_info->sam_account, domain, PDB_SET);
+ }
+
/* register_vuid keeps the server info */
sess_vuid = register_vuid(server_info, session_key, nullblob, client);