ethersphere / swarm

Swarm: Censorship resistant storage and communication infrastructure for a truly sovereign digital society
https://swarm.ethereum.org/
GNU Lesser General Public License v3.0
489 stars 112 forks source link

api,client,http,main,prod,storage: Add query param for publisher and solve flooding in recovery #2202

Closed santicomp2014 closed 4 years ago

santicomp2014 commented 4 years ago

This PR resolves request flooding by only triggering content repair for the chunks related to the requested hash, as described in #2205.

The publisher is passed from query params or by SwarmPublisher on download by CLI.

It also removes Publisher from the manifest as it's not needed now.

The bzz-list is modified to receive the publisher in the query so it can also get the manifest before the actual download takes place. If this is not done the Download in CLI will fail as its first step is to issue a List command.

closes #2193 closes #2205

santicomp2014 commented 4 years ago

Updated with Base branch