[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #5374 [Tor Relay]: getsockname() to check for address change failed
#5374: getsockname() to check for address change failed
-----------------------+----------------------------------------------------
Reporter: funkstar | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: Tor: 0.2.2.x-final
Component: Tor Relay | Version: Tor: 0.2.3.12-alpha
Keywords: | Parent:
Points: | Actualpoints:
-----------------------+----------------------------------------------------
Comment(by nickm):
Shondoit confirmed my guess! Bwa ha ha!
To summarize: unlike other operating systems, when you connect() a
nonblocking socket on windows, it doesn't work if the socket isn't yet
connected.
We didn't notice on XP or Win 7, because it failed by declaring success
(!) and reporting the _bound_ address (INADDR_ANY). On Win 8, it
apparently declares failure and reports WSAEINVAL.
The lingering mysteries are:
* Using vidalia's automatic port forwarding feature suppressed the
warning -- does that make Vidalia use OutboundBindAddress?
* Why doesn't Windows know what network address you're using for a
connection until it gets a SYN ACK on the connection? Surely once the SYN
has been sent, it knows what address it sent it from.
But let's set those aside for now, since my branch should fix the issue
anyway. "bug5374" is still the one to look at.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/5374#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs