-
-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proxy of <Swig Object of type 'config_strlist *' at 0x7fedc716a690> #79
Comments
I think this logging may come from the python script itself. Can you check? |
I'm confident that I have not enabled any extra logging compared to 1.9.2. It is the same script. |
Is this the whole logged line? Also does it appear more than once? |
yes it is the whole line. It appears once the unbound is loading and doesn't show up again while unbound is running. |
Could you share the |
|
I suppose you also see the other part? |
Could you also run: |
|
I'm having the same issue: def init(id, cfg):
log_info("pythonmod: init called, module id is %d port: %d script: %s" % (id, cfg.port, cfg.python_script))
log_info("pythonmod: cfg.ifs: %s" % cfg.ifs)
return True logs this:
prior to this issue Here's a production script I've had working for years which now breaks on this line: config = yaml.load(open(os.path.splitext(cfg.python_script)[0]+'.yml'), Loader=yaml.CSafeLoader) % unbound-control get_option "python-script"
/usr/local/etc/unbound/views.py |
This is a problem from 1.9.3 onwards when multiple python instances were introduced (#6). For now you could use |
Is there any documentation of this new pythonmod API? The config_file docs do not offer much of a clue on how to access the non-pythonic for example: log_info("pythonmod: cfg.ifs: %s" % cfg.ifs) outputs:
while config_file documents the
I'm not sure if that's a list of strings or a sting of IP addresses (separated by?) -- either way If the API needs to change to accommodate running multiple python instances, would it be possible to keep the API more "Pythonic"? e.g. this From my end user perspective it looks like #6 makes an undocumented way of using multiple python instances work while breaking the documented pythonmod API. |
I am afraid there is no easy way now (without updating the Swig interface) to get the As for the I'll work on that together with the other Python issues when I have some time, but not a top priority now. |
a list of strings in the Python 'config_file' class instead of the current Swig object proxy; fixes #79.
Notes on the latest commit:
|
* nlnet/master: (64 commits) Changelog entry for NLnetLabs#951. - Merge NLnetLabs#951: Cachedb no store. The cachedb-no-store: yes option is used to stop cachedb from writing messages to the backend storage. It reads messages when data is available from the backend. The default is no. - Fix to print detailed errors when an SSL IO routine fails via SSL_get_error. - Changelog entry for: Merge NLnetLabs#955 from buevsan: fix ipset wrong behavior. - Update testdata/ipset.tdir test for ipset fix. - Update the dns64_lookup.rpl test for the DNS64 fallback patch. - Changelog entry for DNS64 patches from Daniel Gröber. Fixes for dns64 fallback to plain AAAA when no A records: - Cleanup if condition. - Rename variable for readability. dns64: Fall back to plain AAAA query with synthall but no A records Fixes for dns64 readability refactoring: - Move declarations to the top for C90 compliance. - Save cycles by not calling (yet) unneeded functions. - Possible use of uninitialised value. - Consistent formatting. dns64: Fix misleading indentation dns64: Refactor handle_event checks for readability fix ipset wrong behavior - Fix NLnetLabs#954: Inconsistent RPZ handling for A record returned along with CNAME. - Update pymod tests for the new Python script variable. - For multi Python module setups, clean previously parsed module functions in __main__'s dictionary, if any, so that only current module functions are registered. - Expose the configured listening and outgoing interfaces, if any, as a list of strings in the Python 'config_file' class instead of the current Swig object proxy; fixes NLnetLabs#79. - Expose the script filename in the Python module environment 'mod_env' instead of the config_file structure which includes the linked list of scripts in a multi Python module setup; fixes NLnetLabs#79. - Better fix for infinite loop when reading multiple lines of input on a broken remote control socket, by treating a zero byte line the same as transmission end. Addesses NLnetLabs#947 and NLnetLabs#948. Apply suggestions from code review - cachedb-no-store, example conf and man page documentation. Changelog note for NLnetLabs#944. - Merge NLnetLabs#944: Disable EDNS DO. Disable the EDNS DO flag in upstream requests. This can be helpful for devices that cannot handle DNSSEC information. But it should not be enabled otherwise, because that would stop DNSSEC validation. The DNSSEC validation would not work for Unbound itself, and also not for downstream users. Default is no. The option is disable-edns-do: no ...
The following warning has started to appear using pythonmod since 1.9.3:
script <unboundmodule.config_strlist; proxy of <Swig Object of type 'config_strlist *' at 0x7fedc716a690> >
The text was updated successfully, but these errors were encountered: