Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Unified Diff: third_party/twisted_8_1/twisted/names/secondary.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/twisted_8_1/twisted/names/root.py ('k') | third_party/twisted_8_1/twisted/names/server.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/twisted_8_1/twisted/names/secondary.py
diff --git a/third_party/twisted_8_1/twisted/names/secondary.py b/third_party/twisted_8_1/twisted/names/secondary.py
deleted file mode 100644
index 19afa246e247056364bb73a0b1dbc7a085410f33..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/names/secondary.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright (c) 2001-2006 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-from twisted.internet import task, defer
-from twisted.names import dns
-from twisted.names import common
-from twisted.names import client
-from twisted.names import resolve
-from twisted.python import log, failure
-from twisted.application import service
-
-class SecondaryAuthorityService(service.Service):
- calls = None
-
- def __init__(self, primary, domains):
- """
- @param primary: The IP address of the server from which to perform
- zone transfers.
-
- @param domains: A sequence of domain names for which to perform
- zone transfers.
- """
- self.primary = primary
- self.domains = [SecondaryAuthority(primary, d) for d in domains]
-
- def getAuthority(self):
- return resolve.ResolverChain(self.domains)
-
- def startService(self):
- service.Service.startService(self)
- self.calls = [task.LoopingCall(d.transfer) for d in self.domains]
- i = 0
- from twisted.internet import reactor
- for c in self.calls:
- # XXX Add errbacks, respect proper timeouts
- reactor.callLater(i, c.start, 60 * 60)
- i += 1
-
- def stopService(self):
- service.Service.stopService(self)
- for c in self.calls:
- c.stop()
-
-
-from twisted.names.authority import FileAuthority
-
-class SecondaryAuthority(common.ResolverBase):
- """An Authority that keeps itself updated by performing zone transfers"""
-
- transferring = False
-
- soa = records = None
- def __init__(self, primaryIP, domain):
- common.ResolverBase.__init__(self)
- self.primary = primaryIP
- self.domain = domain
-
- def transfer(self):
- if self.transferring:
- return
- self.transfering = True
- return client.Resolver(servers=[(self.primary, dns.PORT)]
- ).lookupZone(self.domain
- ).addCallback(self._cbZone
- ).addErrback(self._ebZone
- )
-
-
- def _lookup(self, name, cls, type, timeout=None):
- if not self.soa or not self.records:
- return defer.fail(failure.Failure(dns.DomainError(name)))
-
-
- return FileAuthority.__dict__['_lookup'](self, name, cls, type, timeout)
-
- #shouldn't we just subclass? :P
-
- lookupZone = FileAuthority.__dict__['lookupZone']
-
- def _cbZone(self, zone):
- ans, _, _ = zone
- self.records = r = {}
- for rec in ans:
- if not self.soa and rec.type == dns.SOA:
- self.soa = (str(rec.name).lower(), rec.payload)
- else:
- r.setdefault(str(rec.name).lower(), []).append(rec.payload)
-
- def _ebZone(self, failure):
- log.msg("Updating %s from %s failed during zone transfer" % (self.domain, self.primary))
- log.err(failure)
-
- def update(self):
- self.transfer().addCallbacks(self._cbTransferred, self._ebTransferred)
-
- def _cbTransferred(self, result):
- self.transferring = False
-
- def _ebTransferred(self, failure):
- self.transferred = False
- log.msg("Transferring %s from %s failed after zone transfer" % (self.domain, self.primary))
- log.err(failure)
« no previous file with comments | « third_party/twisted_8_1/twisted/names/root.py ('k') | third_party/twisted_8_1/twisted/names/server.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698