[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #12377 [Tor]: get_interface_address6() behaviour iff all interface addresses are internal



#12377: get_interface_address6() behaviour iff all interface addresses are internal
-------------------------+-------------------------------------------------
     Reporter:  rl1987   |      Owner:
         Type:  defect   |     Status:  assigned
     Priority:  normal   |  Milestone:  Tor: 0.2.7.x-final
    Component:  Tor      |    Version:  Tor: unspecified
   Resolution:           |   Keywords:  tor-relay, 026-triaged-1,
Actual Points:           |  026-deferrable, 027-triaged-1-out
       Points:           |  Parent ID:
-------------------------+-------------------------------------------------

Comment (by yawning):

 This is an example of how to rewrite all of this code, to do the mostly
 right thing on Linux (For anything more recent than kernel 2.2 definitions
 of "more recent").  This supercedes the `getifaddr` code (which is
 broken), and is superior to the UDP trick since it doesn't make a random
 UDP socket.

 Adapting it to fit into tor is left as an exercise for the student:
 https://gist.github.com/Yawning/c70d804d4b8ae78cc698

 The same socket type can also be used to have the kernel tell us when the
 IP address/routing table changed, which may be useful to some people.

 NB: Yes the code is ugly, I sort of threw it together.  No I will not do
 Darwin or Windows.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12377#comment:16>
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