-
-
Save Kami/727830 to your computer and use it in GitHub Desktop.
service
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import os | |
| from twisted.application import service, internet | |
| from twisted.names import dns | |
| from twisted.names import server | |
| from names_test import TestResolver | |
| import names_test | |
| def getService(): | |
| ca, cl = [], [] | |
| cl.append(TestResolver()) | |
| f = server.DNSServerFactory([], ca, cl, 1) | |
| p = dns.DNSDatagramProtocol(f) | |
| f.noisy = 0 | |
| ret = service.MultiService() | |
| for (klass, arg) in [(internet.TCPServer, f), (internet.UDPServer, p)]: | |
| s = klass(5555, arg) | |
| s.setServiceParent(ret) | |
| return ret | |
| application = service.Application("names test") | |
| service = getService() | |
| service.setServiceParent(application) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from twisted.names import common, dns | |
| from twisted.python import failure | |
| from twisted.internet import defer | |
| class TestResolver(common.ResolverBase): | |
| def __init__(self, ttl = 300): | |
| common.ResolverBase.__init__(self) | |
| self.ttl = ttl | |
| def _fail(self, name): | |
| return defer.fail(failure.Failure(dns.DomainError(name))) | |
| def lookupZone(self, name, timeout = None): | |
| records = [] | |
| soa = dns.RRHeader(name='foo', type=dns.SOA, cls=dns.IN, ttl=86400, auth=False, | |
| payload=dns.Record_SOA(mname='foo', | |
| rname='bar', | |
| serial=100, | |
| refresh=10, | |
| retry=10, | |
| expire=2000, | |
| minimum=100, | |
| ttl=100)) | |
| records.append(soa) | |
| for i in range(0, 2800): | |
| dname = '%s-%s.%s' % ('foo', i, 'bar.test') | |
| record = dns.RRHeader(dname, dns.A, dns.IN, self.ttl, | |
| dns.Record_A('127.0.0.1', 300)) | |
| records.append(record) | |
| records.append(soa) | |
| return defer.succeed([ | |
| records, (), () | |
| ]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| dig @127.0.0.1 -p 5555 foo.bar axfr | |
| ;; Warning: query response not set | |
| ;; Got bad packet: bad label type |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment