From eb7add8016805c4dae5f377bc6c3dce107710769 Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:37:30 +0200 Subject: [PATCH] fix: refine only negative address filter behaviour --- src/ipips/ipip-0484.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ipips/ipip-0484.md b/src/ipips/ipip-0484.md index 87d737c2..7ade57b0 100644 --- a/src/ipips/ipip-0484.md +++ b/src/ipips/ipip-0484.md @@ -51,11 +51,12 @@ The proposed change is to add a `?filter-addrs` parameter to the `GET /routing/v - `unknown` can be be passed to include providers whose multiaddrs are unknown, e.g. `?filter-addrs=unknown`. This allows filtering providers whose multiaddrs are unknown at the time of filtering. - Multiaddrs are filtered by checking if the protocol name appears in any of the multiaddrs (logical OR). - Negative filtering is done by prefixing the protocol name with `!`, e.g. `?filter-addrs=!quic-v1,!tcp`. Note that negative filtering is done by checking if the protocol name does not appear in any of the multiaddrs (logical AND). -- For an address to pass the filter, it must pass all negative filters AND match at least one positive filter. -- Only multiaddrs that pass the filter are included in the response. +- If no parameter is passed, the default behavior is to return the original list of addresses unchanged. +- If only negative filters are provided, addresses not passing any of the negative filters are included. +- If positive filters are provided, only addresses passing at least one positive filter (and no negative filters) are included. +- If both positive and negative filters are provided, the address must pass all negative filters and at least one positive filter to be included. - If there are no multiaddrs that match the passed transports, the provider is omitted from the response. - Filtering is case-insensitive. -- If no parameter is passed, the default behavior is to not apply filtering by network transports. ### Transfer Protocol Filtering