NeoFS Object are now Content-addressed. It means the Object's address depends on
it's content. ObjectID is now calculated as hash of Header, which contains a
hash of payload. If either if Object's payload of Headers change, the ID will
also change.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Replaces import of PlacementRule message from netmap repository with a message
from the internal netmap package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from container package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Change the type of all fields for identifier of the container owner to
refs.OwnerID. This will allow you to follow a single format and not duplicate
its description.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Capacity field is obsolete and removed. Salt field renamed to
Nonce so it shows better the purpose of the field.
Remaining fields are reorded to have fixed size fields on top.
It affects stable-marshaller implementation.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
With new ACL conception, access control lists in NeoFS
defined as a required basic ACL and optional extended ACL.
Basic ACL must be set up in container structure. It is a bit
mask stored in 32-bit unsigned integer.
Seven nibbles represent seven object operations: get, put,
head, search, delete, range, range-hash.
Every nibble defines access rules for three targets: user,
owner, others and has permission bit for bearer token.
There is a permission bit for extended ACL and three unused
bits.