예제 #1
0
    def __init__(self, stream):
        self.stream = stream
        self.otr_cache = OTRCache()
        self.otr_session = OTRSession(self.otr_cache.private_key, self.stream, supported_versions={3})  # we need at least OTR-v3 for question based SMP

        notification_center = NotificationCenter()
        notification_center.add_observer(self, sender=stream)
        notification_center.add_observer(self, sender=self.otr_session)
예제 #2
0
 def __init__(self, name):
     self.name = name
     self.secret = None
     self.private_key = DSAPrivateKey.generate()
     self.otr_session = OTRSession(self.private_key, transport=self)
     self.peer = None
     self.send_queue = EventQueue(handler=self._send_handler)
     self.send_queue.start()
     self.ake_done = Event()
     self.smp_done = Event()
     self.all_done = Event()
     self.otr_done = Event()
     self.smp_status = None
     self.same_secrets = None
     self.sent_message = None
     self.received_message = None
     NotificationCenter().add_observer(self, sender=self.otr_session)