3.5 KiB
Contributing to Sudo
Thank you for your interest in contributing to Sudo! There are a number of way you can help make Sudo better.
Getting started
To get an overview of Sudo, see the README.md file. There are multiple ways to contribute, some of which don't require writing a single line of code.
Filing bug reports/issues
If you believe you have found a bug, you can either file a bug report in the sudo bug database, https://bugzilla.sudo.ws/, or open a GitHub issue, whichever you find easier. If you would prefer to use email, messages may be sent to the sudo-workers@sudo.ws mailing list (public) or to sudo@sudo.ws (private).
For sudo's security policy and how to report security issues, see SECURITY.md.
Please check TROUBLESHOOTING.md before submitting a bug report. When reporting bugs, be sure to include the version of sudo you are using, the operating system and/or distro that is affected, and, if possible, step-by-step instructions to reproduce the problem.
Making changes to Sudo
If you are interested in making changes to Sudo there are two main work flows:
-
clone the sudo repo, make your changes, and submit a Pull Request (PR).
-
send a diff with your changes to the sudo-workers@sudo.ws mailing list to start a discussion.
In addition to the GitHub repo, there is also a mercurial repo.
sudo-workers mailing list
If you would like to discuss your changes before submitting a PR, you may do so on the sudo-workers@sudo.ws mailing list. Otherwise, discussion can simply occur as part of the PR work flow.
Fuzzing
Sudo uses the oss-fuzz project to perform fuzzing. Each commit to the main branch will trigger a short fuzzing run via the CIFuzz action. The history of that action shows successful and failed fuzzing runs.
Longer fuzzing runs occur using the ClusterFuzz infrastructure. These fuzzing runs are longer than those used by CIFuzz. A public list of failures is available.
For more information, see https://www.sudo.ws/security/fuzzing/.
Translations
Sudo uses GNU gettext for
its National Language Support (NLS). Strings in sudo and related
programs are collected in .pot
files that can be translated into
multiple languages.
Translations for sudo are coordinated by the Translation
Project. If you would like to
contribute to Sudo's translations, please join a translation team
at the Translation Project instead of contributing a .po
file
directly. This will avoid duplicated work if there is already a
translation in progress. If you would like to become a member of
a translation team, please follow the instructions for
translators.
There are currently two translation domains: one for the sudo front-end and a separate one for the sudoers module and related utilities.