Opened 4 years ago

Closed 4 years ago

#1618 closed defect (fixed)

I2PSnark should set total_size to metadata_size according to BEP09

Reported by: dg Owned by: zzz
Priority: major Milestone: 0.9.21
Component: apps/i2psnark Version: 0.9.20
Keywords: Cc:
Parent Tickets: Sensitive: no

Description (last modified by dg)

From GitHub:

As of right now, total_size is just the size of a current piece. This freaks out libtorrent (see arvidn/libtorrent#36). BEP09 says total_size has the same semantics as metadata_size.

We need to fix this for libtorrent compatibility. It looks like they're working on bugs on their end too.

Subtickets

Change History (3)

comment:1 Changed 4 years ago by dg

Component: unspecifiedapps/i2psnark
Description: modified (diff)
Owner: set to zzz
Priority: minormajor

comment:2 Changed 4 years ago by zzz

Milestone: undecided0.9.21
Status: newaccepted

easy fix, will sneak it into .21, awaiting confirmation from parg re: vuze over on zzz.i2p

re: https://github.com/arvidn/libtorrent/issues/36 , vuze is over half the clients, and it doesn't use the snark libs

comment:3 Changed 4 years ago by zzz

Resolution: fixed
Status: acceptedclosed

Parg confirmed at http://zzz.i2p/topics/1613?page=10#p10128 -

  • Vuze ignores the field
  • He agrees with libtorrent's interpretation of BEP 9, snark is wrong

I confirmed that in ExtensionHandler?.handleMetadata(), snark checks the received value, but only to log a warning, so it's essentially ignored in snark also.

Over at https://github.com/arvidn/libtorrent/issues/36 there's questions about version fields and how fast snark clients will upgrade. We don't include a snark version for anonymity reasons. I2P users update pretty quickly due to automatic update; approximately 90% will be on the latest release within 6-8 weeks. But if Vuze ignores the value maybe libtorrent should too…

Anyway, very happy to see the recent activity on libtorrent i2p support.

Fixed in fb357d205e438ed530d6ca8d27aa3f6ad6dfdac6 0.9.20-19-rc

Note: See TracTickets for help on using tickets.