__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
# -*- test-case-name: twisted.names.test -*-
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
An in-memory caching resolver.
"""


from twisted.internet import defer
from twisted.names import common, dns
from twisted.python import failure, log


class CacheResolver(common.ResolverBase):
    """
    A resolver that serves records from a local, memory cache.

    @ivar _reactor: A provider of L{interfaces.IReactorTime}.
    """

    cache = None

    def __init__(self, cache=None, verbose=0, reactor=None):
        common.ResolverBase.__init__(self)

        self.cache = {}
        self.verbose = verbose
        self.cancel = {}
        if reactor is None:
            from twisted.internet import reactor
        self._reactor = reactor

        if cache:
            for query, (seconds, payload) in cache.items():
                self.cacheResult(query, payload, seconds)

    def __setstate__(self, state):
        self.__dict__ = state

        now = self._reactor.seconds()
        for k, (when, (ans, add, ns)) in self.cache.items():
            diff = now - when
            for rec in ans + add + ns:
                if rec.ttl < diff:
                    del self.cache[k]
                    break

    def __getstate__(self):
        for c in self.cancel.values():
            c.cancel()
        self.cancel.clear()
        return self.__dict__

    def _lookup(self, name, cls, type, timeout):
        now = self._reactor.seconds()
        q = dns.Query(name, type, cls)
        try:
            when, (ans, auth, add) = self.cache[q]
        except KeyError:
            if self.verbose > 1:
                log.msg("Cache miss for " + repr(name))
            return defer.fail(failure.Failure(dns.DomainError(name)))
        else:
            if self.verbose:
                log.msg("Cache hit for " + repr(name))
            diff = now - when

            try:
                result = (
                    [
                        dns.RRHeader(
                            r.name.name, r.type, r.cls, r.ttl - diff, r.payload
                        )
                        for r in ans
                    ],
                    [
                        dns.RRHeader(
                            r.name.name, r.type, r.cls, r.ttl - diff, r.payload
                        )
                        for r in auth
                    ],
                    [
                        dns.RRHeader(
                            r.name.name, r.type, r.cls, r.ttl - diff, r.payload
                        )
                        for r in add
                    ],
                )
            except ValueError:
                return defer.fail(failure.Failure(dns.DomainError(name)))
            else:
                return defer.succeed(result)

    def lookupAllRecords(self, name, timeout=None):
        return defer.fail(failure.Failure(dns.DomainError(name)))

    def cacheResult(self, query, payload, cacheTime=None):
        """
        Cache a DNS entry.

        @param query: a L{dns.Query} instance.

        @param payload: a 3-tuple of lists of L{dns.RRHeader} records, the
            matching result of the query (answers, authority and additional).

        @param cacheTime: The time (seconds since epoch) at which the entry is
            considered to have been added to the cache. If L{None} is given,
            the current time is used.
        """
        if self.verbose > 1:
            log.msg("Adding %r to cache" % query)

        self.cache[query] = (cacheTime or self._reactor.seconds(), payload)

        if query in self.cancel:
            self.cancel[query].cancel()

        s = list(payload[0]) + list(payload[1]) + list(payload[2])
        if s:
            m = s[0].ttl
            for r in s:
                m = min(m, r.ttl)
        else:
            m = 0

        self.cancel[query] = self._reactor.callLater(m, self.clearEntry, query)

    def clearEntry(self, query):
        del self.cache[query]
        del self.cancel[query]

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
newsfragments Folder 0755
test Folder 0755
__init__.py File 135 B 0644
_rfc1982.py File 8.98 KB 0644
authority.py File 16.29 KB 0644
cache.py File 3.94 KB 0644
client.py File 23.94 KB 0644
common.py File 9.14 KB 0644
dns.py File 97.51 KB 0644
error.py File 1.98 KB 0644
hosts.py File 4.69 KB 0644
resolve.py File 3.17 KB 0644
root.py File 12.13 KB 0644
secondary.py File 6.97 KB 0644
server.py File 21.66 KB 0644
srvconnect.py File 8.98 KB 0644
tap.py File 4.69 KB 0644
Filemanager