[tor-bugs] #3049 [Tor Client]: Allow a Tor process to be ‘owned’ by a controller process

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Mon May 16 15:30:07 UTC 2011


#3049: Allow a Tor process to be ‘owned’ by a controller process
-------------------------+--------------------------------------------------
 Reporter:  rransom      |          Owner:  rransom           
     Type:  enhancement  |         Status:  assigned          
 Priority:  major        |      Milestone:  Tor: 0.2.2.x-final
Component:  Tor Client   |        Version:                    
 Keywords:               |         Parent:                    
   Points:               |   Actualpoints:                    
-------------------------+--------------------------------------------------
Changes (by rransom):

  * status:  needs_review => assigned


Comment:

 Replying to [comment:14 nickm]:
 > Quick review of stuff through the current head ( f0c70fb52f44 ) :
 >
 >  * Is there a system where we don't expect
 owning_controller_process_spec to be an integer of some type?

 I expect `owning_controller_process_spec` to begin with an integer on all
 systems.  I expect that in the future, that integer will be followed by
 the process's start time (in some format) on Linux, Windows NT, FreeBSD,
 and probably other OSes.

 >  * Instead of having the functions take an event_base, you can just have
 them call tor_libevent_get_base.
 >  * For the timer, I'd suggest looking at periodic_timer_new; it's a
 little more accurate, and IMO makes our intent clearer.

 I want procmon.h and procmon.c to be easy for people to port to plain
 libevent 2.x, so that other Tor-related programs (e.g. protocol
 obfuscators) can implement the same process-ownership features that Tor
 has.  I'll leave in the `event_base` parameters in case someone else needs
 them, but using `periodic_timer_new` sounds good.

 >  * In monitor_owning_controller_process, if we're going to make a
 failure to allocate owning_controller_process_monitor be a recoverable
 error, we should make sure that it frees and clears
 owning_controller_process_spec so that the two are consistent again.  On
 the other hand, if we ''don't'' plan to make it a recoverable error, then
 the log message should be log_err.

 It should be an explicitly unrecoverable error, even though
 `tor_process_monitor_new` cannot currently return NULL.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/3049#comment:15>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list