First off, thanks for taking the time to contribute! ❤️
If you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
- Star the project
- Tweet about it
- Refer this project in your project's readmelibpam_authramp
- Mention the project at local meetups and tell your friends/colleagues
This project and everyone participating in it is governed by the pam-authramp Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to 34n0@immerda.ch.
If you want to ask a question, we assume that you have read the available Documentation.
Before you ask a question, it is best to search for existing Issues that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.
If you then still feel the need to ask a question and need clarification, we recommend the following:
- Open an Issue.
- Provide as much context as you can about what you're running into.
- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant.
We will then take care of the issue as soon as possible.
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
This module is developed and tested in a fedora 38 distrobox.
The following packages need to be installed:
sudo dnf install pam-devel clang-devel
All modules are unit tested. Run unit tests:
cargo test -p lib
cargo test -p cli
cargo test -p util
Edit the constants in the test-pam-auth.rs
file to a user on your system. The test will build the library and use the systems pam service to test authentication. The test will run with evelated privileges. Run the integration tests:
make -C integration-test/ integration-test
Build library:
cargo build -p lib -p cli --release
A good pull request should be ready for review before it is even created. For all pull requests, ensure:
- Your changes are in a single commit
- Your changes passes all the checks
- You have no unnecessary changes, including and especially whitespace changes
- You're code is covered.
- For substantive changes, you include evidence of proper functionality in the pull request in addition to the build results.