generalize the Vidalia/ControlPort todo item to make it less Debian/Ubuntu specific and more about improving Vidalia+Tor Linux/Unix functionality
Erinn Clark

Erinn Clark commited on 2010-04-06 01:39:42
Zeige 1 geänderte Dateien mit 38 Einfügungen und 40 Löschungen.

... ...
@@ -615,7 +615,7 @@ and <a href="https://svn.torproject.org/svn/weather/trunk/TODO">TODO</a>.
615 615
 </li>
616 616
 
617 617
 <li>
618
-<b>Better Debian/Ubuntu Packaging for Tor+Vidalia</b>
618
+<b>Improvements for Tor+Vidalia interaction on Linux/Unix platforms</b>
619 619
 <br />
620 620
 Priority: <i>Medium</i>
621 621
 <br />
... ...
@@ -625,45 +625,43 @@ Skill Level: <i>Medium</i>
625 625
 <br />
626 626
 Likely Mentors: <i>Erinn, Peter</i>
627 627
 <br />
628
-Vidalia currently doesn't play nicely on Debian and Ubuntu with the
629
-default Tor packages. The current Tor packages automatically start Tor
630
-as a daemon running as the debian-tor user and (sensibly) do not have a
631
-<a href="<gitblob>doc/spec/control-spec.txt">ControlPort</a> defined
632
-in the default torrc. Consequently, Vidalia will try
633
-to start its own Tor process since it could not connect to the existing
634
-Tor, and Vidalia's Tor process will then exit with an error message
635
-the user likely doesn't understand since Tor cannot bind its listening
636
-ports &mdash; they're already in use by the original Tor daemon.
637
-<br />
638
-The current solution involves either telling the user to stop the
639
-existing Tor daemon and let Vidalia start its own Tor process, or
640
-explaining to the user how to set a control port and password in their
641
-torrc. A better solution on Debian would be to use Tor's ControlSocket,
642
-which allows Vidalia to talk to Tor via a Unix domain socket, and could
643
-possibly be enabled by default in Tor's Debian packages. Vidalia can
644
-then authenticate to Tor using filesystem-based (cookie) authentication
645
-if the user running Vidalia is also in the debian-tor group.
646
-<br />
647
-This project will first involve adding support for Tor's ControlSocket
648
-to Vidalia. The student will then develop and test Debian and Ubuntu
649
-packages for Vidalia that conform to Debian's packaging standards and
650
-make sure they work well with the existing Tor packages. We can also
651
-set up an apt repository to host the new Vidalia packages.
652
-<br />
653
-The next challenge would be to find an intuitive usable way for Vidalia
654
-to be able to change Tor's configuration (torrc) even though it is
655
-located in <code>/etc/tor/torrc</code> and thus immutable. The best
656
-idea we've come up with so far is to feed Tor a new configuration via
657
-the ControlSocket when Vidalia starts, but that's bad because Tor starts
658
-each boot with a different configuration than the user wants. The second
659
-best idea
660
-we've come up with is for Vidalia to write out a temporary torrc file
661
-and ask the user to manually move it to <code>/etc/tor/torrc</code>,
662
-but that's bad because users shouldn't have to mess with files directly.
663
-<br />
664
-A person undertaking this project should have prior knowledge of
665
-Debian package management and some C++ development experience. Previous
666
-experience with Qt is helpful, but not required.
628
+Vidalia currently doesn't play nicely with Tor on Linux and Unix platforms.
629
+Currently, on Debian and Ubuntu, there is a configuration mechanism which
630
+allows Vidalia to override Tor's ability to start on boot (by sourcing
631
+<code>/etc/default/tor.vidalia</code> which sets <code>RUN_DAEMON=no</code> at the user's
632
+request), but full implementation of <a href="<gitblob>doc/spec/control-spec.txt">ControlPort</a> 
633
+communication is still required.
634
+<br />
635
+A better solution on Linux and Unix platforms would be to use Tor's
636
+ControlSocket, which allows Vidalia to talk to Tor via a Unix domain socket,
637
+and could possibly be enabled by default in Tor's distribution packages.
638
+Vidalia can then authenticate to Tor using filesystem-based (cookie)
639
+authentication if the user running Vidalia is also in the distribution-specific
640
+tor group.
641
+<br />
642
+This project will first involve adding support for Tor's ControlSocket to
643
+Vidalia. The student will then develop and test this support on various
644
+distributions to make sure it behaves in a predictable and consistent manner on
645
+all of them.
646
+<br />
647
+The next challenge would be to find an intuitive and usable way for Vidalia to be
648
+able to change Tor's configuration (torrc) even though it is located in
649
+<code>/etc/tor/torrc</code> and thus immutable. In Debian and Ubuntu we handle
650
+this with the aforementioned <code>/etc/default/tor.vidalia</code> but this
651
+functionality could (or should) be less distribution-specific. 
652
+<br />
653
+The best idea we've come up with so far is to feed Tor a new configuration via
654
+the ControlSocket when Vidalia starts, but that's bad because if the user is not
655
+using the latest Debian/Ubuntu packages, they may not have disabled Tor's
656
+ability to run on boot and will end up with a configuration that is different
657
+from what they want. The second best idea we've come up with is for Vidalia to
658
+write out a temporary torrc file and ask the user to manually move it to
659
+<code>/etc/tor/torrc</code>, but that's bad because users shouldn't have to
660
+mess with files directly.
661
+<br />
662
+A person undertaking this project should have prior knowledge of various Linux
663
+distributions and their packaging mechanisms as well as some C++ development
664
+experience. Previous experience with Qt is helpful, but not required.
667 665
 </li>
668 666
 
669 667
 <!--<li>
670 668