Fix a bunch of godoc issues, removes exchange and queue names which were
no longer being utilized, and the GenB32ID function which was also not
being used. Renames some constant values to remove mixture of all caps
and underscores in constants.
This change removes the Permission type, and modifies ACL to simply be a
map of a given module name and the authorization specification.
It was previously stored as a list of ACL types, with each type being a
map which was not required.
This also fixes a bug in authorization, where an action would be
authorized if the first operation validated against the ACL. This means,
it was possible if an action contained more than one operation, an
investigator could be authorized for execution if the first module
matched the ACL. Note that for this to happen, the first operation
checked would need to be authorized and in general deployments this does
not have a significant impact.
Resolves#394
Adds functionality to mig-cmd in addition to various bug fixes to
correctly support multiple signature verification with ACL module
weights.
This implementation is rudimentary in the sense it gives an investigator
the ability to output a signed action, which can be handed off to
another investigation for application of a second signature and
execution in the system.
This is a major change to the structure of the repository and the Makefile,
but a minor change in terms of functionalities. It simply changes the structure
of the directories to be compliant with Go's idiomatic build methods.
I also bought the domain `mig.ninja` and will now be using that as
a standard import path for everything. The magic to serve everything
under mig.ninja/mig will be documented elsewhere.