Skip to content
This repository has been archived by the owner on Sep 16, 2021. It is now read-only.

Commit

Permalink
CauliflowerVest 0.10.2 beta release.
Browse files Browse the repository at this point in the history
--
MOS_MIGRATED_REVID=113307402
  • Loading branch information
maximermilov committed Jan 28, 2016
1 parent d696ade commit bd4e58c
Show file tree
Hide file tree
Showing 90 changed files with 2,193 additions and 2,221 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
settings.py
!/src/**/settings.py
14 changes: 12 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright 2011 Google Inc. All Rights Reserved.
#

CV_VERSION=0.10.1
CV_VERSION=0.10.2
CV=cauliflowervest-${CV_VERSION}
CV_DIST=dist/${CV}.tar
CV_SDIST=${CV_DIST}.gz
Expand Down Expand Up @@ -42,6 +42,8 @@ xlib_include:
echo not OS X, no symlink can be created or SDK directory found.

test: VE keyczar xlib_include
# Hack for Pillow installation
VE/bin/python setup.py test
# This strange import fixes some kind of race condition in the
# way that encodings.utf_8 retains its import of the codecs module.
#
Expand All @@ -55,7 +57,15 @@ test: VE keyczar xlib_include
VE/bin/python -c \
'import encodings.utf_8; import sys; sys.argv=["setup.py","google_test"]; import setup' && echo ALL TESTS COMPLETED SUCCESSFULLY

build: VE
update_bower_deps:
bower update
rm -Rf src/cauliflowervest/server/components
mv bower_components src/cauliflowervest/server/components

build_js: clean VE
VE/bin/python compile_js.py src/cauliflowervest/server/static/js/glue.js src/cauliflowervest/server/static/js/main.js

build: build_js update_bower_deps VE
VE/bin/python setup.py build

install: client_config build
Expand Down
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,48 @@
## Overview

[Cauliflower Vest](../../wiki/ThatName) is a recovery key escrow solution. The project initially started with end-to-end Mac OS X FileVault 2 support, and later added support for BitLocker (Windows), LUKS (Linux), and Duplicity. The goal of this project is to streamline cross-platform enterprise management of disk encryption technologies.
[Cauliflower Vest](../../wiki/ThatName) is a recovery key escrow solution.
The project initially started with end-to-end Mac OS X FileVault 2 support,
and later added support for BitLocker (Windows), LUKS (Linux), and Duplicity.
The goal of this project is to streamline cross-platform enterprise management
of disk encryption technologies.

Cauliflower Vest offers the ability to:
* Forcefully enable FileVault 2 encryption.
* Automatically escrow recovery keys to a secure Google App Engine server.
* Delegate secure access to recovery keys so that volumes may be unlocked or reverted.
* Delegate secure access to recovery keys so that volumes may be unlocked or
reverted.
* Sync BitLocker recovery keys from Active Directory.

Components:

* A Google App Engine based service which receives and securely escrows recovery keys.
* A GUI client running on the OS X user machines, which enables FileVault 2 encryption, obtains the recovery key, and sends it to the escrow service.
* A CLI tool, [csfde](../../wiki/Csfde), which activates FileVault 2 encryption on OS X 10.7 Lion, which may be used independently of the GUI client.
* A Google App Engine based service which receives and securely escrows
recovery keys.
* A GUI client running on the OS X user machines, which enables
FileVault 2 encryption, obtains the recovery key, and sends it to the escrow
service.

* A CLI tool, [csfde](../../wiki/Csfde), which activates FileVault 2
encryption on OS X 10.7 Lion, which may be used independently of the
GUI client.
* A CLI tool which runs on Linux, for use with LUKS and Duplicity.
* A script to sync BitLocker recovery keys from Active Directory to Clipper.
* A script to sync BitLocker recovery keys from Active Directory.

## Getting Started

Full source is available for all components.

To get started, begin with the [Introduction](../../wiki/Introduction) wiki page.
To get started, begin with the [Introduction](../../wiki/Introduction)
wiki page.

### Contact

Please search, join, and/or email the discussion list with questions at [[email protected]](https://groups.google.com/forum/#!forum/cauliflowervest-discuss).
To reach only engineers on the project, email [email protected].
To reach only engineers on the project, email
[email protected].



![](https://raw.githubusercontent.com/google/cauliflowervest/master/res/cauliflower_vest_logo.png?token=9258614__eyJzY29wZSI6IlJhd0Jsb2I6Z29vZ2xlL2NhdWxpZmxvd2VydmVzdC9tYXN0ZXIvcmVzL2NhdWxpZmxvd2VyX3Zlc3RfbG9nby5wbmciLCJleHBpcmVzIjoxNDE0MTYzOTgzfQ%3D%3D--c6b6f034a6a1476661993ac550fa35182825ba5c)

Thanks to [Dorothy Marczak](https://plus.google.com/106286115972636321533/about) for the logo.
Thanks to [Dorothy Marczak](https://plus.google.com/106286115972636321533/about)
for the logo.
3 changes: 2 additions & 1 deletion appid_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##
#
#
#

"""Generates a Google App Engine appid based on various settings."""
Expand Down
7 changes: 7 additions & 0 deletions bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "cauliflowervest",
"dependencies": {
"paper-tabs": "PolymerElements/paper-tabs#^1.2.3",
"iron-pages": "PolymerElements/iron-pages#^1.0.5"
}
}
60 changes: 60 additions & 0 deletions compile_js.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/usr/bin/env python
#
# Copyright 2016 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS-IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# ./compile_js.py <path_to_input_js_file> ... <path_to_output_js_file>
"""Uses Closure Compiler Service API to compile JavaScript file."""

import httplib
import sys
import urllib

CLOSURE_SERVICE_DOMAIN = 'closure-compiler.appspot.com'


def CompileJs(files, output_js_file):
"""Uses Closure Compiler Service API to compile JavaScript file."""
params = [
('compilation_level', 'ADVANCED_OPTIMIZATIONS'),
('output_format', 'text'),
('output_info', 'compiled_code'),
('use_closure_library', True),
]

# Param docs: https://developers.google.com/closure/compiler/docs/api-ref
src = []
for f in files:
src += open(f).readlines()
params.append(('js_code', '\n'.join(src)))
params = urllib.urlencode(params)

# Always use the following value for the Content-type header.
headers = {'Content-type': 'application/x-www-form-urlencoded'}
conn = httplib.HTTPConnection(CLOSURE_SERVICE_DOMAIN)
conn.request('POST', '/compile', params, headers)
response = conn.getresponse()
response_text = response.read()
conn.close()

if response.status != 200 or response_text.startswith('Error'):
raise Exception('JS compilation failed: %s' % response_text)

f = open(output_js_file, 'w')
f.write(response_text)
f.close()


if __name__ == '__main__':
CompileJs(sys.argv[1:-1], sys.argv[-1])
2 changes: 1 addition & 1 deletion create_gae_bundle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ fi
cd ${BUNDLE_ROOT} && ln -f -s ${VE_PATH}/lib/python2.7/site-packages/keyczar keyczar

# Update the app.yaml application value based on DOMAIN and SUBDOMAIN settings.
cd ${ROOT} && sed -i "" "s/^application:.*/application: $(PYTHONPATH=src/cauliflowervest/ $VE_PYTHON appid_generator.py)/" ${BUNDLE_ROOT}/app.yaml
cd ${ROOT} && sed -i "s/ENTER_APPID_HERE/$(PYTHONPATH=src/cauliflowervest/ $VE_PYTHON appid_generator.py)/" ${BUNDLE_ROOT}/app.yaml ${BUNDLE_ROOT}/cron.yaml
Empty file removed gae_bundle/__init__.py
Empty file.
1 change: 0 additions & 1 deletion gae_bundle/app.yaml

This file was deleted.

1 change: 0 additions & 1 deletion gae_bundle/appengine_config.py

This file was deleted.

Empty file.
1 change: 0 additions & 1 deletion gae_bundle/cauliflowervest/server

This file was deleted.

1 change: 0 additions & 1 deletion gae_bundle/cauliflowervest/settings.py

This file was deleted.

1 change: 0 additions & 1 deletion gae_bundle/cron.yaml

This file was deleted.

1 change: 0 additions & 1 deletion gae_bundle/index.yaml

This file was deleted.

1 change: 0 additions & 1 deletion gae_bundle/main.py

This file was deleted.

2 changes: 1 addition & 1 deletion postflight
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ TARGET_PATH="$3"
RESOURCES="${PKG}/Contents/Resources"
BASETMPDIR="${TARGET_PATH}/tmp/"
OSX=$(sw_vers -productVersion | cut -d. -f1-2)
VERSION="0.10.1"
VERSION="0.10.2"
PACKAGE_DEPS="setuptools python-dateutil>=1.4,<2 pyyaml google_apputils"
PYTHON_VERSION=$(egrep '[0-9].[0-9]' "${PKG}/Contents/Resources/python_version")
PYTHON="python${PYTHON_VERSION}"
Expand Down
Loading

0 comments on commit bd4e58c

Please sign in to comment.