Commit Graph

378 Commits (fix/31-policy_placement_marsh)

Author SHA1 Message Date
Evgenii Stratonikov 0c67b8fefa [#34] tracing: use atomic.Pointer
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-19 14:40:17 +03:00
Anton Nikiforov a3a5046ecc [#28] Replace interface{} with any
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-05-15 17:25:04 +03:00
Evgenii Stratonikov a6e2ab3845 [#27] *: Add linter exceptions
Each of these is not easy to do, so add an exeption for now.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-03 14:15:56 +03:00
Dmitrii Stepanov bd44a3f47b [#24] tracing: Fix panic on closed channel
Closed channel is also ready for communication, so select
statement can write to it.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-04-18 08:08:22 +00:00
Dmitrii Stepanov 488ee50f9e [#12] tracing: Add gRPC middleware
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-04-11 10:55:42 +03:00
Dmitrii Stepanov 816628d37d [#12] tracing: Add tracing package
Add tracing config, implementation and setup

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-04-11 10:55:42 +03:00
Leonard Lyubich 25da5d2e13 Add `v2` version to go module name
Replace all elements from `v2` to root directory.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-17 15:29:33 +03:00
Leonard Lyubich db1ed76473 [#351] container: Add default value for NNS zone
Define `SysAttributeZoneDefault` constant for default zone in V2 code. Add
`SetNativeName` function which sets name with default zone.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-10-14 15:20:40 +03:00
Leonard Lyubich 20b863284a [#351] pkg/container: Implement functions to work with native names
Implement `GetNativeNameWithZone` / `SetNativeNameWithZone` function which
gets / sets `__NEOFS_NAME` and `__NEOFS_ZONE` container attributes.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-10-14 15:20:40 +03:00
Leonard Lyubich ea91004e8a [#341] acl: Define public-append rule
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-10-05 22:43:15 +03:00
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 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
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
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 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 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 f00b9ba054 [#326] Fix regression after #324
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-07-07 15:04:22 +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 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 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 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
Pavel Karpy 768adfdd15 [#302] pkg/version: Convert nil `Version` to nil message
Document that `Version.ToV2` method return `nil`
when called on `nil`. Document that `NewVersionFromV2`
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 bb0cd8e4c0 [#302] pkg/signature: Document default values set in `NewSignature`
Document field values of instance constructed via
`NewSignature`. 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 b506970636 [#302] pkg/signature: Convert nil `Signature` to nil message
Document that `Signature.ToV2` method return `nil`
when called on `nil`. Document that `NewSignatureFromV2`
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 bf0d106e54 [#302] pkg/checksum: Document default values set in `NewChecksum`
Document field values of instance constructed via `NewChecksum`.
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 35b6629e1c [#302] pkg/checksum: Convert nil `Checksum` to nil message
Document that `Checksum.ToV2` method return `nil`
when called on `nil`. Document that `NewChecksumFromV2`
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 245271bb65 [#302] pkg/token: Document default values set in `NewBearerToken`
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy 00a0ea42a8 [#302] pkg/token: Convert nil `BearerToken` to nil message
Document that `BearerToken.ToV2` method 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 3bc25f54d8 [#302] pkg/storagegroup: Document default values set in `New`
Document field values of instance constructed via `New`.
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 934cf8ecc8 [#302] pkg/storagegroup: Convert nil `StorageGroup` to nil message
Document that `StorageGroup.ToV2` method return `nil`
when called on `nil`. Document that `NewFromV2`
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 fb77bd3511 [#302] pkg/session: Document default values set in `NewToken`
Document field values of instance constructed via `NewToken`.
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 707776976a [#302] pkg/session: Convert nil `Token` to nil message
Document that `Token.ToV2` method return `nil`
when called on `nil`. Document that `NewTokenFromV2`
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 2d7a658059 [#302] pkg/owner: Document default values set in
`NewTrust`, `NewPeerToPeerTrust` and `NewGlobalTrust`

Document field values of instance constructed via
`NewTrust`, `NewPeerToPeerTrust` and `NewGlobalTrust`.
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 8ab3abab4b [#302] pkg/reputation: Convert nil `Trust`,
`PeerToPeerTrust` and `GlobalTrust` to nil message

Document that `Trust.ToV2`, `PeerToPeerTrust.ToV2`
and `GlobalTrust.ToV2` methods return `nil`when
called on `nil`. Document that `TrustFromV2`,
`PeerToPeerTrustFromV2`and `GlobalTrustFromV2`
functions 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 cce7ecbc00 [#302] pkg/reputation: Document default values set in `NewPeerID`
Document field values of instance constructed via `NewPeerID`.
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 d4327ec018 [#302] pkg/reputation: Convert nil `PeerID` to nil message
Document that `PeerID.ToV2` method return `nil`
when called on `nil`. Document that `PeerIDFromV2`
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 c00cdd407d [#302] pkg/owner: Document default values set in `NewID`
Document field values of instance constructed via `NewID`.
Assert the values in corresponding unit test.

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