summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-11-28 22:19:38 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-11-28 22:19:38 +0100
commit02da4adf9ae6b477376bb27a092feec06a3f2b91 (patch)
treec679a019547f69f0593f2563373a373ce12f1d82 /src/io/database_shim.erl
parent2273ff20faa24a0daba4e4b43ace250716a39172 (diff)
Fixes timed caches.
Allowing a refresh of the timer opened the door to exploits.
Diffstat (limited to 'src/io/database_shim.erl')
-rw-r--r--src/io/database_shim.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/io/database_shim.erl b/src/io/database_shim.erl
index 5ae6a62..0b9ea1c 100644
--- a/src/io/database_shim.erl
+++ b/src/io/database_shim.erl
@@ -12,7 +12,8 @@
[
generate_db/1,
fetch/2,
- commit/3
+ commit/3,
+ assert_session_is_valid/2
]
).
@@ -100,3 +101,10 @@ fetch (DB, ObjectID) ->
commit (DB, ObjectID, Value) ->
add_to_db({DB, ObjectID}, Value),
timed_cache:invalidate(DB, ObjectID).
+
+assert_session_is_valid (_PlayerID, _SessionToken) ->
+ % Ask PlayerID's login server if SessionToken is correct.
+ % If so, update last login time to prevent relogin within
+ % (database_timeout * 2).
+ % If not, crash.
+ ok.