Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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



Ответ
 
Опции темы
Старый 10.01.2017, 01:05   #1
Ard123
Новичок
 
Регистрация: 03.12.2012
Сообщений: 5
Репутация: 10
По умолчанию Ошибка 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 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод скрипта с 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




19:53.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru