Commit Graph

235 Commits

Author SHA1 Message Date
Kyle Isom 8afbf91e09 Merge pull request #127 from cloudflare/zi/fix-minimum
Access structure should be invalide when Minimum == 0 with non-nil Names
2016-02-19 11:53:09 -08:00
Kyle Isom 324728f6c8 Merge pull request #126 from cloudflare/zi/owners-request-client-support
add support to Owners request to server
2016-02-19 11:52:43 -08:00
Zi Lin 7a806308d3 Access structure should be invalide when Minimum == 0 with non-nil Names 2016-02-19 10:17:45 -08:00
Zi Lin a03c794895 add support to Owners request to server 2016-02-19 09:50:25 -08:00
Jacob H. Haven 080ee17d75 Merge pull request #124 from pra85/patch-1
Fix typos in Readme
2016-02-19 06:39:28 -08:00
Prayag Verma 287b889e64 Fix typos in Readme
`enviroment` → `environment`
`ecrypted` → `encrypted`
2016-02-19 13:08:36 +05:30
Kyle Isom 71ddc45764 Merge pull request #123 from ejcx/ej/wrongPort
Use port 8080...
2016-02-18 13:04:37 -08:00
ejcx d4a814fcec Don't use this port. Tests depend on 8080 2016-02-18 13:06:41 -08:00
Nick Sullivan 18b5ac859f Merge pull request #122 from ejcx/nonReqHipchatName
Don't require a hipchat name
2016-02-01 19:31:25 -08:00
ejcx 7c95b54aa8 Don't require a hipchat name for create user 2016-02-01 18:41:49 -08:00
Nick Sullivan 8a2a0396f7 Merge pull request #120 from benburkert/simplify-newserver
redoctober: simplify the NewServer signature
2016-02-01 17:29:56 -08:00
Nick Sullivan 122b185baf Merge pull request #121 from ejcx/hipchatMessage
Send a message. Not a notification
2016-02-01 09:54:42 -08:00
ejcx c6388feb57 Send a message. Not a notification 2016-02-01 09:55:06 -08:00
Ben Burkert 6f8424ad38 redoctober: simplify the NewServer signature
Remove the unexported type used in the NewServer func so that it may be
used outside this package, which allows for integration style tests that
start an instance of a RO server.

The channel based request locking has been replaced with LimitListener,
which prevents simultaneous handling of TCP connections.
2016-01-30 00:24:34 +00:00
Nick Sullivan cac6da28c4 Merge pull request #106 from ejcx/ordermsp
Add hipchat and ordering support to redoctober
2016-01-29 15:57:16 -08:00
ejcx 6991a38586 Take a slice of users for orders
Don't assume that the creator of the order wants the delegations.
Instead it's much nicer with our current scheme to take in a big
slice of people who want delegations, so that each person who ne
eds a delegation doesn't need to make an order.
2016-01-29 15:51:38 -08:00
ejcx 9292e137d2 Take care of Nick's nitpicks. All good changes 2016-01-25 16:48:42 -08:00
ejcx 52f350d17f Fix uses being a string and breaking tests 2016-01-21 12:40:55 -08:00
ejcx 63055fa438 Fix confusion of using a var named same as time package 2016-01-21 12:34:36 -08:00
ejcx 378ebddf90 Make red october have slices of labels, and a link generator 2016-01-21 12:31:24 -08:00
Jacob H. Haven 48fd0baab9 Add order support to ro client 2016-01-14 14:08:25 -08:00
Nick Sullivan 434f0b61d7 Merge pull request #118 from cloudflare/brendan/bens-refactor
Import Ben's Refactor
2016-01-13 14:48:35 -08:00
e 95940ed3fa Add hipchat and ordering support to redoctober. Also fix XSS in RO
Supports MSP and requires several arguments to add hipchat integration to
red october. RedOctober will then alert on creation of an order, any new
delegation, or several other states.
2016-01-12 11:21:47 -08:00
Brendan Mc e8f30ae4a1 Don't cast to cryptor.UserDatabase to msp.UserDatabase. 2015-12-13 20:16:06 -08:00
Brendan Mc 1e699edc00 Import Ben's changes to MSP. 2015-12-13 17:12:38 -08:00
Zi Lin 1bfa291c37 Merge pull request #109 from andrewbuss/keycache_active_evict
Fix "invalid key size 0" when decrypting after a delegation expires
2015-12-04 22:48:17 -08:00
Zi Lin 9e54751efc Merge pull request #113 from cloudflare/jkroll/listen-tls
Modify the way we listen on TLS
2015-12-04 15:12:26 -08:00
Nick Sullivan eb38e1afe3 Merge pull request #111 from Bren2010/brendan/parsers
Rewrite MSP parsers.
2015-12-04 13:01:24 -08:00
Brendan McMillion 5e1cff9d9d Rewrite MSP parsers.
- Stop using container/list.  It requires casting which keeps causing panics.
- Justify all slice accesses.  Nil pointers also keep causing panics.
2015-12-04 11:32:00 -08:00
Andrew Buss 24fc3bb7d8 Fix "invalid key size 0" when decrypting after a delegation expires
The keycache does not remove active delegations when uses drops to zero;
rather it only removes these when Refresh is called.

So Valid returns true even if the user's delegation has expired,
so fullMatch is not set to false in unwrapKey,
so DecryptKey fails since the keycache refreshes and finds the delegation has expired,
so tmpKeyValue is left empty and decryptErr is set.

Since decryptErr is only used to break out of the inner loop, and
fullMatch wasn't set to false, no error is returned from unwrapKey.
So aesKey in DecryptKey is an empty string, causing an error when
passed to aes.NewCipher.

This commit actively removes a delegation from the keycache when it
is used for the last time, and properly handles errors thrown by
DecryptKey in unwrapKey.
2015-12-04 02:15:53 -08:00
Nick Sullivan d89bb05295 Merge pull request #104 from andrewbuss/single_owner
Allow encryption with a single owner
2015-12-03 17:36:45 -08:00
Kyle Isom 0c286e1166 Merge pull request #108 from j-delaney/go-version
Upadte README to specify Go 1.4
2015-12-03 12:57:07 -08:00
J Delaney b2ecf864e6 Upadte README to specify Go 1.4 2015-12-03 11:19:06 -08:00
Joshua Kroll d9e9f26d8d Modify the way we listen on TLS, to try to encourage it to always happen. 2015-12-02 20:02:30 -08:00
Andrew Buss 13f6616e60 Allow encryption with a single owner
The "minimum" parameter was ignored, so when a single user
was provided as an owner, the encrypted data had no KeySet value
and could not be decrypted.

This change fixes the API and cryptor to pay attention to the Minimum
parameter and handle the case where Minimum is 1
2015-11-30 03:07:07 -08:00
Kyle Isom f06cd674ba Merge pull request #103 from cloudflare/jkroll/backoff
Add exponential backoff to the Red October client
2015-11-24 15:25:33 -08:00
Nick Sullivan 3ce99ea48a Merge pull request #57 from Bren2010/master
Support for Arbitrarily Complex Predicates
2015-11-24 14:39:30 -08:00
Brendan McMillion 95e414474a Bugfix: Not enough arguments to Fatalf. 2015-11-23 10:43:39 -08:00
Brendan McMillion c5da2f748e Comment the DerivePath logic. 2015-11-23 10:32:31 -08:00
Brendan McMillion 7e56983fa6 Move field and matrix logic into their own files and abstractions.
- Instead of using GF(2^127-1) as one of many options, move to GF(2^128) exclusively.
- Don't clear the first two bits of every secret key.
2015-11-21 09:23:55 -08:00
Joshua Kroll 5a748b9249 Add exponential backoff to the Red October client, following the pattern in the CFSSL transport package client. 2015-11-21 05:02:53 -08:00
Brendan McMillion 07b99b15f3 Update comments. 2015-11-20 10:22:59 -08:00
Brendan McMillion 61540eca4e Bug fixes from code audit.
- Catch ignored error.
- Make sure that key data exists in the EncryptedData object as well as in the key cache.
2015-11-13 16:21:30 -08:00
Brendan McMillion 362e20533a Respond to PR requests.
- Type String renamed Name.
- Panic if an invalid modulus size is chosen rather.
- Name the interface arguments for the UserDatabase.
2015-11-12 09:12:22 -08:00
Brendan McMillion 2422b2920d Update owners API and README with predicates. 2015-11-11 15:23:14 -08:00
Brendan McMillion 68e5403a7b Add predicate section to UI. 2015-11-11 15:22:57 -08:00
Brendan McMillion d93709973e Track delegates when decrypting with shares. 2015-11-11 15:22:33 -08:00
Brendan McMillion 701b938562 Import bug fixes from MSP. 2015-11-11 15:22:12 -08:00
Brendan McMillion 4c161e343c Write better error messages. 2015-11-11 15:22:00 -08:00
Brendan McMillion 9e514e902a Shorten key by 2 bits. 2015-11-11 15:21:49 -08:00