Issues
Report bugs, unexpected behavior, or edge cases that should be handled gracefully.
Pull requests
Submit new features, improvements, and performance refactors. Always welcome.
Reporting issues
Before opening an issue:-
Run with
-vvor-vvvto capture detailed debug output. Most errors become clear with increased verbosity, and this output is required for the maintainer to diagnose the problem. - Redact sensitive information before pasting any output. Remove client and target domain names, machine names, IP addresses, and any other information you would not want to make public.
- Include the exact command that produced the issue. The usage arguments are required to reproduce the problem.
What will be closed
Issues arising from user error or misconfigured environments will be reviewed and likely closed. Common examples:- RelayKing fails to resolve hosts in
--auditmode because the testing host’s DNS is not pointed at the domain’s DNS server. - Scan failures caused by not configuring
/etc/resolv.confcorrectly before running. - Any other PEBKAC (problem exists between keyboard and chair) error.
What is a valid issue
The exception to the above: if RelayKing should handle an environment-specific quirk gracefully and instead crashes or throws an unhandled exception, that is a valid issue. If the tool encounters an edge case and exits with a stack trace when it should report a clean error and continue, open the issue with the full-vvv output.
Pull requests
PRs are always welcome. The goal is to keep RelayKing reliable, robust, and high-performance — all contributions are evaluated with that standard in mind.What is welcome
- New protocol detection modules or improvements to existing detection logic
- Performance improvements and refactors
- Bug fixes, especially for items listed in Known issues
- Feature requests submitted as PRs with a description of the feature, expected behavior, and the proposed usage flags
Requirements for PRs
- Test thoroughly before submitting. PRs should be tested in multiple environments, especially after significant changes or refactoring. The maintainer will also test before merging, but broader pre-submission testing produces better results.
- Include a description of what the PR does, why it is needed, and any relevant usage flags or behavioral changes.
- Feature request PRs must include at minimum: a description of the feature, the specific behavior it introduces, and the proposed command-line flags.
PRs addressing severity rating logic improvements for relay path analysis are specifically encouraged. The current logic does not cover all primitives and scenarios — see Known issues for details.
