| Age | Commit message (Collapse) | Author |
|
|
|
When looking up users in fscrypt, we often want to proceed even if the
requested uid doesn't appear to be a valid user on the system. This
mainly occurs when a user is deleted, but they still have a login
protector on disk.
Thus, GetUser() with a bad uid creates a fake user with a pretty
placeholder name. The corresponding call sites of util.EffectiveUser are
changed (often simplifying logic). Various documentation is updated and
typos are fixed.
|
|
Variables are generally declared at the top of a file.
|
|
Our .gitignore file was overly restrictive, fixed to only include the
fscrypt binary. Also, our build tags were incorrectly formatted. The
tags are removed and the corresponding lint rule is simplified.
The build tags will be added back after the refactor.
|
|
Typos
|
|
|
|
Makefile cleanup
|
|
|
|
travis: update go version
|
|
|
|
security: Sync filesystem before dropping caches
|
|
|
|
Update all external dependencies to the latest version
|
|
security: Add check option to UserKeyringID
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
We should always log the descriptor not the entire policy structure.
|
|
Fixed failures in PAM module
|
|
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.
|
|
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.
|
|
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.
|
|
This was creating an issue becasuse fully dropping privileges required
spawning a goroutine and using rutime.DropOSThread().
|
|
Now the offending panic will just be logged and the module will fail.
This is important as to not crash the login process.
|
|
Changes to the keyrings interface, corresponding UI changes, and misc changes
|
|
Use `/dev/disk/by-uuid` to get UUID links to other filesystems
|
|
|
|
|
|
|
|
The --user flag can now be used to have the targe user (the one whose
keyring and password will be used in fscrypt) be different than the
calling user. Very usefull for things like
sudo fscrypt purge /media/joerichey/usb --user=joerichey
which will now have privileges to drop caches, but will properly clear
the keys from the user's keyring.
|
|
|
|
This user is used with policies to interface with the keryings and with
protectors to indicate which user's login passphrase should be used to
protectors of type pam_passphrase.
|
|
|
|
The functions are now changed to (Start|Stop)AsPamUser to indicate that
they handle privilege modification and keyring setup.
|
|
The keyring lookup functions no longer read from /proc/keys. Now they
simply spawn a thread, drop privs, and check with GetKeyringID and
KEY_SPEC_USER_KEYRING. See userKeyringID() for more info.
The privileges functions have also been changed. Now the concept of
setting privileges is seperate form the concept of setting up the
keyrings.
|
|
|
|
|
|
|
|
|
|
|
|
Fix a wide variety of small issues and update documentation
|
|
Update CONTRIBUTING.md to explain how issues will work
|
|
Makefile: Build version flag no longer needs repo
|
|
|
|
|
|
|
|
|