Go to file
Andrew Harding 93fad70e4b satellite/audit: prevent accessing unset reservoir segments
This change fixes the access of unset segments and keys on the reservoir
when the reservoir size is less than the max OR the number of sampled
segments is smaller than the reservoir size. It does so by tucking away
the segments and keys behind methods that return properly sized slices
into the segments/keys arrays.

It also fixes a bug in the housekeeping for the internal index variable
that holds onto how many items in the array have been populated. As part
of this fix, it changes the type of index to int8, which reduces the
size of the reservoir struct by 8 bytes.

The tests have been updated to provide better coverage for this case.

Change-Id: I3ceb17b692fe456fc4c1ca5d67d35c96aeb0a169
2022-12-14 17:43:17 -07:00
.github .github: remove invalid codeowners 2022-11-10 15:52:48 +02:00
certificate certificate/authorization: add golden test for Group marshaling 2022-10-18 14:19:03 -04:00
cmd satellite/cmd/tools/segment-verify: check all pieces 2022-12-14 19:06:08 +00:00
crashcollect crashcollect: removed redundant structure 2021-04-28 00:35:39 +03:00
docs docs/blueprints: Add paid tier tls document 2022-12-13 23:08:23 +00:00
installer/windows storj/storj: more domain changes 2021-04-15 20:51:43 +00:00
multinode cmd/multinode: generate identity when not provided 2022-10-12 12:01:14 +00:00
private private/testplanet: extended satellite with rangedloop peer 2022-12-14 16:21:50 +02:00
resources cmd: add ca-certificates to Docker images (#3986) 2020-12-08 01:38:33 +01:00
satellite satellite/audit: prevent accessing unset reservoir segments 2022-12-14 17:43:17 -07:00
scripts satellite/rangedloop: wire up metrics observer 2022-12-12 19:06:23 +00:00
storage all: replace deprecated ioutil 2022-10-31 15:50:41 +00:00
storagenode {storagenode,web/multinode}: fix storage usage db/cache retrieval queries 2022-12-09 11:07:33 +00:00
testsuite mod: use v1.10.0 tagged commit from storj.io/uplink 2022-12-13 12:04:29 +00:00
versioncontrol all: fix deprecated ioutil commands 2022-10-11 15:27:29 +00:00
web web/satellite: autocomplete search bug fixed 2022-12-14 19:39:27 +00:00
.dockerignore Forward-port release-alpha8 build script issues (#1726) 2019-04-09 23:01:10 -06:00
.earthlyignore build: provides earthfile for nightly build 2022-10-27 09:25:17 +00:00
.gitattributes web/: add check for change to eslint import 2021-12-21 15:59:23 +00:00
.gitignore gitignore: add go workspace files 2022-12-13 10:15:53 -07:00
.gitreview add config file for git review usage 2021-10-14 18:01:30 +00:00
CODE_OF_CONDUCT.md Adding CODE_OF_CONDUCT to storj/storj repo (#779) 2018-12-07 15:10:02 -05:00
CODEOWNERS CODEOWNERS: added package ownership for Team Integrations 2022-12-05 16:25:53 +00:00
CONTRIBUTING.md go.mod: update to minimum supported go version (#4239) 2021-10-22 21:12:13 +02:00
DEVELOPING.md Makefile: run lint locally in docker 2022-05-25 12:30:15 -05:00
docker-compose.tests.yaml Makefile: disable postgres fsync in the test container 2022-12-01 22:03:31 +00:00
Earthfile build: use latest storj-up@main in Earthfile 2022-12-12 15:06:01 +00:00
go.mod mod: use v1.10.0 tagged commit from storj.io/uplink 2022-12-13 12:04:29 +00:00
go.sum mod: use v1.10.0 tagged commit from storj.io/uplink 2022-12-13 12:04:29 +00:00
Jenkinsfile ci: fixes for new Go version 2022-11-02 15:17:46 +02:00
Jenkinsfile.premerge ci: removed ui artifacts (#5400) 2022-12-12 14:15:16 +01:00
Jenkinsfile.public ci: removed ui artifacts (#5400) 2022-12-12 14:15:16 +01:00
Jenkinsfile.verify ci: removed ui artifacts (#5400) 2022-12-12 14:15:16 +01:00
LICENSE license code with agplv3 (#126) 2018-07-05 10:24:26 -04:00
MAINTAINERS.md Maintainers: remove link 2022-03-14 14:16:31 +02:00
Makefile ci: fixes for new Go version 2022-11-02 15:17:46 +02:00
monkit.lock satellite/metabase/rangedloop: service skeleton 2022-11-22 15:21:41 +02:00
proto.lock multinode/payouts: paystub extended with disposed 2021-06-01 16:28:20 +00:00
README.md Update README.md (#4320) 2021-12-22 14:12:58 +01:00

Storj V3 Network

Go Report Card Go Doc Coverage Status

Storj is building a decentralized cloud storage network. Check out our white paper for more info!


Storj is an S3-compatible platform and suite of decentralized applications that allows you to store data in a secure and decentralized manner. Your files are encrypted, broken into little pieces and stored in a global decentralized network of computers. Luckily, we also support allowing you (and only you) to retrieve those files!

Table of Contents

Contributing to Storj

All of our code for Storj v3 is open source. If anything feels off, or if you feel that some functionality is missing, please check out the contributing page. There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.

A Note about Versioning

While we are practicing semantic versioning for our client libraries such as uplink, we are not practicing semantic versioning in this repo, as we do not intend for it to be used via Go modules. We may have backwards-incompatible changes between minor and patch releases in this repo.

Start using Storj

Our wiki has documentation and tutorials. Check out these three tutorials:

License

This repository is currently licensed with the AGPLv3 license.

For code released under the AGPLv3, we request that contributors sign our Contributor License Agreement (CLA) so that we can relicense the code under Apache v2, or other licenses in the future.

Support

If you have any questions or suggestions please reach out to us on our community forum or file a ticket at https://support.storj.io/.