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 — 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 |