Passive-Passive connections

This is copied from the StrongDC++ site. If this is already implemented, then it should be included in the base documentation for NMDC…

Purpose: To allow connections between two passive clients in NMDC protocol.

Usage:

Client advertises the support as a flag 0x20 in $MyInfo.
When passive client A wants to make connection with remote client B, it sends standard $RevConnectToMe command. When remote client B is passive too, it will respond to it with:
Code:
$ConnectToMe <A’s nick> <B’s IP>:N <B’s nick>|

where is the outbound port to the connected hub. Character ‘N’ is appended to this port number, ‘NS’ for TLS connection. When client A receives it, it tries to connect to specified IP:port and responds to B with:
Code:
$ConnectToMe <B’s nick> <A’s IP>:R|

where is again the outbound port to the connected hub. Character ‘R’ is appended, ‘RS’ for TLS connection. When client B receives it, it tries to connect to specified IP:port.