]> git.apps.os.sepia.ceph.com Git - fscrypt.git/log
fscrypt.git
8 years agometadata: introduce protobuf structures
Joe Richey [Thu, 2 Mar 2017 18:15:23 +0000 (10:15 -0800)]
metadata: introduce protobuf structures

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

8 years agovendor: adding in golang/protobuf libraries
Joe Richey joerichey@google.com [Mon, 17 Apr 2017 19:35:29 +0000 (12:35 -0700)]
vendor: adding in golang/protobuf libraries

This commit adds in the two protocol buffer libraries for Go. The
github.com/golang/protobuf/proto package will let Go code read and write
protocol buffers. The github.com/golang/protobuf/jsonpb package lets Go
code output a JSON representation of protocol buffers.

These packages are stored in the vendor directory, meaning that they
will be imported instead of any installed system packages.

Change-Id: I8da8d15864f03a9b3f767a6af18795c8eca64844

8 years agoutil: convenience utilities for fscrypt
Joe Richey [Thu, 2 Mar 2017 00:57:27 +0000 (16:57 -0800)]
util: convenience utilities for fscrypt

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

8 years agocmd/fscrypt: Initial stub program and docs
Joe Richey [Fri, 31 Mar 2017 17:14:20 +0000 (10:14 -0700)]
cmd/fscrypt: Initial stub program and docs

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

8 years agoInitial Documentation for fscrypt
Joe Richey [Thu, 30 Mar 2017 21:39:09 +0000 (14:39 -0700)]
Initial Documentation for fscrypt

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

8 years agoFirst commit, adding README
Joe Richey [Wed, 26 Oct 2016 22:20:16 +0000 (15:20 -0700)]
First commit, adding README

Change-Id: I32cc74f278b4a19d91106a5cb20d8a9e96fb1351