NetBSD & Google's Summer of Code: Mateusz Kocielski - SASL client library (sasl_client_lib)

| & |

# NetBSD-SoC: SASL client library

What is it | Status | Repository | Deliverables | Documentation | Technical details | Contact

What is it?

This is the historical site of the project used during the Google Summer of Code 2010. For recent info check the main page.

Status

Project schedule:

- April 26, 2010: Community Bonding Period -- Students get to know mentors, read documentation, get up to speed to begin working on their projects.
- week 1, May 24 - May 31:
  - May 24, 2010: Students begin coding for their GSoC projects; Google begins issuing initial student payments
  - implementing API
  - writing weekly report
  - writing manpages/documentation
  - writing test cases
- week 2, May 31 - June 7:
  - implementing API
  - implementing ANONYMOUS, EXTERNAL, PLAIN
  - writing example client
  - writing manpages/documentation
  - writing weekly report
  - writing test cases
- week 3, June 14 - June 21:
  - implementing CRAM-MD5
  - writing example client
  - writing manpages/documentation
  - writing weekly report
  - writing test cases
- week 4, June 21 - June 28:
  - implementing DIGEST-MD5
  - writing manpages/documentation
  - writing weekly report
  - writing test cases
- week 5, June 28 - July 5:
  - implementing DIGEST-MD5
  - writing weekly report
  - writing test cases
- week 6, July 5 - July 12:
  - implementing DIGEST-MD5
  - refactoring and fixing code
  - writing weekly report
  - writing test cases
  - writing mid-term report
- week 7, July 12 - July 19:
  - July 12, 2010: Mentors and students can begin submitting mid-term evaluations.
  - July 16, 2010: Mid-term evaluation deadline; Google begins issuing mid-term student payments provided passing student survey is on file.
  - implementing GSSAPI
  - writing manpages/documentation
  - writing weekly report
  - writing test cases
- week 8, July 19 - July 26:
  - implementing GSSAPI
  - writing manpages/documentation
  - writing weekly report
  - writing test cases
- week 9, July 26 - August 2:
  - implementing GSSAPI
  - writing manpages/documentation
  - writing weekly report
  - testing/fixing
- week 10, August 2 - August 9:
  - writing manpages/documentation
  - writing weekly report
  - testing/fixing
- week 11, August 9 - August 16:
  - August 9, 2010: Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.
  - August 16, 2010: Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.
  - writing weekly report
  - writing final report
  - vacations
- August 20, 2010: Final evaluation deadline; Google begins issuing student and mentoring organization payments provided forms and evaluations are on file.

Major milestones:

- detailed library design
- API with one mechanism
- configuration files parser
- PLAIN/EXTERNAL/LOGIN/ANONYMOUS mechanisms
- example client (stdio/stdout)
- example client (SMTP/IMAP)
- CRAM-MD5 mechanism
- DIGEST-MD5 mechanism
- GSSAPI mechanism
- manpages/documentation

Project's repository

Project is aviliable via CVS, anonymous read-only access is provided. Run following command for accessing the repository:
cvs -z3 -d:pserver:anonymous@netbsd-soc.cvs.sourceforge.net:/cvsroot/netbsd-soc checkout -P sasl_client_lib

Deliverables

Mandatory (must-have) components:

- library code:
  - API implementation
  - ANONYMOUS mechanism
  - CRAM-MD5 mechanism
  - DIGEST-MD5 mechanism
  - EXTERNAL mechanism
  - GSSAPI mechanism
  - LOGIN mechanism
  - PLAIN mechanism
- example usage (SMTP/IMAP client)
- manpages for the library
- test cases

Optional component:

Documentation

Standards:

- RFC2195 - IMAP/POP AUTHorize Extension for Simple Challenge/Response (CRAM-MD5)
- RFC2222 - Simple Authentication and Security Layer (SASL, GSSAPI, EXTERN)
- RFC2245 - Anonymous SASL Mechanism (ANONYMOUS)
- RFC2595 - Using TLS with IMAP, POP3 and ACAP (PLAIN)
- RFC2831 - Using Digest Authentication as a SASL Mechanism (DIGEST-MD5)

Related libraries:

- Cyrus-SASL - Cyrus Simple Authentication and Security Layer library
- Libgsasl - GNU Simple Authentication and Security Layer library

Technical Details

Testing:

- ATF - Automated Testing Framework

Contact

If you've got any questions or suggestions, then feel free to contact me by e-mail, my address is m.kocielski@gmail.com. You can also contact me more interactively via IRC, my nickname is shm at the freenode network.

Mateusz Kocielski <`m.kocielski@gmail.com`>
$NetBSD: soc.html,v 1.3 2011/02/11 23:44:42 christos Exp $