-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple changes #81
Multiple changes #81
Conversation
The drawbacks outweighed the pros. Also, #59 has been modified given developments in the Go compiler.
* Rename LockedBuffer to Enclave * Rename container Buffer method to Bytes.
* Add resizing methods. * Resizing methods are redundant. Keep functions.
…es and improvements. Todo: re-write frontend
…unctionality in frontend Still need to write tests.
…tests and examples and docs.
An important little change that was slipped in 61e6b4f is that |
I'm tentatively considering this ready to merge. Eyes on the code would be appreciated. |
I can take a look at all the changes this weekend |
Any reason you removed clone and resize? |
Clone was removed because of API bloat and I don't want to encourage the duplication of sensitive information. It's fairly easy to recreate its functionality: b := NewBuffer(8)
c := NewBuffer(b.Size())
c.Copy(b.Bytes())
c.Freeze() // optional Resize required some important decisions to be made regarding mutability and data, decisions that the programmer should probably make themselves. Again the functionality is easy to recreate: b := NewBuffer(8)
c := NewBuffer(new_size)
c.Copy(b.Bytes())
b.Destroy() I'm thinking of a way to implement streaming into and out of Enclaves which should reduce the need for Resize. (Resize was posed as a solution to #68 originally.) Do you consider these to be necessary components of the API? |
I don't consider Clone or Resize to be necessary at all, the reasons you have for removing them are very good ones I think. I was just curious about your reasoning. I do think while I wouldn't consider it essential, streaming would be nice to have. |
core
package.Enclave
objects which store encrypted data.examples
package.32 <= len(canary) <= ~pagesize
.