summaryrefslogtreecommitdiff
path: root/macaroonbakery/checkers/_checkers.py
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2018-02-28 17:08:17 +0000
committerColin Watson <cjwatson@debian.org>2018-02-28 17:09:32 +0000
commit6afbd6cfb2ceae0444b1ad15f143117315c0b8e2 (patch)
tree294ffe7ca0d12231dfff2a3d8dd7011aaf824cbc /macaroonbakery/checkers/_checkers.py
parentfa31bef2ea6d7c2207dec570119291fa83e6675d (diff)
parentd918563db4de954c3df719d06a31bdd3aec3a8fc (diff)
New upstream release (1.1.3)
Diffstat (limited to 'macaroonbakery/checkers/_checkers.py')
-rw-r--r--macaroonbakery/checkers/_checkers.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/macaroonbakery/checkers/_checkers.py b/macaroonbakery/checkers/_checkers.py
index 71cb56f..11a41b9 100644
--- a/macaroonbakery/checkers/_checkers.py
+++ b/macaroonbakery/checkers/_checkers.py
@@ -5,7 +5,6 @@ from collections import namedtuple
from datetime import datetime
import pyrfc3339
-import pytz
from ._caveat import parse_caveat
from ._conditions import (
COND_ALLOW,
@@ -166,12 +165,16 @@ class CheckerInfo(namedtuple('CheckInfo', 'prefix name ns check')):
def _check_time_before(ctx, cond, arg):
clock = ctx.get(TIME_KEY)
if clock is None:
- now = pytz.UTC.localize(datetime.utcnow())
+ now = datetime.utcnow()
else:
now = clock.utcnow()
try:
- if pyrfc3339.parse(arg) <= now:
+ # Note: pyrfc3339 returns a datetime with a timezone, which
+ # we need to remove before we can compare it with the naive
+ # datetime object returned by datetime.utcnow.
+ expiry = pyrfc3339.parse(arg, utc=True).replace(tzinfo=None)
+ if now >= expiry:
return 'macaroon has expired'
except ValueError:
return 'cannot parse "{}" as RFC 3339'.format(arg)