unbound: strictly apply filtering queries to new events, not artifacts from other modules

This commit is contained in:
Stephan de Wit 2022-11-01 16:54:51 +01:00
parent 530d49b742
commit 6c30959ee3

View File

@ -92,7 +92,7 @@ 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 event == MODULE_EVENT_NEW:
ctx = mod_env['context']
return ctx.filter_query(id, qstate)
@ -101,6 +101,10 @@ def operate(id, event, qstate, qdata):
qstate.ext_state[id] = MODULE_FINISHED
return True
if event == MODULE_EVENT_PASS:
qstate.ext_state[id] = MODULE_WAIT_MODULE
return True
log_err("pythonmod: bad event. Query was %s" % qstate.qinfo.qname_str)
qstate.ext_state[id] = MODULE_ERROR
return True