Ingress skip incorrect session (#1755)

* ingress skip invalid timestamps

* ingress skip invalid timestamp: comment

* Use lazy string instead of f-string

* skip incorrect timestamp in validate_session
This commit is contained in:
Sergey Morozik 2020-05-28 03:30:15 -04:00 committed by GitHub
parent ff351c7f6d
commit 44fa34203a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -72,7 +72,13 @@ class Ingress(JsonConfig, CoreSysAttributes):
sessions = {}
for session, valid in self.sessions.items():
valid_dt = utc_from_timestamp(valid)
# check if timestamp valid, to avoid crash on malformed timestamp
try:
valid_dt = utc_from_timestamp(valid)
except OverflowError:
_LOGGER.warning("Session timestamp %f is invalid!", valid_dt)
continue
if valid_dt < now:
continue
@ -103,7 +109,13 @@ class Ingress(JsonConfig, CoreSysAttributes):
"""Return True if session valid and make it longer valid."""
if session not in self.sessions:
return False
valid_until = utc_from_timestamp(self.sessions[session])
# check if timestamp valid, to avoid crash on malformed timestamp
try:
valid_until = utc_from_timestamp(self.sessions[session])
except OverflowError:
_LOGGER.warning("Session timestamp %f is invalid!", valid_until)
return False
# Is still valid?
if valid_until < utcnow():