Change the exit_addresses field to not exclude current OR addresses anymore
There has been some confusion what addresses the "exit_addresses"
field in details documents contains.
The specification says: "Array of IPv4 or IPv6 addresses that the relay used to exit to the Internet in the past 24 hours. IPv6 hex characters are all lower-case. Only those addresses are listed that are different from onion-routing addresses. Omitted if array is empty."
However, this specification is at least imprecise with regard to previous OR addresses that the relay has used for exiting in the past 24 hours. Those addresses will not be excluded, because they're not currently used as OR address.
This specification is also impractical, because it does not distinguish between a relay A that exits via its OR address and also another exit address and another relay B that never exits via its OR address and always via another exit address.
Let's stop deduplicating addresses and include all exit addresses found in the past 24 hours, regardless of whether they were used as OR addresses or not. In most cases this will increase redundancy, but in some cases it will add actual information.
The new specification will say something like this: "Array of IPv4 or IPv6 addresses that the relay used to exit to the Internet in the past 24 hours. IPv6 hex characters are all lower-case. Only those addresses are listed that are different from onion-routing addresses. Omitted if array is empty. Changed on $date to include all exit addresses, regardless of whether they are used as onion-routing addresses or not."
Requires a major protocol bump to 6.0.