commit | 4fe71e314157576d2bdfe54cc6f8ce5df38c571d | [log] [tgz] |
---|---|---|
author | Vitaly Buka <vitalybuka@google.com> | Fri Jan 29 11:50:53 2016 -0800 |
committer | Vitaly Buka <vitalybuka@google.com> | Fri Jan 29 22:20:57 2016 +0000 |
tree | e9c0d8200c8462f87767f7059fc72c5594b8b547 | |
parent | 3cbb6869edd05975fc876844bfff52d12ac32f66 [diff] |
Make App ID a part of User ID In addition to user ID, auth tokens could be bound to specific app ID. So internal libweave User ID, named UserAppId, from now will consist of auth type, user ID and optional app ID. If operation was called with token containing only user ID, libweave will grant access to all commands for every app for the given user ID. To distinguish between user authorized with local, pairing or anonymous tokens libweave uses UserAppId::type field. As macaroons have no caveats for this kind of information, current implementation will just append the type to the user ID caveat of the access token. BUG: 26292014 Change-Id: I528c2717c95c5daed74bb769b3569fac823761f2 Reviewed-on: https://weave-review.googlesource.com/2394 Reviewed-by: Alex Vakulenko <avakulenko@google.com>
libWeave is the library with device side implementation of Weave protocol.
Sources are located in git repository at https://weave.googlesource.com/weave/libweave/
Make sure you have a bin/ directory in your home directory and that it is included in your path:
mkdir ~/bin PATH=~/bin:$PATH
Download the Repo tool and ensure that it is executable:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
repo init -u https://weave.googlesource.com/weave/manifest repo sync
Path | Description |
---|---|
include/ | Includes to be used by device code |
src/ | Implementation sources |
examples/ | Example of device code |
third_party/ | Dependencies |
Makefile, *.mk files | Build files |
sudo apt-get update sudo apt-get install autoconf automake binutils g++ hostapd libavahi-client-dev libcurl4-openssl-dev libexpat1-dev libnl-3-dev libnl-route-3-dev libssl-dev libtool
The make --jobs/-j
flag is encouraged, to speed up build time. For example
make all -j
make
or
make out/Debug/libweave.so
make all-examples
See the examples README for details.
make test make export-test
or
make testall
Make sure to have correct user in local or global config e.g.:
git config --local user.name "User Name" git config --local user.email user.name@example.com
repo start <branch name> .
git commit -a -v
repo upload .
Go to the url from the output of “repo upload” and add reviewers.