[haiku-development] GSoC CIFS Application review

  • From: Obaro Ogbo <obaro.ogbo@xxxxxxxxx>
  • To: haiku-development <haiku-development@xxxxxxxxxxxxx>
  • Date: Wed, 1 Apr 2009 20:48:17 +0100

I submitted my GSoC proposal a little while ago, and would appreciate
any reviews,
questions and/or corrections. Thanks in advance.


__________________________________________________________________
Title:           CIFS client Implementation
Student:        obaro ogbo
Abstract:
CIFS is a widely used/implemented protocol, and implementing it will
have huge benefit towards interoperability with other platforms. The
linux cifs implementation and SNIA/CIFS Technical Reference will be
used as a guide. This is not a port of the linux cifs, but will use
code(especially CIFS data structures) and algorithms(encryption) from
it.
Content:

Personal Profile

    * Full name    -     Ogbo Obaro
    * Preferred email address    -    obaro.ogbo@xxxxxxxxx
    * Summer Education    -    n/a
    * Employment    -    n/a
    * Schedule    -    Semester exams begin on June 1st through June 12th.
    * Time Allocated    -    40 hours minimum. I would devote more
than this though.

    * Brief bio    -    I began programming with Java, then learnt C
before studying C++. I've done little PHP and Perl coding, but I'm
presently trying to grasp Mixal (:) and Lisp. Participated in the
Nigerian ACM/ICPC in 2007 and 2008 where my team came 3rd and 2nd
respectively. My primary OS has been linux (Debian/Ubuntu) since 2006.
I'm interested in low-level programming, but I've never really done
any. I hope to get into kernel level development, understand compilers
intimately and networking technologies.

Project idea information

    * Project title    -    Implement a CIFS client
    * List of project goals
         1. Implement haiku filesystem basic mount routines
         2. Copy data structure and header files that handle protocol
definitions
         3. Implement Protocol Negotiation, User Authentication and
other session requests
         4. Implement Directory requests
         5. Implement file requests
         6. Include encryption routines
         7. Write a GUI frontend to mount cifs volumes
         8. Implement Unix Extensions.
         9. Optimize and test
    * Description of project goals
         1. Implement kernel_interface.cpp including
cifs_mount(fs_volume* ...), etc
         2. Linux's cifs implementation contains definitions for
CIFS/SMB data structures which I'll largely use as is.
         3. Implement LANMAN2.1 and NTLM 0.12 dialect negotiation,
SESSION_SETUP, LOGOFF, TREE_CONNECT, TREE_DISCONNECT and File System
Information queries.
         4. Directory Requests are well documented in the SNIA/CIFS
Technical Reference, I'll implement requests and actions for
responses.
         5. There are a large number of file commands, and I expect to
spend the most time in this step due to that. Similar to Goal 4.
         6. Implement NT and LM authentication modes and make default
         7. Graphical frontend to mount a share with user providing
servername, sharename, username and password.
         8. These are small enhancements to enable Unix/Unix-like
clients and servers exchange information used by both e.g symbolic
links.
         9. Mainly try to optimize features like read-ahead and
write-behind, and test extensively
    * Why I want to work on this project    -    I hope to understand
an Operating System in its entirety, preferrably one not fully
developed, so I can follow design decisions and help code someday.
Haiku provides this opportunity, and implementing this project will
serve as an entry point. I enjoy learning new things, and I've already
learnt so much from researching this project I can hardly wait to
start.
__________________________________________________________________________

-- 

Thnks

Other related posts:

  • » [haiku-development] GSoC CIFS Application review - Obaro Ogbo