So I upgraded to 1.7.0 and the TCP fallback stopped working for me. I wonder if there might be something unusual about my network because I don't see other people talking about this here - a little doubtful on this though, it's just an SMC cable router (SMCD3G) with a fairly simple configuration.
Anyway, the result of connecting to the external address is an immediate Connection Refused (verified by telnet). The WaitOne() in CancelConnect() never returns because the thread is killed in OnConnectResult(), and thus ConnectToFallback() never is called.
So my workaround for the moment is changing the end of OnConnectResult() like this:
else if (!ConnectToFallback())
{
Error(errMsg);
Close(false);
}
}