On 5 Apr 2016, at 13:49, Xiaofan Li xli2@andrew.cmu.edu wrote:
Another concern is the assumption on TOR_SOCKET_T in the Tor codebase. In particular, there are many call sites of fcntl, getsockname, setsockopt etc made directly on this object, assuming that it is a UNIX socket. For compatibility, after replacing UNIX socket with quicsock_t, we would use "qs_get_fd" for all those low-level calls. Note that quicsock_t holds a UDP socket internally. Without the testing system ready, we don't know the effect of these calls on a UDP socket instead of the normal TCP socket.
I think the root cause of this issue is your replacement of all the sockets in tor with QUIC sockets. As I said in my original email, you could resolve this issue using a side-by-side implementation.
You could add required QUIC data structure to connection_t, and then based on the connection type, use Tor's existing TCP socket implementation, or the QUIC implementation.
Tim
Tim Wilson-Brown (teor)
teor2345 at gmail dot com PGP 968F094B
teor at blah dot im OTR CAD08081 9755866D 89E2A06F E3558B7F B5A9D14F