Drop projects/mentors we haven't heard from
Damian Johnson

Damian Johnson commited on 2016-02-29 18:07:37
Zeige 1 geänderte Dateien mit 3 Einfügungen und 303 Löschungen.


Dropping the folks we haven't heard from with regard to GSoC. For projects
where they're the last names remaining dropping the project itself too.
... ...
@@ -416,11 +416,7 @@ meetings around the world.</li>
416 416
 
417 417
     <p>
418 418
     <b>Project Ideas:</b><br />
419
-    <i><a href="#torCleanup">Tor Codebase Cleanup</a></i><br />
420
-    <i><a href="#improveTorTestCoverage">Improve test coverage in Tor</a></i><br />
421
-    <i><a href="#useMoreCores">Have the Tor daemon use more cores</a></i><br />
422
-    <i><a href="#improveHiddenServices">Help improve Tor hidden services</a></i><br />
423
-    <i><a href="#improvedDnsSupport">Improved DNS support for Tor</a></i>
419
+    <i><a href="#improveHiddenServices">Help improve Tor hidden services</a></i>
424 420
     </p>
425 421
 
426 422
     <a id="project-torbrowser"></a>
... ...
@@ -558,12 +554,6 @@ meetings around the world.</li>
558 554
     block Tor. This has both a C and python implementation.
559 555
     </p>
560 556
 
561
-    <p>
562
-    <b>Project Ideas:</b><br />
563
-    <i><a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports#Helpneeded">Various coding tasks</a></i> <br/>
564
-    <i><a href="#betterPluggableTransports">Build Better Pluggable Transports</a></i>
565
-    </p>
566
-
567 557
     <a id="project-flash-proxy"></a>
568 558
     <h3><a href="https://crypto.stanford.edu/flashproxy/">Flash Proxy</a> (<a
569 559
     href="https://gitweb.torproject.org/flashproxy.git">code</a>, <a
... ...
@@ -795,11 +785,6 @@ meetings around the world.</li>
795 785
     content.
796 786
     </p>
797 787
 
798
-    <p>
799
-    <b>Project Ideas:</b><br />
800
-    <i><a href="#ooniprobePcapsSupport">Add Support for Reporting Pcaps to OoniBackend and OoniProbe</a></i>
801
-    </p>
802
-
803 788
     <a id="project-torps"></a>
804 789
     <h3>TorPS</a> (<a href="https://github.com/torps/torps">code</a>)</h3>
805 790
 
... ...
@@ -866,125 +851,13 @@ meetings around the world.</li>
866 851
 
867 852
     <ol>
868 853
 
869
-    <a id="torCleanup"></a>
870
-    <li>
871
-    <b>Tor Codebase Cleanup</b>
872
-    <br>
873
-    Language: <i>C</i>
874
-    <br>
875
-    Likely Mentors: <i>David (dgoulet)</i>
876
-    <br><br>
877
-    <p>
878
-    The Tor code is more than 10 years old in places, and we haven't always had
879
-    enough time or wisdom to write things as well as we could have.  Our unit
880
-    test coverage is shamefully low, and the dependency graph of our modules is
881
-    shamefully convoluted . We could use refactoring and unit tests!  Please
882
-    look through the Tor source code and look for ugly or tricky code or
883
-    dependencies -- the uglier and trickier the better -- and think about how
884
-    you could make the code look better, read better, and (subject to testing)
885
-    work better.
886
-    </p>
887
-
888
-    <p>
889
-    If this is for a fun side-project, it would be great for you to work on
890
-    anything that can be made better and more tested.  For an internship-level
891
-    position, we'd hope that you could find a number of particularly tricky or
892
-    knotty piece of the code to clean up, and aim for resolving the ugliest
893
-    problems, not necessarily the easiest.
894
-    </p>
895
-
896
-    <p>
897
-    For a big project here, it would be great to pick one of the major
898
-    "submodules" of Tor -- path selection, node discovery, directory authority
899
-    operations, directory service -- and refactor its interface completely, to
900
-    minify and codify its points of contact with the rest of Tor.
901
-    </p>
902
-
903
-    <p>
904
-    <b>As part of your application for this project please identify one of the
905
-    thorniest Tor functions and submit a patch refactoring it to be better. If
906
-    you find this to be difficult then this likely isn't the project for
907
-    you.</b>
908
-    </p>
909
-    </li>
910
-
911
-    <a id="betterPluggableTransports"></a>
912
-    <li>
913
-    <b>Build Better Pluggable Transports</b>
914
-    <br>
915
-    Language: <i>C, Python</i>
916
-    <br>
917
-    Likely Mentors: <i>Ximin (infinity0)</i>
918
-    <br><br>
919
-    <p>
920
-    For Tor users in censored countries, we have a <a
921
-    href="<page docs/pluggable-transports>">
922
-    pluggable transports</a> framework that uses external programs to bypass
923
-    censorship in different ways. Each of these have their own strengths and
924
-    weaknesses.
925
-    </p>
926
-
927
-    <p>
928
-    We have deployed <a
929
-    href="<page projects/obfsproxy>">obfsproxy</a>, 
930
-    <a href="http://crypto.stanford.edu/flashproxy/">flashproxy</a>, 
931
-    <a href="http://www.cs.kau.se/philwint/scramblesuit/">scramblesuit</a>, 
932
-    <a href="https://trac.torproject.org/projects/tor/wiki/doc/meek">meek</a>,
933
-    and <a href="https://fteproxy.org/about">FTE</a> bridges into the main 
934
-    Tor Browser.</a>
935
-    </p>
936
-
937
-    <p>
938
-    There are several possible directions for this project. Ideas include:
939
-      <ol>
940
-        <li>Address gaps or weaknesses in our existing pluggable transports
941
-          <ul>
942
-            <li>Flashproxy: Add WebRTC support to traverse NATs.</li>
943
-            <li>Flashproxy: Improve the facilitator's resistance against DoS
944
-            and poisoning attacks.</li>
945
-          </ul>
946
-        </li>
947
-        <li>Finish and release our pluggable transport combiner, that chains
948
-        several transports together to take advantage of orthogonal types of
949
-        blocking resistance.</li>
950
-        <li>Improve the UX for selecting the appropriate pluggable transport in
951
-        the new Tor Browser, whilst maintaining user security.</li>
952
-        <li>Implement a new pluggable transport that resists blocking in a
953
-        novel way.
954
-        <ul>
955
-          <li>Impersonate a voice-over-IP protocol</li>
956
-          <li>Impersonate HTTP <a
957
-          href="http://www.cs.utexas.edu/~amir/papers/parrot.pdf">sufficiently
958
-          well</a> that traffic will go through a HTTP-only proxy</li>
959
-          <li>Implement <a
960
-          href="http://cacr.uwaterloo.ca/techreports/2011/cacr2011-21.pdf">scanning
961
-          resistance</a></li>
962
-        </ul>
963
-        </li>
964
-      </ol>
965
-    </p>
966
-
967
-    <p>
968
-    Applicants should be familiar with asynchronous/reactive programming, in
969
-    particular the <a href="https://twistedmatrix.com/">Twisted framework</a>
970
-    or something related. Most of the existing code is written in Python, with
971
-    some parts in JavaScript and Go, so you should know at least one of these.
972
-    You are invited to talk to us and ask questions, via our mailing lists
973
-    or IRC. <b>As part of your application, please contribute a patch that
974
-    implements a small feature or fixes a bug related to this area, e.g. <a
975
-    href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Pluggable+transport">1</a>,
976
-    <a href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Obfsproxy">2</a>,
977
-    <a href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Flashproxy">3</a>.
978
-    </b>
979
-    </p>
980
-
981 854
     <a id="makeTorbirdyBetter"></a>
982 855
     <li>
983 856
     <b>Make TorBirdy Better</b>
984 857
     <br>
985 858
     Language: <i>JavaScript, C++</i>
986 859
     <br>
987
-    Likely Mentors: <i>Sukhbir Singh (sukhe), Jacob Appelbaum (ioerror)</i>
860
+    Likely Mentors: <i>Sukhbir Singh (sukhe)</i>
988 861
     <br><br>
989 862
     <p>
990 863
 TorBirdy is an extension that configures Thunderbird to make connections over
... ...
@@ -1021,152 +894,13 @@ You may contact the mentors on IRC for more information. (sukhe on #tor-dev, #to
1021 894
     </p>
1022 895
     </li>
1023 896
 
1024
-    <a id="ooniprobePcapsSupport"></a>
1025
-    <li>
1026
-    <b>Add Support for Reporting Pcaps to OoniBackend and OoniProbe</b>
1027
-    <br>
1028
-    Language: <i>Python</i>
1029
-    <br>
1030
-    Likely Mentors: <i>Arturo (hellais)</i>
1031
-    <br><br>
1032
-    <p>
1033
-The feature should also add support for including only packet capture data that
1034
-is relevant to the test being run. This means that the pcap should not contain
1035
-all the data sniffed on the users machine, but only that which was generated
1036
-and intended to be received by ooniprobe.
1037
-    </p>
1038
-
1039
-    <p>
1040
-This can probably be implemented by setting up a tun/tap device and routing all
1041
-the ooniprobe traffic through it and only capturing data sent and received from
1042
-that device. The task for the student will also be that of doing research into
1043
-what are possible strategies for doing this. <b><a
1044
-href="https://trac.torproject.org/projects/tor/ticket/7416">For more
1045
-information see ticket 7416.</a></b>
1046
-    </p>
1047
-    </li>
1048
-
1049
-    <a id="improveTorTestCoverage"></a>
1050
-    <li>
1051
-    <b>Improve test coverage in Tor</b>
1052
-    <br>
1053
-    Language: <i>C, Python</i>
1054
-    <br>
1055
-    Likely Mentors: <i>David (dgoulet)</i>
1056
-    <br><br>
1057
-    <p>
1058
-Right now, our unit test coverage with the tests we ship is around 30%
1059
-unit tests.  Improving this test coverage could make Tor development
1060
-much more reliable.
1061
-    </p>
1062
-
1063
-    <p>
1064
-So we need better unit tests, and we need better integration tests too.
1065
-    </p>
1066
-
1067
-    <p>
1068
-Improving unit tests would involve refactoring functions to be more
1069
-testable, and writing a bunch of unit tests.
1070
-    </p>
1071
-
1072
-    <p>
1073
-Improving integration tests would involve refactoring and improving
1074
-the "chutney" program that launches a test tor network, and writing a
1075
-bunch of tests to see what works and what doesn't work on such a
1076
-network.  It could also involve writing tests using the library "<a
1077
-href="https://stem.torproject.org/">stem</a>" to script individual clients on a
1078
-Chutney network.
1079
-    </p>
1080
-
1081
-    <p>
1082
-To get a feel for how testing works in Tor today, download Tor and
1083
-Chutney, and make sure you can build Tor and use Chutney.  See how the
1084
-unit tests work by skimming some of the test code in the src/test
1085
-subdirectory.  Try computing test coverage (according to the
1086
-instructions in the doc/HACKING file.
1087
-    </p>
1088
-
1089
-    <p>
1090
-Also, have a look at the one current integration test that works on
1091
-chutney today: it is a shell script distributed with Tor as
1092
-src/test/test-tor-network.sh .  We probably don't want to have all of
1093
-our integration tests be written as shell scripts, but it's interesting
1094
-to see how one works.
1095
-    </p>
1096
-
1097
-    <p>
1098
-If working on designs for an improved or refactored Chutney, watch out for <a
1099
-href="http://www.joelonsoftware.com/articles/fog0000000018.html">"archicture
1100
-astronautics"</a>: while it's important that we have a well-designed and
1101
-maintainable Chutney architecture, it wouldn't be very useful if a good
1102
-architecture were the <em>only</em> outcome here: we need tests too.
1103
-    </p>
1104
-
1105
-    <p>
1106
-As part of the application process, please contribute a patch that makes
1107
-a non-trivial improvement to chutney, and/or include a new test for some
1108
-interesting Tor function. (Please pick a function that isn't completely
1109
-easy to test.)
1110
-    </p>
1111
-    </li>
1112
-
1113
-    <a id="useMoreCores"></a>
1114
-    <li>
1115
-    <b>Have the Tor daemon use more cores</b>
1116
-    <br>
1117
-    Language: <i>C</i>
1118
-    <br>
1119
-    Likely Mentors: <i>David (dgoulet)</i>
1120
-    <br><br>
1121
-    <p>
1122
-Right now, if you run a busy Tor server on a multicore computer, most of
1123
-the cores are mostly unused.  We have a "cpuworker" mechanism to move
1124
-expensive computations into worker threads, but that mechanism is
1125
-currently only used for a small fraction of our cryptography.  Moving
1126
-more work into the worker threads could improve performance immensely.
1127
-    </p>
1128
-
1129
-    <p>
1130
-So it would be great to parallelize our cryptography more in order to
1131
-better handle more cores.  See
1132
-<a href="https://trac.torproject.org/projects/tor/wiki/org/projects/Tor/MultithreadedCrypto">MultithreadedCrypto</a>
1133
-for some background info, and
1134
-<a href="https://trac.torproject.org/projects/tor/ticket/7572">ticket 7572</a> for some subtickets
1135
-on our tracker.
1136
-    </p>
1137
-
1138
-    <p>
1139
-(If you're reading through the code to see how it works today, you will
1140
-also want to have a look at the new implementation for cpuworkers
1141
-described in <a href="https://trac.torproject.org/projects/tor/ticket/9682">9682</a>.)
1142
-    </p>
1143
-
1144
-    <p>
1145
-Completing the implementation of ticket #7572 --which would move our
1146
-circuit crypto onto separate threads-- could be a good summer project.
1147
-Alternatively, moving all of the signature generation and verification
1148
-code onto the cpuworkers could be fun.  In either case, you will have
1149
-some important architectural decisions to make about how to minimize
1150
-shared data between the main thread and the workers, how to avoid
1151
-race conditions between them, and how to test it all to make sure it has
1152
-no hidden failure cases.
1153
-    </p>
1154
-
1155
-    <p>
1156
-As part of the application process for this project, please contribute a
1157
-nontrivial patch to Tor -- ideally, one that will affect some part of
1158
-the codebase that you want to work on.
1159
-    </p>
1160
-    </li>
1161
-
1162 897
     <a id="improveHiddenServices"></a>
1163 898
     <li>
1164 899
     <b>Help improve Tor hidden services</b>
1165 900
     <br>
1166 901
     Language: <i>C</i>
1167 902
     <br>
1168
-    Likely Mentors: <i>David (dgoulet), George (asn)</i>
903
+    Likely Mentors: <i>George (asn)</i>
1169 904
     <br><br>
1170 905
     <p>
1171 906
 We're working on a revamp of the entire Tor hidden service design to
... ...
@@ -1196,41 +930,6 @@ the codebase that you want to work on.
1196 930
     </p>
1197 931
     </li>
1198 932
 
1199
-    <a id="improvedDnsSupport"></a>
1200
-    <li>
1201
-    <b>Improved DNS support for Tor</b>
1202
-    <br>
1203
-    Language: <i>C</i>
1204
-    <br>
1205
-    Likely Mentors: <i>David (dgoulet)</i>
1206
-    <br><br>
1207
-    <p>
1208
-Right now, you can only use Tor's DNS support to look up IPv4 and IPv6
1209
-addresses, and to fetch PTR records.  But DNS can do so much more!
1210
-    </p>
1211
-
1212
-    <p>
1213
-<a
1214
-href="https://gitweb.torproject.org/torspec.git/tree/proposals/219-expanded-dns.txt">Proposal
1215
-219</a> describes some new cell types that Tor could use to support
1216
-more types of DNS over Tor.
1217
-    </p>
1218
-
1219
-    <p>
1220
-To see how Tor implements its existing DNS lookups, start by tracing the
1221
-the connection_exit_begin_resolve() function in src/or/connection_edge.c ,
1222
-and see how we pass these requests downwards through src/or/dns.c to the
1223
-underlying resolver.  It's not too complicated, but there are some
1224
-tricky parts to understand.
1225
-    </p>
1226
-
1227
-    <p>
1228
-As part of the application process for this project, please contribute a
1229
-nontrivial patch to Tor -- ideally, one that will affect some part of
1230
-the codebase that you want to work on.
1231
-    </p>
1232
-    </li>
1233
-
1234 933
     <a id="exitmap_improvements"></a>
1235 934
     <li>
1236 935
     <b>Exitmap Improvements</b>
1237 936