aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl_session.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2015-12-07 10:36:15 +0100
committerIngela Anderton Andin <[email protected]>2015-12-07 10:36:15 +0100
commit9ffec8e28809e74d44ed715ad3191c45da019c24 (patch)
treeed3424f31eba912aa4f30e8ed5b748713e70964d /lib/ssl/src/ssl_session.erl
parentc84f85cc31ae8f13e8a44b866b90ad51f1c676c3 (diff)
parentf258633921e7dd0bd5760281d2a26a0f937e53c4 (diff)
downloadotp-9ffec8e28809e74d44ed715ad3191c45da019c24.tar.gz
otp-9ffec8e28809e74d44ed715ad3191c45da019c24.tar.bz2
otp-9ffec8e28809e74d44ed715ad3191c45da019c24.zip
Merge branch 'maint'
Diffstat (limited to 'lib/ssl/src/ssl_session.erl')
-rw-r--r--lib/ssl/src/ssl_session.erl9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/ssl/src/ssl_session.erl b/lib/ssl/src/ssl_session.erl
index 1849a05314..2b24bff5ff 100644
--- a/lib/ssl/src/ssl_session.erl
+++ b/lib/ssl/src/ssl_session.erl
@@ -61,13 +61,16 @@ client_id(ClientInfo, Cache, CacheCb, OwnCert) ->
SessionId
end.
--spec valid_session(#session{}, seconds()) -> boolean().
+-spec valid_session(#session{}, seconds() | {invalidate_before, integer()}) -> boolean().
%%
%% Description: Check that the session has not expired
%%--------------------------------------------------------------------
+valid_session(#session{time_stamp = TimeStamp}, {invalidate_before, Before}) ->
+ TimeStamp > Before;
valid_session(#session{time_stamp = TimeStamp}, LifeTime) ->
- Now = calendar:datetime_to_gregorian_seconds({date(), time()}),
- Now - TimeStamp < LifeTime.
+ Now = erlang:monotonic_time(),
+ Lived = erlang:convert_time_unit(Now-TimeStamp, native, seconds),
+ Lived < LifeTime.
server_id(Port, <<>>, _SslOpts, _Cert, _, _) ->
{ssl_manager:new_session_id(Port), undefined};