... as they were being bypassed for known devices.
This fixes erratic UPnP results for devices sending multiple
SSDP search responses, one for IPv4 and one for IPv6.
Temporary fix until we add support for multiple location URLs to DeviceData.
This supports IPv6 introducers.
This requires that Alice (the requester) include the IPv4 address in the RelayRequest
when sent over IPv6, and that Bob (the introducer) uses that address instead of
the source address.
IPv6 address will be published in ihost[0-2].
This was specified as of 0.9.24 but never implemented by Java or i2pd.
Bob-Charlie and Alice-Charlie comms must still be over IPv4.
WIP, not fully tested.
IPv6 introductions is part 2, TBD.
ref: http://zzz.i2p/topics/3060
WIP, disabled by default for now, to be enabled before relese
Add caps to NTCP2 when in hidden mode or firewalled
Add SSU address and caps when in hidden mode
Add 4 cap to introducer address
Other cases todo; ref: http://zzz.i2p/topics/3050
When hidden, store last IP address in config,
calling replaceCurrentExternalAddress(), and IP change event logging;
wasn't done before
Peer test tries only one peer every 5 minutes, and uses a store of
the peer's own router info, which is not helpful.
Peer test records its result as a dbLookup success/failure,
but for the peers that are not floodfill, this stat is useless.
The tunnel test is disabled by default except for hidden mode.
The tunnel test response time stat uses a large amount of memory (5 rates)
and has apparently never been used since it was added in 2004.
There's also a separate tunnel test time average variable, separate
from the stat, that is also unused.
Each is disabled with a separate hardcoded config,
pending evaluation of whether and how to make the tests useful
and where to effectively use the result for peer selection.
Rename ShortTunnelBuildReplyMessage to OutboundTunnelBuildReplyMessage (type 26)
Add InboundTunnelBuildMessage (type 27)
Add methods for plaintext record
Update readMessage() and writeMessageBody()
Fix calculateWrittenLength()
Update javadocs
WIP, untested, not hooked in yet
SocketTimeout fix for total timeout remaining less than inactivity timeout
SocketTimeout javadoc fixes
EepHead check for null SocketTimeout, javadoc fixes