golix

A python library for Golix object manipulation.


Keywords
golix, encryption, security, privacy, private, identity, sharing
License
Other
Install
pip install golix==0.1.1

Documentation

py_golix

Golix: Python.

A python library for Golix protocol objects that is in dire need of a complete rewrite. This code definitely doesn't meet Muterra quality standards, and the API design is very bad.

Code Climate

Notes

Todo (no particular order)

  • DOCUMENTATION.
  • Ensure immutability of all objects that define __hash__
  • Packed lowlevel objects should probably be immutable.
  • Reassess return API for receiving things as a FirstPersonID. Should it return a tuple, as it is right now, or not? Should the object return be different from the payload return? Unpacking extracts pretty much everything you can get that's not protected by crypto. I think probably transition API to "unpack" for the object, "receive" for the content. And then receive will always return a single item.
  • Change hash generation to use hash.update method, and then finally call a .finalize
  • Test vectors for all crypto operations
  • Need ThirdPartyID for servers
    • Cannot create anything
    • Has no keys
    • Copies most of the methods from FirstPartyID for unpacking, etc
    • Can also verify objects
  • Should EVERYONE verify the entire dynamic chain (particularly re: consistent author), or just servers? Probably everyone. Which means that needs to be added. Except, because that is a state preservation issue, that needs to be handled downstream.
  • Consider wrapping all parsing errors in SecurityError
  • Consider adding functionality to prevent access to attributes on ex. static bindings when loading a packed object until the object has been verified with receive_.

    Done

    • Make handling of GHID objects symmetric. AKA, convert loaded SmartyParseObjects into utils.Ghid objects. That was unexpectedly straightforward.
    • Move trashtest into _spec unit test file before substantial changes. Might have broken since then though.