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

Re: [tor-bugs] #5601 [Tor Bridge]: Tor complains that it can't find a ClientTransportPlugin line, when managed proxy dies.



#5601: Tor complains that it can't find a ClientTransportPlugin line, when managed
proxy dies.
------------------------+---------------------------------------------------
 Reporter:  asn         |          Owner:                    
     Type:  defect      |         Status:  new               
 Priority:  normal      |      Milestone:  Tor: 0.2.3.x-final
Component:  Tor Bridge  |        Version:                    
 Keywords:  pt          |         Parent:  #5070             
   Points:              |   Actualpoints:                    
------------------------+---------------------------------------------------

Comment(by asn):

 The bad log message comes out of `validate_pluggable_transports_config()`.
 That function iterates all configured bridges, checks if they are supposed
 to use a transport, and then checks if a corresponding `transport_t` is
 available. If not, it whines with the above message.

 In our case, the managed proxy failed to launch and no transports were
 ever registered. `validate_pluggable_transports_config()` couldn't find a
 good `transport_t` and it whined.

 The correct thing to do here, would be to give out appropriate log
 messages for each case. That is, when there are no ClientTransportPlugin
 lines, spit out the current log message. When a transport failed and it
 can't be found, spit out a message that says "Seems like your proxy X with
 transports Y died, we won't be able to connect to bridge Z."

 Unfortunately, `transports.c` is quite aggressive wrt transports and
 completely destroys them when something goes wrong, so in
 `validate_pluggable_transports_config()` there is no way to know if a
 transport ever existed.

 Let me suggest the following:
 - In 0.2.3.x we change the log message to say something along the lines of
 "We can't find a proxy providing the X transport you asked for. Did you
 specify it in a ClientTransportPlugin line? If no, you should. If you did,
 please look at your logs and see if your proxy failed."

 - In 0.2.4.x we slightly refactor `transports.c` so that `transport_t` and
 `managed_proxy_t` don't get destroyed when they fail. Instead, we add an
 `is_valid` element to their structure, and instead of destroying them, we
 switch it to `0`. Then we will be able to find out if a transport used to
 exist in the past but it failed.

 Nick, what do you say?

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