summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_netlog_nt.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-10-07 01:46:19 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:04:54 -0500
commite127501d4589a5a9c92e2f400fc67bda5a8e6855 (patch)
tree69886234b25530aaa8a7027e8aeb96cc93d822d3 /source3/rpc_server/srv_netlog_nt.c
parent8cbe35f6f8fea2757fb3df49c2b9baa94cf5fe84 (diff)
downloadsamba-e127501d4589a5a9c92e2f400fc67bda5a8e6855.tar.gz
samba-e127501d4589a5a9c92e2f400fc67bda5a8e6855.tar.bz2
samba-e127501d4589a5a9c92e2f400fc67bda5a8e6855.zip
r10792: Fix the "schannel not stored across client disconnects" problem.
Based on the Samba4 solution - stores data in $samba/private/schannel_store.tdb. This tdb is not left open but open and closed on demand. Jeremy. (This used to be commit a6d8a4b1ff31c5552075455dbd98cb58795958a9)
Diffstat (limited to 'source3/rpc_server/srv_netlog_nt.c')
-rw-r--r--source3/rpc_server/srv_netlog_nt.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c
index 1ad058b519..2dd8b821d8 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -26,8 +26,6 @@
#include "includes.h"
-extern struct dcinfo last_dcinfo;
-extern BOOL server_auth2_negotiated;
extern userdom_struct current_user_info;
#undef DBGC_CLASS
@@ -438,10 +436,14 @@ NTSTATUS _net_auth_2(pipes_struct *p, NET_Q_AUTH_2 *q_u, NET_R_AUTH_2 *r_u)
fstrcpy(p->dc->mach_acct, mach_acct);
fstrcpy(p->dc->remote_machine, remote_machine);
+ fstrcpy(p->dc->domain, lp_workgroup() );
- server_auth2_negotiated = True;
p->dc->authenticated = True;
- last_dcinfo = *p->dc;
+
+ /* Store off the state so we can continue after client disconnect. */
+ become_root();
+ secrets_store_schannel_session_info(p->mem_ctx, p->dc);
+ unbecome_root();
return r_u->status;
}