openvpn.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:ooniprobe-debian 作者: TheTorProject 项目源码 文件源码
def test_openvpn_circumvent(self):

        def addResultToReport(result):
            log.debug("request_successful")
            self.report['body'] = result
            self.report['success'] = True

        def addFailureToReport(failure):
            log.debug("Failed: %s" % failureToString(failure))
            self.report['failure'] = failureToString(failure)
            self.report['success'] = False

        def doRequest(noreason):
            """Make a HTTP request over initialized VPN connection"""
            agent = Agent(reactor)

            log.debug("Doing HTTP request to the OpenVPN subnet: %s" % self.url)
            request = agent.request("GET", self.url)
            request.addCallback(readBody)
            request.addCallback(addResultToReport)
            request.addErrback(addFailureToReport)
            return request

        log.debug("Spawning OpenVPN")
        self.d = self.run(self.command)

        # Monkeypatch inConnectionLost and processExited to log when OpenVPN exits early
        self.processDirector.inConnectionLost = self.inConnectionLost
        self.processDirector.processExited = self.processExited

        # Try to make a request when the OpenVPN connection successfully bootstraps
        self.bootstrapped.addCallback(doRequest)

        # Fire failure if OpenVPN connection fails
        self.bootstrapped.addErrback(addFailureToReport)

        # Close OpenVPN after each successful or failed test
        self.bootstrapped.addBoth(self.stop)
        return self.d
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号