intra/tcp.go: don't create TCP endpoint before Dial() returns#149
intra/tcp.go: don't create TCP endpoint before Dial() returns#149ignoramous merged 2 commits intocelzero:n2from
Conversation
|
On the diff, before |
|
Why does firestack c646f0c close the TCP connection if the ANSWER SECTION of a DNS response is empty? ( e.g. |
Strange. I'll take a look. Does it happen for all transport types in addition to DNS53 (DoH/ODoH, DoT, DNSCrypt)? |
Log: Firestack called |
Default DNS isn't set (cf |
Oh, I hardcoded TIDCSV "Preferred" in my small CLI but forgot to add a DNS transport with ID "Preferred". |
The firestack API isn't the greatest :( |
|
We have been bug bashing connectivity issues (mostly the DNS, |
afe10b0 to
900829a
Compare
|
I think calling CreateEndpoint late appears to cause "connection was refused" errors? I see a tonne of those too: celzero/rethink-app#2187 |
|
|
I can reproduce "connection was refused" errors with this program. |
There's also "endpoint is in invalid state" errors. Both those errors happen frequently with any app using HTTP3 (like YouTube and Instagram). Think it happens more with UDP. It could be because, until |
Hi, are you still "fighting" against "connection was refused" errors although #149 has been overridden? "connection was refused" errors are often caused by TCP RST packets or ICMP messages ( e.g. port unreachable ), APPs using Happy Eyeball algorithm cancel connection attempts frequently, you don't need to "prevent" "connection was refused" errors. schwabe/ics-openvpn#1058
Could you call |
Apps that hit these usually just get hung trying to connect to their servers. If HappyEyeballs, I'd expect apps to not act as if there's no Internet.
Gotcha.
|
Send PCAP files and related logs to me if you don't mind.
schwabe/ics-openvpn#1058 (comment)
@hussainmohd-a |
I wouldn't have the time until Oct 6. The errors should readily occur with the YouTube app on v055t. Turning ON Block connections without VPN also triggers this at least once a day in Firefox and other apps (I've observed this to happen after network changes).
Rethink, in its default setting, already excludes itself? Only if Configure -> Network -> Loopback is turned ON, it doesn't. |
celzero/rethink-app#2187
|
Gotcha. Either they are are using Configure -> Network -> Use all available networks (which make Rethink deviate away from the default Android behaviour) or using Configure -> DNS -> System DNS (whose IP is on a specific Not a critical issue (assuming things "auto recover"), as the DNS IP updates (notified to Rethink as network change events by Android) happen asynchronously elsewhere and all of the code will eventually know what those are (~3s) and where to bind the sockets for them. |
We are bringing back this patch behind a setting in the upcoming Rethink version |
@ignoramous
I wonder if this change breaks anything.