Malformed RouterAddress in RouterInfo file?

I2P router issues
Post Reply
spammywindy
Posts: 11
Joined: 02 May 2018 20:00

Malformed RouterAddress in RouterInfo file?

Post by spammywindy »

I am just looking around the *.dat files inside netDb dir, and notice a couple things that are explained nowhere in I2P docs.

As far as I understand (pls correct me if I am wrong), a routerInfo can contains a max of 6 RouterAddress fields: 2 SSU (for ipv4 and ipv6), 2 NTCP (ipv4 and ipv6), and NTCP2 (for ipv4 and ipv6).

I noticed some routerInfos have
(1) 2 identical SSU RouterAddress fields,
(2) 0 RouterAddress field without an 'h' (i.e. hidden) in its caps. Should a router whose RouterAddress field = 0 be marked as hidden?
(3) `family` and `family.sig` fields, but not the `family.key` field. Is it a must that if a routerInfo should have all of these 3 fields at the same time?
(4) some routerInfos contain reachable RouterAddresses of NTCP and SSU for IPv6, but the SSU for IPv4 has introducers information. Is it true that the introducers should only be used if the router is not reachable? In this case the router is reachable over IPv6, why it still uses introducers?

So are these routerInfo are manually crafted and malformed?
User avatar
zzz
Posts: 155
Joined: 31 Mar 2018 13:15

Re: Malformed RouterAddress in RouterInfo file?

Post by zzz »

The set of routers in the netdb is more diverse than you might expect, as we have some routers in the network with versions that are several years old, and from at least 3 different implementations (java, i2pd, kovri), routers with bugs, specs and implementations that evolve, and people manually configuring or hacking their routers or doing experiments. At least in Java, we also have the continued complication of IPv6, and detecting reachability. There may also be out of date, wrong, or conflicting specs on our website that need to be fixed up, if you find anything please enter a trac ticket.

1) I haven't seen before, if you can catch it please enter a trac ticket with the data
2) is normal, we don't use the 'h' any more
3) is an implementation difference in i2pd
4) we now do separate reachability detection for v4 and v6
spammywindy
Posts: 11
Joined: 02 May 2018 20:00

Re: Malformed RouterAddress in RouterInfo file?

Post by spammywindy »

Hi zzz, thanks for the useful answer.
I just created a ticket on bug tracker: https://trac.i2p2.de/ticket/2322 for you guys to identify the issue of identical router-address fields.

Also, you said that 'h' is not being used any more. Where can I find a blogpost or a proposal about this change?
Should this site (https://geti2p.net/en/docs/how/network-database) also be updated if 'H' is not being used?
Post Reply