Skip to content

Latest commit

 

History

History
52 lines (41 loc) · 1.83 KB

CONTRIBUTING.md

File metadata and controls

52 lines (41 loc) · 1.83 KB

How to Contribute to fscryptctl

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution, this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.

Code reviews

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.

Before you submit a pull request

When making any changes to fscryptctl, run the following commands:

  • make format, which formats the source code (requires clang-format)
  • make test-all, which builds fscryptctl and runs the tests. The tests require the e2fsprogs and python3 packages, the pytest Python package, and kernel support for ext4 encryption.

The userspace dependencies can be installed with:

> sudo apt-get install e2fsprogs python3-pip clang-format
> sudo -H pip3 install -U pip pytest

Your Linux kernel must be version 5.4 or later and have the following configuration options enabled:

CONFIG_EXT4_FS
CONFIG_FS_ENCRYPTION

Optionally, also enable the following kernel config options so that all encryption algorithms can be tested:

CONFIG_CRYPTO_ADIANTUM
CONFIG_CRYPTO_SHA256
CONFIG_CRYPTO_ESSIV	(if kernel is v5.5 or later)