- The secret would not be properly assigned to the ClientLocal during session resuming (and likely
on peer transfers of client connections), so have PresentsSession handle that in both starting and resuming a session (and takes out a synchronized call in ClientManager). git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6495 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -390,12 +390,6 @@ public class ClientManager
|
||||
// immediately
|
||||
clobj.release();
|
||||
|
||||
// Grab the shared secret from the session and stick it into the client local
|
||||
PresentsSession session = getClient(username);
|
||||
if (session != null) {
|
||||
clobj.getLocal(ClientLocal.class).secret = session.getSecret();
|
||||
}
|
||||
|
||||
// stuff the object into the mapping table
|
||||
_objmap.put(username, clobj);
|
||||
|
||||
|
||||
@@ -402,6 +402,9 @@ public class PresentsSession
|
||||
return;
|
||||
}
|
||||
|
||||
// Dump our secret into the client local for easy access
|
||||
clobj.getLocal(ClientLocal.class).secret = getSecret();
|
||||
|
||||
// finish up our regular business
|
||||
sessionWillStart();
|
||||
sendBootstrap();
|
||||
@@ -545,6 +548,9 @@ public class PresentsSession
|
||||
return;
|
||||
}
|
||||
|
||||
// Update our client secret with the new auth request
|
||||
_clobj.getLocal(ClientLocal.class).secret = getSecret();
|
||||
|
||||
// let derived classes do any session resuming
|
||||
sessionWillResume();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user