Opened 6 years ago

Last modified 4 years ago

#1143 open enhancement

Move whitelist/blacklist from streaming to I2CP

Reported by: zzz Owned by:
Priority: minor Milestone:
Component: api/i2cp Version: 0.9.8.1
Keywords: scalability anti-censorship Cc:
Parent Tickets: Sensitive: no

Description

… i.e. to a support library in client-side I2CP, where it could also be used by datagram apps.

The options were named as e.g. i2cp.blacklist, not i2p.streaming.blacklist, but are only implemented in streaming.

This could also make it easier to enforce whitelist/blacklist on streaming pings (see #1142).

We can't directly enforce whitelist/blacklist at the I2CP layer, as it has no knowledge of the source of a packet. However by adding a library/API there, it will be much easier for datagram clients to implement it, and combined datagram/streaming clients may use a common list.

This also gets the lists out of ConnectionOptions? where it's copied all over the place.

If we also maintain a transient list (that isn't overwritten by a I2PSession.updateOptions()) then this could be an easier way to implement blocking by the client, as reportAbuse() is problematic in the default fast receive mode? See #1055.

Subtickets

Change History (3)

comment:1 Changed 6 years ago by zzz

Milestone: 0.9.100.9.12

comment:2 Changed 5 years ago by str4d

Keywords: scalability anti-censorship added
Milestone: 0.9.12

comment:3 Changed 4 years ago by str4d

Status: newopen
Note: See TracTickets for help on using tickets.