def datagramReceived(self, data, addr): if data[:8] == 'R6fnvWJ8': # here comes a special curve nonce = data[8:20] box = self._outstandingDNSCurveQueries.get(nonce) if box is None: return try: reply = box.decrypt(data[32:], data[8:32]) except CryptoError: return else: del self._outstandingDNSCurveQueries[nonce] else: reply = data DNSDatagramProtocol.datagramReceived(self, reply, addr)