diff --git a/src/libcharon/plugins/vici/python/test/test_session.py b/src/libcharon/plugins/vici/python/test/test_session.py index eabacc023..3b568daf5 100644 --- a/src/libcharon/plugins/vici/python/test/test_session.py +++ b/src/libcharon/plugins/vici/python/test/test_session.py @@ -84,6 +84,7 @@ class TestSession(object): if name is None: i += 1 if i > 2: + s.send(Packet.EVENT, name="event", message={"late": b'1'}) s.send(Packet.EVENT_CONFIRM) s.send(Packet.EVENT_CONFIRM) break diff --git a/src/libcharon/plugins/vici/python/vici/session.py b/src/libcharon/plugins/vici/python/vici/session.py index e98d10133..79f2bda81 100644 --- a/src/libcharon/plugins/vici/python/vici/session.py +++ b/src/libcharon/plugins/vici/python/vici/session.py @@ -40,7 +40,9 @@ class Session(CommandWrappers, object): raise EventUnknownException( "Unknown event type '{event}'".format(event=event_type) ) - elif response.response_type != Packet.EVENT_CONFIRM: + while response.response_type == Packet.EVENT: + response = Packet.parse(self.transport.receive()) + if response.response_type != Packet.EVENT_CONFIRM: raise SessionException( "Unexpected response type {type}, " "expected '{confirm}' (EVENT_CONFIRM)".format(