Hi Darshit! Thanks again for replying! Glad to have such responsive mentors. I will get on the FTP Test Suite ASAP. I also started reading the FTP RFC 959 to get ideas. Am I on the right track? Once I am done with going through the Test Suite,I would like to pick up Secure Cookie Management. Best, Smriti
On Mon, Mar 2, 2015 at 11:06 PM, Darshit Shah <[email protected]> wrote: > For the FTP Server specifically, you get to start from a (nearly) blank > slate! There's no prior code base, so you get to pick and choose how you > want it done. > > As for the "Improve Wget's Security" project, it's three separate > sub-projects and you need to tackle each of them separately. > 1. HSTS: You'd first need to understand HSTS and see what it requires. > Then identify at what stage of downloading a web page should this concept > kick in? That should help you narrow down your search. The wiki page on > "Navigating the source" [1] should help you too. > 2. Secure cookie management is entirely based on cookie handling and the > location you need to work on should hence be pretty obvious :) > 3. The FTP source is available in ftp.[ch] while the SSL/TSL source is in > both, gnutls.[ch] and openssl.[ch], depending on the library you're > working on. You'll probably have to create a new file, ftps.[ch], to > implement this. > > > Regarding the cleaning up, I really don't have any pointers of the top of > my head. If while going through the code, you think something should have > been implemented in a different way to make it cleaner / more efficient, do > it. If at any time you're stuck / need to understand "why" it was done in a > particular fashion, ask on the mailing lists and someone who understand > that code the best will help you out. > > > [1]: http://wget.addictivecode.org/NavigatingTheSource > > On 03/02, Smriti Gambhir wrote: > >> Thanks for elaborating! I wanted to go through the code relevant to this >> project as well as the one to improve wget's security,which I am guessing >> is the entire code base. I would like to get started with cleaning up the >> HTTP code. Let me know what has to be done! :D >> Regards >> >> On Mon, Mar 2, 2015 at 10:31 PM, Darshit Shah <[email protected]> wrote: >> >> Hi Smriti, >>> >>> >>> What code base are you interested in understanding? The source for Wget >>> itself is in the src/ directory and is relatively straight forward. Well, >>> as straight forward as it can remain after 20+ years of hacking and >>> patching. >>> >>> The test suite in testenv/ is the new Python based test suite. The >>> Test-*.py files in the directory are the various test cases, the server/ >>> directory contains the code for the actual servers while the conf/ >>> directory contains the various rules for customizing the server >>> programmatically through the tests. >>> >>> >>> >>> On 03/02, Smriti Gambhir wrote: >>> >>> Thank you for replying Darshit! :) >>>> I started going through the code yesterday. I would appreciate any tips >>>> on >>>> how to approach the code base. I will go through the test suite code >>>> base >>>> in the testenv/ directly asap. >>>> I understand that the project is essentially in C and will try to keep >>>> it >>>> simple. >>>> Regards >>>> >>>> >>>> On Mon, Mar 2, 2015 at 9:57 PM, Darshit Shah <[email protected]> wrote: >>>> >>>> Hi Smriti, >>>> >>>>> >>>>> The FTP Server for Test Suite is a relatively open ended idea. Have you >>>>> gone through the existing test suite code base in the testenv/ >>>>> directory? >>>>> With this project, we're really looking for students to come up with >>>>> their >>>>> own ideas on how to implement it. The HTTP server was implemented in >>>>> Python >>>>> 3. But you're free to choose your language / library of choice, so long >>>>> as >>>>> you can ensure that the actual tests will follow the existing format. >>>>> If you're trying to get familiar with the existing test suite, there's >>>>> two >>>>> possible opportunities: >>>>> >>>>> 1. Port some tests over the old test suite in the tests/ directory. >>>>> 2. Clean up the HTTP Server code >>>>> >>>>> Even though most of the features have been implemented in the Python 3 >>>>> server, the tests haven't been ported. Any help in doing so will be >>>>> greatly >>>>> appreciated. If you need any help / find a missing feature please let >>>>> us >>>>> know and we'll help you through it. >>>>> >>>>> While I'm not aware of any bugs directly in the HTTP server, (except >>>>> for >>>>> multiple simultaneous servers, which would be insanely awesome if you >>>>> could >>>>> fix it), you could try to clean up the code a little. It will help you >>>>> in >>>>> understanding the flow of the code and how it works a lot better. One >>>>> thing >>>>> you must remember when programming in Python for GNU Wget is that, >>>>> we're >>>>> not essentially a Python project. The code you write will not be read / >>>>> maintained by people who are Python programmers, but rather by C >>>>> Programmers. Hence, while it is good to be Pythonic when possible, it >>>>> is >>>>> also important to remember to keep the code as simple as possible for >>>>> a C >>>>> programmer to understand intuitively. >>>>> >>>>> >>>>> Do let us know if you have any more queries. >>>>> >>>>> >>>>> On 03/02, Smriti Gambhir wrote: >>>>> >>>>> Hi! >>>>> >>>>>> >>>>>> I would like to contribute to FTP Server for Test Suite idea. I have >>>>>> used >>>>>> Python and C extensively for my projects. I also have significant >>>>>> experience in Socket programming. I was going through the code base. I >>>>>> wanted to solve a few easy to fix bugs to get myself familiar with the >>>>>> code. Can anyone recommend such bugs or any other method as such to >>>>>> understand the code base? >>>>>> >>>>>> Thanks >>>>>> >>>>>> -- >>>>>> Smriti Gambhir >>>>>> Department of Computer Science >>>>>> BITS Pilani K.K. Birla Goa Campus >>>>>> >>>>>> --- end quoted text --- >>>>>> >>>>> >>>>> -- >>>>> Thanking You, >>>>> Darshit Shah >>>>> >>>>> >>>>> >>>> >>>> -- >>>> Smriti Gambhir >>>> Department of Computer Science >>>> BITS Pilani K.K. Birla Goa Campus >>>> >>>> --- end quoted text --- >>> >>> -- >>> Thanking You, >>> Darshit Shah >>> >>> >> >> >> -- >> Smriti Gambhir >> Department of Computer Science >> BITS Pilani K.K. Birla Goa Campus >> > --- end quoted text --- > > -- > Thanking You, > Darshit Shah > -- Smriti Gambhir Department of Computer Science BITS Pilani K.K. Birla Goa Campus
