class DNSHosts(DNS): def __init__(self): self.server = "8.8.8.8" self.cm = DNSCacheManager() def do_hosts_lookup(self, domain): hosts = db.GqlQuery("SELECT * FROM Host WHERE domain = :1 LIMIT 1", domain) for host in hosts: if host.ip: return host.ip return CANT_RESOLVE def lookup(self, domain): address = CANT_RESOLVE if (len(domain) > 0): address = self.do_hosts_lookup(domain) self.cm.update(domain, address, address != CANT_RESOLVE) return address
def __init__(self): self.server = "8.8.8.8" self.cm = DNSCacheManager()
def get(self): conf = DNSConfig() cm = DNSCacheManager() logging.debug("Start clean old cache...") cm.delete_old_cache(conf.cache_cron_life) return
from dns import CANT_RESOLVE from dnsrelay import DNSWebLookupserverOcom from dnsrelay import DNSWebBlokeOcom from dnsrelay import WebRequestError from dnshosts import DNSHosts from dnshosts import DNSHostsManager from dnscache import DNSCacheManager from config import DNSConfig #import base64 import httplib import logging # Global object g_config = DNSConfig() g_cache = DNSCacheManager() # Load config g_cache.set_cache_life(g_config.cache_life) class MainHandler(webapp.RequestHandler): def get(self): domain = self.request.get("d") use_hosts = self.request.get_range("uh", default=0) use_cache = self.request.get_range("uc", default=0) # Compatible with dnsrelay 1.0, all query string as domain if (domain == ""): domain = self.request.query_string if len(domain) == 0: