In this commit, we fix a bug which would result in the "perm" store
being used for the LocalTemp KV DB _if and only if_ the KV store being
requested was a session level one (as opposed to a session feature level
one). It is ok for us to just change this here since as of this commit,
the session level KV store is not used at all and so nothing will be in
that store yet.
SessionDB is an interface that gives helper methods for how privacy
mapping should be done. A mock for SessionDB is added to save on some
code repetition, the privacy flags functionality is used in a later
test.
This commit adds a new FetchAllPairs to the PrivacyMapTx interface. This
method returns a new PrivacyMapPairs struct which is an in-memory
privacy map DB. The PrivacyMapPairs struct implements a new
PrivacyMapReader interface which can be used to pass around read only
access to the PrivacyMapPairs struct.
Change all comments and variable names mentioning "session ID" to "group
ID" instead. As of this commit, session linking is not yet possible and
so what ever session IDs are passed in are also group IDs.
This commit adds a new Action type to the firewalldb package along with
Serialization and Deserialization methods for it. It also adds
ListAction and ListSessionAction methods to the DB which can be used to
paginate through the actions. Various interfaces are also added that
will be used by `rules` to access certain RuleActions.