示例#1
0
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)
    return answer
示例#2
0
def handle_ptr_record(q: QuestionItem) -> AnswerItem:
    if in_addr_to_ip(q.qname_str) == listen:
        answer = q.get_answer(myname)
    else:
        hostname = doker.container_name_by_ip(in_addr_to_ip(q.qname_str))
        if hostname is not None:
            answer = q.get_answer(hostname)
        else:
            answer = None

    return answer