Commit graph

1203 commits

Author SHA1 Message Date
Leonard Lyubich
010b1b0118 [#339] netmap: Support protocol changes related to NetworkInfo
Recompile NeoFS API protobuf files. Implement `NetworkParameter` and
`NetworkConfig` types. Expand `NetworkInfo` type with MillisecondsPerBlock
and `NetworkConfig`.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-29 11:13:12 +03:00
Evgenii Stratonikov
520a065dd2 [#338] v2/acl: add Service filter type
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-09-28 18:19:55 +03:00
Leonard Lyubich
da89c2b71f [#337] client: Add option to specify callback of response information
There is a need to analyze some response information in API client.

Define `ResponseMetaInfo` structure of response information. Add
`WithResponseInfoHandler` client option which allows to set the response
info callback. The callback is called right after any response is received.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-28 18:15:29 +03:00
Leonard Lyubich
3844a3ac74 [#342] v2/reputation: Fix incorrect return of AnnounceIntermediateResult
Return `AnnounceIntermediateResultResponse` instead of
`AnnounceIntermediateResultRequest` from `rpc.AnnounceIntermediateResult`.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-28 18:15:29 +03:00
Leonard Lyubich
e887368be6 [#340] owner: Prevent potential NPE in NEO3WalletFromPublicKey
Copy `Curve` field of `ecdsa.PublicKey` arg to `keys.PublicKey` instance in
`NEO3WalletFromPublicKey` function.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-20 14:41:29 +03:00
Pavel Karpy
6d0b3135ff Release v1.29.0 - Anmyeondo (안면도, 安眠島)
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-27 13:33:09 +03:00
Pavel Karpy
a2dd61300a Update release instruction
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-27 13:33:09 +03:00
Alex Vanin
1ddc98dc75 [#333] pkg/acl: Add remaining well-known eACL filter setters
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-08-26 18:37:16 +03:00
Alex Vanin
86df0eac93 [#333] v2/acl: Remove FilterObjectParent constant
According to specification, well-known object related filter keys for
extended ACL do not include `$Object:split.parent`.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-08-26 18:37:16 +03:00
Pavel Karpy
4e7a966a49 [#331] pkg/object: Add COMMON_PREFIX matchtype enum constant and test case for it
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 18:37:03 +03:00
Pavel Karpy
e6cd9c48ed [#331] v2/object: Add COMMON_PREFIX v2 matchtype enum constant
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 18:37:03 +03:00
Pavel Karpy
de3242d867 [#331] v2/object: Sync method name and its commentary
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 18:37:03 +03:00
Pavel Karpy
5b3860e3d9 [#331] v2/object: Recompile proto files
Add new enum matchtype `COMMON_PREFIX` to object.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 18:37:03 +03:00
Pavel Karpy
63c37709fa [#334] pkg/acl: Fix public-read ACL rule
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 17:25:45 +03:00
Pavel Karpy
aad43354de [#335] ci: Add tests for Go 1.17
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 17:00:29 +03:00
Pavel Karpy
456dc5d7e9 [#335] go.mod: Update to Go 1.16
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 17:00:29 +03:00
Pavel Karpy
a0262d58b0 [#335] linter: Sync receiver name for Tombstone
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-08-26 17:00:29 +03:00
Stanislav Bogatyrev
8c9e1504b8 Fix well-known BasicACL constants to fit the spec
In the well-known BasicACL constants we need to set the always toggled
bits for the system group. Otherwise it may be confusing for those who
read the specification and try to match it with the reference
implementation or the resulting BasicACL set in the container.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2021-08-05 19:52:18 +03:00
Alex Vanin
9b2e63659c Update changelog for release v1.28.3
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-07-07 15:04:22 +03:00
Alex Vanin
f00b9ba054 [#326] Fix regression after #324
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-07-07 15:04:22 +03:00
Leonard Lyubich
03ee3e5357 Update changelog for release v1.28.2
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-07-06 11:48:17 +03:00
Leonard Lyubich
2f783dfad7 [#323] pkg/client: Prevent corruption of parameterized session token
Create new `SessionTokenBody` instead of using one from the parameter in
order to prevent data corruption.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-07-06 11:48:17 +03:00
Leonard Lyubich
ab60f3685b Update changelog for v1.28.1
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-07-01 18:09:42 +03:00
Leonard Lyubich
4331646615 [#321] pkg/container: Remove no longer use NewVerifiedFromV2 func
Also remove `pkg.IsSupportedVersion` used by `NewVerifiedFromV2` only.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-07-01 18:03:16 +03:00
Leonard Lyubich
d809155efa [#321] pkg/client: Do not verify container body in GetContainer
There is a problem when containers with newer versions considered invalid by
Client. This does not allow receiving correct containers of new versions
through the client.

Fix the problem by turning off version check in `Client.GetContainer`.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-07-01 18:03:16 +03:00
Leonard Lyubich
76abe7d6cb Update changelog for v1.28.0 release
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-28 10:59:58 +03:00
Leonard Lyubich
af854ca08f Update Neo GO library to v0.95.3
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-28 10:59:58 +03:00
Leonard Lyubich
07fcaa4ba5 [#312] netmap: Support multiple addresses in NodeInfo
In latest NeoFS API changes `NodeInfo` message carries list of network
addresses. There is a need

Add `SetAddresses` / `IterateAddresses` / `NumberOfAddresses` methods to
provide the access to node's address group. Mark `Address` / `SetAddress`
methods as deprecated.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-23 17:52:43 +03:00
Leonard Lyubich
6d531a07a5
[#313] client/object: Always return number of bytes read from Get stream (#316)
Fix failure to comply with a requirement of stdlib `io.Reader` docs: `When
Read encounters an error or end-of-file condition after successfully reading
n > 0 bytes, it returns the number of bytes read.`

Prepare a platform for unit tests and test the affected case.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-23 14:15:58 +03:00
Leonard Lyubich
616b4b71a1 [#310] *: Implement string converters for enumerations
Implement `String` / `FromString` method pair in all levels of enum
definitions. From now `String()` returns canonical protojson-compatible
values.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-23 10:24:32 +03:00
Leonard Lyubich
fdea892db7 [#313] client/object: Add payload-handling parameter to GetObjectParams
Define `ReaderHandler` type. Add `GetObjectParams.WithPayloadReaderHandler`
method which accepts `ReaderHandler`. The handler is called right after
header receipt in `Client.GetObject`. After the handler is called,
`GetObject` returns object header immediately.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-22 17:54:39 +03:00
Angira Kekteeva
8ea9993577 [#309] pkg/session: Add marshal-unmarshal
Added Marshal, Unmarshal, MarshalJSON, UnmarshalJSON methods
to ContainerContext

Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2021-06-17 16:59:24 +03:00
Pavel Karpy
86d446f54c [#307] v2/tombstone/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
9dfc7e7fe9 [#307] v2/storagegroup/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
383edb1be4 [#307] v2/session/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check. Do not create empty slices
if `empty == true`.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
704d16c6c6 [#307] v2/refs/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check. Do not create empty slices
if `empty == true`.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
192382dbfc [#307] v2/object/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check. Do not create empty slices
if `empty == true`.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
dd3cbd95e9 [#307] v2/netmap/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check. Do not create empty slices
if `empty == true`.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
44dafcf0e5 [#307] v2/container/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check. Do not create empty slices
if `empty == true`.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
772c8be200 [#307] v2/audit/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
e15dd105fe [#307] v2/acl/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check. Do not create empty slices
if `empty == true`.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
51f20a76c5 [#307] v2/accounting/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Pavel Karpy
176be8ead1 [#307] v2/reputation/test: Do not allocate memory if !empty
Move all memory allocation and field settings
in `Generate...(empty bool)` functions behind
`if !empty` check.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-16 10:12:50 +03:00
Leonard Lyubich
e459378b16 [#306] grpc: Fix the format of full method names
All calling RPC's should have a leading slash according to docs of using
gRPC library.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-15 10:15:40 +03:00
Pavel Karpy
0e53766f2d [#305] docs: Add release instructions
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-11 17:24:54 +03:00
Pavel Karpy
59179bed92 Release v1.27.1
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-10 12:16:02 +03:00
Pavel Karpy
5f50484cd5 Bump SDK version in pkg
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy
1542162657 [#302] pkg/xheader: Document default values set in NewXHeader
Document field values of instance constructed via
`NewXHeader`. Assert the values in corresponding
unit test.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy
41307a5e00 [#302] pkg/xheader: Convert nil XHeader to nil message
Document that `XHeader.ToV2` method return `nil`
when called on `nil`. Document that `NewXHeaderFromV2`
function return `nil` when called on `nil`. Write
corresponding unit tests.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy
dc99d4edce [#302] pkg/version: Document default values set in NewVersion
Document field values of instance constructed via
`NewVersion`. Assert the values in corresponding
unit test.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00