Example #1
0
 def __init__(self):
   cfg = config.get_instance()
   self.cfg = cfg
   self.log = aLogger.getLogger(self.__class__.__name__, self.cfg)
   self.__url = self.cfg.get("docker.url", check_type=str)
   self._conn = Client(self.__url)
Example #2
0
#
# Copyright (c) 2015 Reishin <*****@*****.**> and Contributors

from dnslite.base import DNSPacket
from dnslite.constants import RCODE, QuestionTypes
from dnslite.datapack import in_addr_to_ip
from appcore.core import config
from appcore.core import aLogger
from classes.docker import doker

from dnslite.types import QuestionItem, AnswerItem

import threading
import socket

conf = config.get_instance()
log = aLogger.getLogger("main", conf)
listen = conf.get("listen", default="127.0.0.1", check_type=str)
port = conf.get("port", default=53, check_type=int)
myname = conf.get("myname", default="FakeServer", check_type=str)


def handle_a_record(q: QuestionItem) -> AnswerItem:
    if q.qname_str == myname:
        answer = q.get_answer(listen)
    else:
        ip = doker.get_ip_info(q.qname_str)
        if ip is None:
            return RCODE.NAME_ERROR

        answer = q.get_answer(ip)