[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