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

Re: [tor-bugs] #3472 [Tor Bridge]: Implementing the pluggable-transport spec (managed proxies)



#3472: Implementing the pluggable-transport spec (managed proxies)
------------------------+---------------------------------------------------
 Reporter:  asn         |          Owner:  asn               
     Type:  task        |         Status:  assigned          
 Priority:  normal      |      Milestone:  Tor: 0.2.3.x-final
Component:  Tor Bridge  |        Version:                    
 Keywords:              |         Parent:  #3591             
   Points:              |   Actualpoints:                    
------------------------+---------------------------------------------------

Comment(by asn):

 ==== Second attempt of comment:12 since I fubared its format. ====
 Alright, I have something in my `bug3472_act2` branch.

 I don't consider it mergeable in its vanilla form, because it's
 leaking fds when subprocesses exit. We need a function that "closes"
 process handles to fix this.

 What I still want to improve:

  * I want Windows and Unix to manage the environment of the
 launched[[BR]]proxy in the same way. Right now, Unix creates an envp that
 is used by[[BR]]execve(), while Windows sets the environment variables in
 the tor[[BR]]process, launches the process and unsets the managed proxy
 environment[[BR]]afterwards.  "Fixing" the Windows behavior is not hard
 (setting[[BR]]lpEnvironment in CreateProcess()), but I didn't have enough
 time to[[BR]]tinker with it.

  * I want to make that function that closes/frees process_handle_t
 (we[[BR]]are currently leaking fds when the subprocess exits.)

  * I want to unify the two configure_proxy() and
 log_from_handle()[[BR]]platform implementations.

  * I am not sure if I like exposing the process_handle_t internals
 in[[BR]]util.h.  I'm not sure if I like placing launch_managed_proxy()
 in[[BR]]util.c either.  I think I might end up some helper functions,
 like[[BR]]tor_get_process_stdout() etc.

  * I might want to make use of process_handle_t.status (even
 though[[BR]]managed_proxy_t.status is good enough too).

  * I need to make a changes file.

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