-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Description
As far as I can tell, the following script should print:
checked conditions: ['splendid', 'wonderful', 'top of the world']
but it actually prints:
checked conditions: ['top of the world', 'wonderful']
One first party caveat does not appear to be checked.
import macaroons
m1 = macaroons.create("", "root-key", "root-id")
m1 = m1.add_first_party_caveat("wonderful")
m1 = m1.add_third_party_caveat("bob", "bob-caveat-root-key", "bob-is-great")
m2 = macaroons.create("bob", "bob-caveat-root-key", "bob-is-great")
m2 = m2.add_first_party_caveat("splendid")
m3 = macaroons.create("bob", "bob-caveat-root-key", "bob-is-great")
m3 = m3.add_first_party_caveat("top of the world")
m2 = m1.prepare_for_request(m2)
m3 = m1.prepare_for_request(m3)
checked = []
def check(cond):
checked.append(cond)
return True
v = macaroons.Verifier()
v.satisfy_general(check)
v.verify(m1, "root-key", [m2, m3])
checked.sort()
print('checked conditions: {}'.format(checked))
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels