Exemple #1
0
    def create_intro(self, node_nr, service):
        """
        Create an 1 hop introduction point for some node for some service.
        """
        lookup_service = self.nodes[node_nr].overlay.get_lookup_info_hash(
            service)
        self.nodes[node_nr].overlay.hops[lookup_service] = 1
        self.nodes[node_nr].overlay.create_introduction_point(lookup_service)

        yield self.deliver_messages()

        for node in self.nodes:
            exit_sockets = node.overlay.exit_sockets
            for exit_socket in exit_sockets:
                exit_sockets[exit_socket] = MockTunnelExitSocket(
                    exit_sockets[exit_socket])
Exemple #2
0
 def assign_exit_node(self, node_nr):
     """
     Give a node a dedicated exit node to play with.
     """
     exit_node = self.create_node()
     self.private_nodes.append(exit_node)
     exit_node.overlay.settings.become_exitnode = True
     public_peer = Peer(exit_node.my_peer.public_key, exit_node.my_peer.address)
     self.nodes[node_nr].network.add_verified_peer(public_peer)
     self.nodes[node_nr].network.discover_services(public_peer, exit_node.overlay.master_peer.mid)
     self.nodes[node_nr].overlay.update_exit_candidates(public_peer, True)
     self.nodes[node_nr].overlay.build_tunnels(1)
     yield self.deliver_messages()
     exit_sockets = exit_node.overlay.exit_sockets
     for exit_socket in exit_sockets:
         exit_sockets[exit_socket] = MockTunnelExitSocket(exit_sockets[exit_socket])