aboutsummaryrefslogtreecommitdiff
path: root/README.md
AgeCommit message (Collapse)Author
2017-08-29Fixed typosJoe Richey
2017-08-25Fix typo (once -> one).Michael Halcrow
2017-08-24Updated documentation for PAM module helpJoseph Richey
2017-08-23security: fscrypt now possesses the user keyringJoseph Richey
2017-08-23Added some documentation and improved security APIJoe Richey joerichey@google.com
2017-08-22Updated documentation and build system for PAMJoe Richey joerichey@google.com
2017-07-25README reformattingJoseph Richey
The version badge was broken. This fixes it and inlines the version in the top line.
2017-07-23README: Fixed cloning documentationJoseph Richey
2017-07-19README: add badges for license and code coverageJoe Richey joerichey@google.com
2017-07-18Update documentation about new build systemJoe Richey joerichey@google.com
2017-07-13README: Fixed version badge to pull from Git tagsJoseph Richey
2017-07-13README: Add badges for protect, docs, report cardJoseph Richey
2017-07-13README: fix typos and formattingJoseph Richey
Some of the documentation was misspelled or incorrectly formatted.
2017-06-28Finalize import paths and documentationv0.1.00.1.0Joe Richey joerichey@google.com
This commit changes all the internal import paths from `fscrypt/foo` to `github.com/google/fscrypt/foo` so that it can be built once we release externaly. The documentation in README.md is updated accordingly. Also, the README has a note noting that we do not make any guarantees about project stability before 1.0 (when it ships with Ubuntu). Change-Id: I6ba86e442c74057c8a06ba32a42e17f94833e280
2017-06-28Update Makefile and READMEJoe Richey joerichey@google.com
This commit updates the README and Makefile to get them ready for external release. This includes adding some common pitfalls, including example usage, and allowing for tarball creation. Change-Id: I442338c7aff613a14bae449dbf091bfcaf73ed9d
2017-06-15pam: checking a user's login passphraseJoe Richey joerichey@google.com
This commit adds in the fscrypt/pam package. This package will hold all functionality related to Linux Pluggable Authentication Modules (PAM). Right now this package uses cgo to mock a PAM conversation, allowing the function to check if a provided passphrase actually belongs to a user. Due to the nature of cgo callbacks, global state of the key to check is necessary for this function. This commit also addresses some issues about building the cgo components. Now, only the minimal linking flags are included in the go files. Additional linker flags may now be necessary to build a static binary of fscrypt. This is addressed in the Makefile and README. Finally, this commit fixes a bug where the tests would not run correctly due to shared global state on the testing filesystem. Fixed, by having all the tests run sequentially. Change-Id: Ia43636801da984b505d2f43dd14127b7cfbf2c48
2017-05-31fscrypt: Adding additional documentationJoe Richey joerichey@google.com
This commit moves most of the documentation about contributing to fscrypt into CONTRIBUTING.md and updates the legal disclaimer. It also updates the README.md to include all of fscrypt's planned functionality and dependencies. Finally, the makefile is updated to include more documentation, versioning support, and a different location for the output file. Change-Id: Ib7be98d41bc06dd12b02e42addf06e12a940235a
2017-05-02crypto: passphrase hashing with Argon2Joe Richey
This commit adds in the PassphraseHash function which hashes the provided passphrase (in key form) using Argon2id. This cost parameters for Argon2id and that salt are both fed into the function. It also includes tests and benchmarks for the passphrase hashing. Change-Id: I060db3e71213c756d45ce5603a0a59d3d7a1e609
2017-05-02metadata: get and set policies from goJoe Richey
This commit adds in the ability to get and set policy data from go using the GetPolicy and SetPolicy functions. This is done via a patch of the x/sys/unix package that exposes the filesystem encryption structures. Note that not all the fields of the PolicyData protocol buffer are needed to get and set policies. The wrapped_policy_keys are not used and will be written and read by other components of fscrypt. To run the policy tests, the environment variable BASE_TEST_DIR must be set to a directory for testing on a filesystem that supports encryption. Change-Id: I13b1d983356845f3ffc1945cedf53234218f32e5
2017-05-02metadata: introduce protobuf structuresJoe Richey
This commit adds in the metadata package. The primary purpose of this package is to provide the on-disk metadata structures in the form of protocol buffers. This includes: - Policy metadata structure - Protector metadata structure - Config file structure - All necessary sub-structures (wrapped keys, parameters, etc) This commit also adds in an example usage of the Config structure, which represents the structure of the global config file. All the package does at this point is convert between the Config structure and a JSON representation. Here we introduce govendor, which is described more in the README. This means we will have all of our Go dependencies in the vendor subdirectory. This means we will have no Go source dependencies, only dependencies on the build tools (Go and govendor). The README describes this in detail. Note that we commit the generated files. see: https://blog.golang.org/generate Change-Id: Iaacd46666b5d3e4e865a0f4045dd63ed7e3d6f96
2017-05-02util: convenience utilities for fscryptJoe Richey
This commit adds in the util package. This package provides two functions for creating errors. These functions are: - InvalidInputErrorF - bad input from user or caller - SystemErrorF - low level failure It also adds in a small function for converting Go byte slices into C void pointers. This will be very useful for interoperating with C. Change-Id: I87ad7946dd5fa26e28927590aff4bcc9fd5ce4f7
2017-05-02cmd/fscrypt: Initial stub program and docsJoe Richey
This commit adds in a stub fscrypt program. The binary just tells the time and the tests do nothing, but the Makefile will build them! This commit also adds documentation to the README that explains how to get, build, run, test, format, lint, and install the code. Also note that the executable is now in the cmd/fscrypt directory. The library implementing the core functionality will be at the root. This is essentially point 2 of https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091 Change-Id: Ib7bd782e458bdf3db456beb978be4c75b4734561
2017-04-27Initial Documentation for fscryptJoe Richey
This commit includes the Apache 2.0 License and a README with documentation on how to checkout the code, some context about Linux filesystem encryption, and documentation stubs for fscrypt and fscryptctl. Also adds in a simple .gitignore so we don't commit build files. Change-Id: I99d5f936c9d65516119dd58c81cfa95c1e6243c1
2016-10-26First commit, adding READMEJoe Richey
Change-Id: I32cc74f278b4a19d91106a5cb20d8a9e96fb1351