Пример #1
0
    def udp_timeout(self):
        if not self.__is_auth:
            self.print_access_log("not_get_server_response")
            self.dispatcher.ctunnel_fail()
            return
        self.__nat.recyle_ips()
        if not fnc_config.configs["udp_global"]: self.__udp_whitelist.recycle_cache()
        filter_ips = self.__timer.get_timeout_names()

        for ip in filter_ips:
            n = utils.ip4b_2_number(ip)
            fdsl_ctl.tf_record_del(self.__traffic_fetch_fd, n)
            if self.__timer.exists(ip): self.__timer.drop(ip)

        self.set_timeout(self.fileno, self.__TIMEOUT)
        # 尝试发送ping 5 次
        if self.__sent_ping_cnt < 5:
            self.__send_ping()
            return
        # 如果发送5次ping都没有响应,那么暂时取消会话
        self.__sent_ping_cnt = 0
        self.__handle_close()
Пример #2
0
 def tcp_timeout(self):
     self.__static_nat.recyle_ips()
     if not fnc_config.configs["udp_global"]: self.__udp_whitelist.recycle_cache()
     if not self.is_conn_ok():
         self.print_access_log("connect_failed")
         self.delete_handler(self.fileno)
         return
     if self.__is_sent_ping and self.__auth_ok:
         self.print_access_log("timeout")
         self.delete_handler(self.fileno)
         return
     if self.__auth_ok:
         self.set_timeout(self.fileno, self.__TIMEOUT)
         self.__is_sent_ping = True
         self.__send_ping()
         tunnel_ips = self.__timer.get_timeout_names()
         for ip in tunnel_ips:
             n = utils.ip4b_2_number(ip)
             fdsl_ctl.tf_record_del(self.__traffic_fetch_fd, n)
             if self.__timer.exists(ip): self.__timer.drop(ip)
         return
     self.print_access_log("auth_timeout")
     self.delete_handler(self.fileno)
Пример #3
0
    def udp_timeout(self):
        if not self.__is_auth:
            self.print_access_log("not_get_server_response")
            self.dispatcher.ctunnel_fail()
            return
        self.__nat.recyle_ips()
        if not fnc_config.configs["udp_global"]:
            self.__udp_whitelist.recycle_cache()
        filter_ips = self.__timer.get_timeout_names()

        for ip in filter_ips:
            n = utils.ip4b_2_number(ip)
            fdsl_ctl.tf_record_del(self.__traffic_fetch_fd, n)
            if self.__timer.exists(ip): self.__timer.drop(ip)

        self.set_timeout(self.fileno, self.__TIMEOUT)
        # 尝试发送ping 5 次
        if self.__sent_ping_cnt < 5:
            self.__send_ping()
            return
        # 如果发送5次ping都没有响应,那么暂时取消会话
        self.__sent_ping_cnt = 0
        self.__handle_close()
Пример #4
0
 def tcp_timeout(self):
     self.__static_nat.recyle_ips()
     if not fnc_config.configs["udp_global"]: self.__udp_whitelist.recycle_cache()
     if not self.is_conn_ok():
         self.print_access_log("connect_failed")
         self.delete_handler(self.fileno)
         return
     if self.__is_sent_ping and self.__auth_ok:
         self.print_access_log("timeout")
         self.delete_handler(self.fileno)
         return
     if self.__auth_ok:
         self.set_timeout(self.fileno, self.__TIMEOUT)
         self.__is_sent_ping = True
         self.__send_ping()
         tunnel_ips = self.__timer.get_timeout_names()
         for ip in tunnel_ips:
             n = utils.ip4b_2_number(ip)
             fdsl_ctl.tf_record_del(self.__traffic_fetch_fd, n)
             if self.__timer.exists(ip): self.__timer.drop(ip)
         return
     self.print_access_log("auth_timeout")
     self.delete_handler(self.fileno)