calebstewart / pwncat

Fancy reverse and bind shell handler
https://pwncat.readthedocs.io
MIT License
2.58k stars 250 forks source link

Moved XDG config loading to entrypoint #242

Open calebstewart opened 2 years ago

calebstewart commented 2 years ago

Description of Changes

Removed loading configuration from XDG directories out of the Manager constructor and into the main entrypoint, and modified logic to comply with the XDG Base Directories specification. This should now obey XDG_CONFIG_HOME, XDG_CONFIG_DIRS, XDG_DATA_HOME and XDG_DATA_DIRS with correct precedence. Modules from any data directory will also be loaded (e.g. /etc/pwncat/modules or ~/.local/share/pwncat/modules).

If no configuration is passed to the Manager constructor, it will no longer load any configuration by default (the built-in modules will still be loaded, though).

I also had to update the unit test for custom configurations, since the Manager class no longer loads from XDG directories.

Fixes #239

Please note any noqa: comments needed to appease flake8.

Major Changes Implemented:

Pre-Merge Tasks

For issues with pre-merge tasks, see CONTRIBUTING.md