aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-11Merge pull request #85 from google/depfixJoseph Richey
Complete the new Build System
2018-02-11travis: use multiple build stagesJoseph Richey
This change rewrites .travis.yml to use many build stages/jobs. This allows our build to run faster, as almost all jobs run in containers. Stage 1: Run on all pushes to all branches - Job Build: just runs "make" to make sure everything is OK Stage 2: Run on all PRs and pushes to master - Job Lint: Makes sure dep, "make gen", "make format", and "make lint" are all happy. - Job Build 1: Make sure "go get" and "make" will work. This job will later run unit tests. - Job Build 2: Same as Job Build 1, except with another go version. - Job Integeration: Run integration tests (needs sudo, so needs VM) Stage 3: Run on releases (if other stages pass) - Job Deploy: Publishes amd64 binaries to GitHub.
2018-02-11Makefile: completly rewriteJoseph Richey
This change is a complete rewrite of fscrypt's Makefile. The new build rules can be roughly divided into secions: Build - bin/fscrypt and bin/pam_fscrypt Linting - gen (for .proto files), format, lint Test - test, test-{setup|teardown}, coverage.out Install - install, uninstall, install-{bin|pam} Tools - tools and other bin/* needed for the other rules As before, "make" builds the binary and pam_module, while "make all" builds and tests everything (except for integration tests), and "make clean" removes any generated files. Also note that this new build system: - Doesn't require input_fail.py - Properly falis on linter errors - Builds everything into the bin/ directory (customizable) - Builds all the vendored tools
2018-02-11golint: Use fork that respects vendor directoryJoseph Richey
Ideally, we would just use "golint ./..." to check all our our source files for lint error. However, this does not work because it will include all packages in the vendor directory. The pull request at: https://github.com/golang/lint/pull/325 fixes this issue, so we will use it until the PR has been merged.
2018-02-11vendor: include source for toolsJoseph Richey
This change vendors the source for all our build, formatting, and linting tools. Generated by running "dep ensure".
2018-02-11dep: require tools to be vendoredJoseph Richey
This change ot Gopkg.toml will make it easier to build the linting and formatting tools. Vendoring their source also makes sure that updates to these tools do not break the build.
2018-02-11vendor: update vendored dependanciesJoseph Richey
This change updates dependancies to be consistent with Gopkg.toml. This change was generated by running "dep ensure".
2018-02-11dep: add dependancies to Gopkg.tomlJoseph Richey
fscrypt directly depends on 5 repositories (8 packages). This change adds those dependancies to Gopkg.toml, so that they can be properly versioned. Note that the golang.org/x repositories do not use semver.
2018-02-11test: all packages should have testsJoseph Richey
The tests added in this change are trivial, but they make sure that every package has a non-zero number of tests. This is important for eventually increasing test coverage.
2018-02-11lint: Remove all build tagsJoseph Richey
Our current build tags set off the linter. We will later add in more comprehensive build tags that will be properly formatted.
2018-02-09Merge pull request #84 from google/argon2Joseph Richey
Move to x/crypto/argon2
2018-02-09dep: Run dep ensureJoseph Richey
2018-02-09docs/travis: Remove mention of Argon2Joseph Richey
Now that Argon2 is simply and implementation detail of the `crypto` package, and no a build dependancy, we don't need it in Travis or in the documenation for building fscrypt.
2018-02-09crypto: Move from libargon2 -> x/crypto/argon2Joseph Richey
Use the golang library for the hashing function instead of the reference C implementation. This removes the dependancy on libargon2. As we are no longer doing our own error checking, we also eliminate those tests.
2018-02-08Merge pull request #83 from google/depJoseph Richey
Start using Dep
2018-02-08dep: Update Travis to use depJoseph Richey
Add dep instalation, remove govendor from go tools, and add a check for dependancies.
2018-02-08dep: Setup Gopkg.tomlJoseph Richey
This change transitions to dep, sets up Gopkg.toml, and purnes the maximum allowable number of files.
2018-02-08Change Golang formatterJoseph Richey
Moves from goimports to [goreturns](https://github.com/sqs/goreturns). This should not effect any code that already compiles as goreturns only adds zero return values, then runs goimports. This is mainly to help improve ergonomics when dealing with multiple return types.
2018-02-08Remove unnecessary gitignore ruleJoseph Richey
2018-01-12Merge pull request #75 from ilius/PR-README-typoJoseph Richey
Fix typo in README.md
2018-01-12fix typo in README.md: $GOPATH/github.com -> $GOPATH/src/github.comSaeed Rasooli
2018-01-11Merge pull request #74 from google/maxMemoryJoseph Richey
Limit the amount of RAM that will be used
2018-01-10Format files correctlyJoe Richey joerichey@google.com
2018-01-10Limit the amount of RAM that will be usedJoe Richey joerichey@google.com
Fixes #73. Adds maxMemoryBytes as 128MiB and cleans up the helper functions/variables to make it more clear which values are a number of bytes, and which values are a number of KiB.
2017-10-04Merge pull request #70 from kant/patch-1Joseph Richey
Typos
2017-10-05TyposDarío Hereñú
2017-10-03Merge pull request #69 from google/makefilev0.2.20.2.2Joseph Richey
Makefile cleanup
2017-10-03Makefile: Updated scripts to run tests in travisJoseph Richey
2017-10-03Merge pull request #68 from dvrkps/patch-1Joseph Richey
travis: update go version
2017-10-03travis: update go versionDavor Kapsa
2017-10-02Merge pull request #67 from google/syncJoseph Richey
security: Sync filesystem before dropping caches
2017-10-02security: Sync filesystem before dropping cachesJoe Richey joerichey@google.com
2017-09-29Merge pull request #64 from google/new_valuesJoseph Richey
Update all external dependencies to the latest version
2017-09-29Merge pull request #65 from google/session_keyringJoseph Richey
security: Add check option to UserKeyringID
2017-09-29vendor: Just add windows to make govendor workJoseph Richey
2017-09-29Fix lintJoseph Richey
2017-09-29security: Add check option to UserKeyringIDJoseph Richey
2017-09-29metadata: Add new encryption modesJoseph Richey
2017-09-29Makefile: Don't update dependancies w/ "make all"Joseph Richey
2017-09-29vendor: Update to latest versionsJoseph Richey
This changes the vendored sources of github.com/golang/protobuf, golang.org/x/crypto/ssh, and golang.org/x/sys/unix to be the current master versions.
2017-09-06Fixes logging string for policiesJoseph Richey
We should always log the descriptor not the entire policy structure.
2017-09-01Merge pull request #56 from google/panicsv0.2.10.2.1Joseph Richey
Fixed failures in PAM module
2017-09-01cmd/fscrypt: Add explanations for keyring failuresJoseph Richey
Now the user is persented with help when they try to access a keyring that isn't theirs or try to use fscrypt without a user keyring linked into the session keyring.
2017-09-01cmd/fscrypt: Check that keyrings are setupJoseph Richey
Chaning the --user flag to (optionally) check for a proper keyring setup allows us to fail early in cases where we need a working keyring.
2017-09-01security: Change user keyring lookup algorithmJoseph Richey
Now instead of spawning a seperate thread we alternate between changing the euid and ruid to both find the keyring and link it to the process keyring. Note that we also ensure that the user keyring is linked into the root keyring whenever possible.
2017-09-01security: No more permenant privilege droppingJoseph Richey
This was creating an issue becasuse fully dropping privileges required spawning a goroutine and using rutime.DropOSThread().
2017-09-01pam_fscrypt: PAM module no longer crashes on panicJoseph Richey
Now the offending panic will just be logged and the module will fail. This is important as to not crash the login process.
2017-08-31Merge pull request #52 from google/keyringsJoseph Richey
Changes to the keyrings interface, corresponding UI changes, and misc changes
2017-08-31Merge pull request #54 from google/uuidJoseph Richey
Use `/dev/disk/by-uuid` to get UUID links to other filesystems
2017-08-31filesystem: libblkid -> search /dev/disk/by-uuidJoe Richey