Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2017, 00:05   #1
Ard123
 
Регистрация: 03.12.2012
Сообщений: 5
По умолчанию Ошибка python скрипта

Добрый день !

Пытаюсь расширить функционал ДНСа unbound с помощью скриптов python.
Только выходит ошибка от которой не получается избавиться (
Пытался гуглить, но с помощью информации из гугла решить проблему не получилось (
Моя версия python 3.4.5

Ошибка следующая:

Код:
Jan 02 14:25:12 unbound[4519:4] error: pythonmod: Exception occurred in function operate, event: module_event_new
Traceback (most recent call last):
  File "/scripts/resgen.py", line 44, in operate
    if (qstate.qinfo.qname_str.endswith(".localdomain.")): #query name ends with localdomain
  File "/usr/lib64/python3.4/site-packages/unboundmodule.py", line 98, in _get_qname_str
    def _get_qname_str(self): return dnameAsStr(self.qname)
TypeError: in method 'dnameAsStr', argument 1 of type 'char const *'
Jan 02 14:25:12 unbound[4519:4] debug: mesh_run: python module exit state is module_error
Вот мой скрипт:

Код:
def init(id, cfg): return True
 
def deinit(id): return True
 
def inform_super(id, qstate, superqstate, qdata): return True
 
def operate(id, event, qstate, qdata):
    if (event == MODULE_EVENT_NEW) or (event == MODULE_EVENT_PASS):
        if (qstate.qinfo.qname_str.endswith(".localdomain.")): #query name ends with localdomain
            #create instance of DNS message (packet) with given parameters
            msg = DNSMessage(qstate.qinfo.qname_str, RR_TYPE_A, RR_CLASS_IN, PKT_QR | PKT_RA | PKT_AA)
            #append RR
            if (qstate.qinfo.qtype == RR_TYPE_A) or (qstate.qinfo.qtype == RR_TYPE_ANY):
                msg.answer.append("%s 10 IN A 127.0.0.1" % qstate.qinfo.qname_str)
            #set qstate.return_msg 
            if not msg.set_return_msg(qstate):
                qstate.ext_state[id] = MODULE_ERROR 
                return True
 
            #we don't need validation, result is valid
            qstate.return_msg.rep.security = 2
 
            qstate.return_rcode = RCODE_NOERROR
            qstate.ext_state[id] = MODULE_FINISHED 
            return True
        else:
            #pass the query to validator
            qstate.ext_state[id] = MODULE_WAIT_MODULE 
            return True
 
    if event == MODULE_EVENT_MODDONE:
        log_info("pythonmod: iterator module done")
        qstate.ext_state[id] = MODULE_FINISHED 
        return True
      
    log_err("pythonmod: bad event")
    qstate.ext_state[id] = MODULE_ERROR
    return True
Может есть мысли как исправить ?
Буду благодарен за любые советы.
Ard123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод скрипта с Python на Scala MrLinch Фриланс 0 25.10.2014 17:37
Запуск Python скрипта на WEB сервере lollollollol PHP 0 24.09.2014 13:52
Запуск скрипта Python и ожидание его отработки Stilet Win Api 7 21.11.2012 14:59
Запуск python скрипта из с++ MrGukk Общие вопросы C/C++ 3 21.03.2012 13:41