Malformed RouterAddress in RouterInfo file?
Posted: 19 Sep 2018 18:40
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?
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?