blob: 5f79f227fc87eb45faae15349a4729117c2355a7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
Index: trunk/zcp/provider/libserver/ZarafaCmd.cpp
===================================================================
diff -u -N -r31009 -r31058
--- trunk/zcp/provider/libserver/ZarafaCmd.cpp (.../ZarafaCmd.cpp) (revision 31009)
+++ trunk/zcp/provider/libserver/ZarafaCmd.cpp (.../ZarafaCmd.cpp) (revision 31058)
@@ -824,13 +824,15 @@
ECRESULT er = erSuccess;
ECSession *lpecSession = NULL;
- er = g_lpSessionManager->ValidateSession(soap, ulSessionId, &lpecSession, false);
+ er = g_lpSessionManager->ValidateSession(soap, ulSessionId, &lpecSession, true);
if(er != erSuccess)
goto exit;
if(lpecSession->GetAuthMethod() == ECSession::METHOD_USERPASSWORD || lpecSession->GetAuthMethod() == ECSession::METHOD_SSO)
SaveLogonTime(lpecSession, false);
+ lpecSession->Unlock();
+
// lpecSession is discarded. It is not locked, so we can do that. We only did the 'validatesession'
// call to see if the session id existed in the first place, and the request is coming from the correct
// IP address. Another logoff() call called at the same time may remove the session *here*, in which case the following call
|