Commit graph

353 commits

Author SHA1 Message Date
Leonard Lyubich
7b83b9df4e [#194] object: Add status returns related to LOCKs
Add `status.Object` section for object failures. Add `LOCKED` and
`LOCK_NON_REGULAR_OBJECT` codes to it. Return these codes from `Put` and
`Delete` RPCs of `ObjectService`.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-02-22 11:58:44 +03:00
Leonard Lyubich
3793783ed4 [#194] object: Add LOCK type
NeoFS introduces object LOCKs - a mechanism for locking an object from,
for example, deletion. Object locks are implemented and stored in the
container as objects, so there is a need to define a new type of system
objects.

Add `LOCK` value to `ObjectType` enum.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-02-22 11:58:44 +03:00
Evgenii Stratonikov
35e9840de6 [#192] docs: Generate documentation
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-21 15:52:48 +03:00
Evgenii Stratonikov
3a154760b5 [#191] status: add Session section and some status codes
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-21 15:52:48 +03:00
Evgenii Stratonikov
31b7b073c2 [#190] status: add Container section and CONTAINER_NOT_FOUND code
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-21 15:52:48 +03:00
Evgenii Stratonikov
5f53a683d1 [#190] status: add Object.OBJECT_NOT_FOUND code
`OBJECT_` prefix is needed because of possible conflicts with other
`NOT_FOUND` codes declared in the same file.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-21 15:52:48 +03:00
Evgenii Stratonikov
5f3fa3fdd8 [#189] status: add Object section and ACL_DENIED code
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-21 15:52:48 +03:00
Pavel Karpy
1842305116 [#195] doc: Regenerate documentation
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-21 15:26:28 +03:00
Pavel Karpy
f67442d769 [#195] object: Add notification well-known attributes
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-21 15:26:28 +03:00
Leonard Lyubich
e09a560d57 [#187] status: Add detail with supported network magic
Add detail for `WRONG_MAGIC_NUMBER` status code which carries the
correct magic of the served network served. Clients will be able to fix
incorrect magic and re-send the request. ID is 0, binary format
is uint64 in big-endian.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-01-27 16:48:52 +03:00
Leonard Lyubich
d9d71ccd66 [#82] status: Add status code for wrong network magic
After the recent update of NeoFS V2 protocol all requests must carry
correct network magic.

Add `WRONG_MAGIC_NUMBER` code to `CommonFail` section.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-01-10 17:32:31 +03:00
Leonard Lyubich
b1fca685a9 [#82] session: Add network magic to RequestMetaHeader
To prevent theoretical cross-network replay attack, we need to have
network magic in NeoFS requests.

Add `magic_number` numeric field to `session.RequestMetaHeader`
message.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-01-10 17:32:31 +03:00
Leonard Lyubich
848b96ede0 Update changelog for release v2.11.0
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-12-02 14:11:56 +03:00
Pavel Karpy
8de3478833 [#184] doc: Regenerate docs
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-18 19:23:54 +03:00
Pavel Karpy
b608e89bf4 [#184] netmap: Add subnetwork attribute to the NodeInfo
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-18 19:23:54 +03:00
Pavel Karpy
fbbbfccb8d [#184] netmap: Sync style of the comments
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-18 19:23:54 +03:00
Pavel Karpy
c11991aff1 [#183] doc: Regenerate docs
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-18 13:50:39 +03:00
Pavel Karpy
a05e6f9a5c [#183] subnet: Define subnet information message
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-18 13:50:39 +03:00
Evgenii Stratonikov
c6691c4924 [#179] netmap: add subnet id to placement policy
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-17 15:29:57 +03:00
Leonard Lyubich
7ea5a1d2f1 [#150] *: Write status-related docs
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-16 09:46:14 +03:00
Leonard Lyubich
f55f83fb24 [#150] status: Define enum of sequence numbers of the failure sections
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-16 09:46:14 +03:00
Leonard Lyubich
c907451350 [#150] status: Define enumeration of the codes for common failures
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-16 09:46:14 +03:00
Leonard Lyubich
fd0366bbf5 [#150] status: Define enumeration of success status codes
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-16 09:46:14 +03:00
Leonard Lyubich
ba1179a22b [#150] session: Add Status field to ResponseMetaHeader
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-16 09:46:14 +03:00
Leonard Lyubich
f61eaf5353 [#150] Define status return message
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-16 09:46:14 +03:00
Alex Vanin
115d8c801d Release v2.10.0 - Udo (우도, 牛島)
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-10-14 19:16:43 +03:00
Alex Vanin
8bf84cdc65 [#177] container: Define well-known container attributes for NNS integration
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-10-14 09:54:57 +03:00
Leonard Lyubich
6ad083c731 [#172] netmap: Add network configuration to NetworkInfo message
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-27 15:38:54 +03:00
Leonard Lyubich
e16866843b [#172] netmap: Define NetworkConfig message
Define `netmap.NetworkConfig` message which represents structure of
NeoFS network config stored in Netmap contract.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-27 15:38:54 +03:00
Leonard Lyubich
2e23cb3888 [#172] netmap: Add ms_per_block field to NetworkInfo message
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-27 15:38:54 +03:00
Evgenii Stratonikov
3878a09e42 [#173] acl: add filter for service headers
Service headers are ignored by NeoFS nodes but can be
used to save access-related information by services
built on top of NeoFS.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-09-15 14:23:12 +03:00
Alex Vanin
ece09a1812 Release v2.9.1
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-08-26 16:56:24 +03:00
Alex Vanin
233f777d0c [#84] Fix string presentation object type enum
Default string presentations of enums in protobuf are the same
as definitions. In our case it is going to be UPPER_SNAKE_CASE
string constants. Default presentation is easier to maintain.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-08-26 13:03:31 +03:00
Pavel Karpy
260db6b3df Release v2.9.0 - Anmyeondo (안면도, 安眠島)
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-16 18:52:57 +03:00
Pavel Karpy
e6226c27d2 [#166] doc: Generate doc COMMON_PREFIX matchtype
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-16 15:15:58 +03:00
Pavel Karpy
0040853986 [#166] object: Define COMMON_PREFIX value in MatchType enum
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-16 15:15:58 +03:00
Pavel Karpy
3cc5852f3f [#167] doc: Generate doc for attribute escaping description
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-16 15:15:32 +03:00
Pavel Karpy
2536e5a97b [#167] netmap: Add attribute escaping description
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-16 15:15:32 +03:00
Leonard Lyubich
7f67c378a7 Update changelog for v2.8.0 release
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-25 23:41:30 +03:00
Leonard Lyubich
6846e300e7 [#160] netmap: Provide the ability to announce multiple addresses
Make `address` field of `netmap.NodeInfo` message repeated (with
corresponding renaming).

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-23 15:28:36 +03:00
Leonard Lyubich
030c59ccba Update changelog for v2.7.0 release
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 16:36:46 +03:00
Leonard Lyubich
52992d7150 Re-generate docs for release
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 16:36:46 +03:00
Leonard Lyubich
81d6c73147 [#157] container: Add session token to GetResponse body
Container can be created within a session. The presence of a session token
in the GET response body allows you to reflect this fact.

Add `session_token` field of `session.SessionToken` type to
`container.GetResponse.Body` message.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 11:36:17 +03:00
Leonard Lyubich
4b3794cbb9 [#157] container: Add session token to GetExtendedACLResponse body
Extended ACL can be set within a session. The presence of a session token in
the GET response body allows you to reflect this fact.

Add `session_token` field of `session.SessionToken` type to
`container.GetExtendedACLResponse.Body` message.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 11:36:17 +03:00
Leonard Lyubich
77c4b55100 [#156] session: Add ContainerServiceContext to SessionToken.Body oneof
Extend `session.SessionToken.Body.context` oneof with `container` field of
type `ContainerServiceContext`. This field is going to be used for RPCs of
`container.ContainerService`.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 11:36:17 +03:00
Leonard Lyubich
dbd5ed1978 [#156] session: Define structure of container session context
Define `session.ContainerSessionContext` message with context information of
container service RPCs.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-03 11:36:17 +03:00
Alex Vanin
a425e55d99 Release v2.6.0 - Daecheongdo
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-05-07 13:01:00 +03:00
Alex Vanin
99177c2906 docs: Generate docs for reputation package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-05-07 13:01:00 +03:00
Stanislav Bogatyrev
37e13c5475 reputation: Rename and reformat
* Rename:
  - SendLocalTrust → AnnounceLocalTrust
  - SendIntermediateResult → AnnounceIntermediateResult

  Those methods don't expect to Send anything, but to further announce
  the trust information from the node.

* Change PeerID to explicitly use public key as a node identifier

* Minor comments reformat

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-05-07 11:52:40 +03:00
Pavel Karpy
b50b951dd0 [#149] reputation: Change SendIntermediateResultRequest.Body
Add `epoch` field to the `SendIntermediateResultRequest.Body`
message.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-05-07 11:52:40 +03:00