1*ebfedea0SLionel Sambuc<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2*ebfedea0SLionel Sambuc 3*ebfedea0SLionel Sambuc<html> 4*ebfedea0SLionel Sambuc <head> 5*ebfedea0SLionel Sambuc <title>NetBSD & Google's Summer of Code: Mateusz Kocielski - SASL client library (sasl_client_lib)</title> 6*ebfedea0SLionel Sambuc <link rel="stylesheet" type="text/css" href="style.css"> 7*ebfedea0SLionel Sambuc <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 8*ebfedea0SLionel Sambuc </head> 9*ebfedea0SLionel Sambuc 10*ebfedea0SLionel Sambuc 11*ebfedea0SLionel Sambuc<body> 12*ebfedea0SLionel Sambuc <div style="text-align:center;"> 13*ebfedea0SLionel Sambuc <table style="margin-left: auto; margin-right: auto;"> 14*ebfedea0SLionel Sambuc <tr> 15*ebfedea0SLionel Sambuc <td><a href="http://www.NetBSD.org/"><img style="border: none; vertical-align: top;" src="../../NetBSD.png" alt="[NetBSD logo]"></a></td> 16*ebfedea0SLionel Sambuc <td><p style="font-size : 47px;"> & </p></td> 17*ebfedea0SLionel Sambuc <td><a href="http://www.google.com/"><img style="border: none; vertical-align: bottom;" src="http://www.google.com/intl/en/images/logo.gif" alt="[Google logo]"></a></td> 18*ebfedea0SLionel Sambuc </tr> 19*ebfedea0SLionel Sambuc </table> 20*ebfedea0SLionel Sambuc 21*ebfedea0SLionel Sambuc <h1>NetBSD-SoC: SASL client library</h1> 22*ebfedea0SLionel Sambuc </div> 23*ebfedea0SLionel Sambuc 24*ebfedea0SLionel Sambuc <div class="main" style="text-align:center;"> 25*ebfedea0SLionel Sambuc <a href="#whatisit">What is it</a> | 26*ebfedea0SLionel Sambuc <a href="#status">Status</a> | 27*ebfedea0SLionel Sambuc <a href="#repo">Repository</a> | 28*ebfedea0SLionel Sambuc <a href="#deliverables">Deliverables</a> | 29*ebfedea0SLionel Sambuc <a href="#doc">Documentation</a> | 30*ebfedea0SLionel Sambuc <a href="#tech">Technical details</a> | 31*ebfedea0SLionel Sambuc <a href="#contact">Contact</a> 32*ebfedea0SLionel Sambuc </div> 33*ebfedea0SLionel Sambuc 34*ebfedea0SLionel Sambuc <div class="main"> 35*ebfedea0SLionel Sambuc <a name="whatisit"></a> 36*ebfedea0SLionel Sambuc <p class="header">What is it?</p> 37*ebfedea0SLionel Sambuc This is the historical site of the project used during the Google Summer of Code 2010. For recent info check the <a href="index.html">main page</a>. 38*ebfedea0SLionel Sambuc </div> 39*ebfedea0SLionel Sambuc 40*ebfedea0SLionel Sambuc <div class="main"> 41*ebfedea0SLionel Sambuc <a name="status"></a> 42*ebfedea0SLionel Sambuc <p class="header">Status</p> 43*ebfedea0SLionel Sambuc 44*ebfedea0SLionel Sambuc <b>Project schedule:</b> 45*ebfedea0SLionel Sambuc <ul> 46*ebfedea0SLionel Sambuc <li> <b>April 26, 2010</b>: <a href="http://googlesummerofcode.blogspot.com/2007/04/so-what-is-this-community-bonding-all.html">Community Bonding Period</a> -- Students get to know mentors, read documentation, get up to speed to begin working on their projects.</li> 47*ebfedea0SLionel Sambuc <li> <b>week 1, May 24 - May 31:</b> 48*ebfedea0SLionel Sambuc <ul> 49*ebfedea0SLionel Sambuc <li> <b>May 24, 2010</b>: Students begin coding for their GSoC projects; Google begins issuing initial student payments</li> 50*ebfedea0SLionel Sambuc <li>implementing API</li> 51*ebfedea0SLionel Sambuc <li>writing weekly report</li> 52*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 53*ebfedea0SLionel Sambuc <li>writing test cases</li> 54*ebfedea0SLionel Sambuc </ul> 55*ebfedea0SLionel Sambuc </li> 56*ebfedea0SLionel Sambuc <li> <b>week 2, May 31 - June 7:</b> 57*ebfedea0SLionel Sambuc <ul> 58*ebfedea0SLionel Sambuc <li>implementing API</li> 59*ebfedea0SLionel Sambuc <li>implementing ANONYMOUS, EXTERNAL, PLAIN</li> 60*ebfedea0SLionel Sambuc <li>writing example client</li> 61*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 62*ebfedea0SLionel Sambuc <li>writing weekly report</li> 63*ebfedea0SLionel Sambuc <li>writing test cases</li> 64*ebfedea0SLionel Sambuc </ul> 65*ebfedea0SLionel Sambuc </li> 66*ebfedea0SLionel Sambuc <li> <b>week 3, June 14 - June 21:</b> 67*ebfedea0SLionel Sambuc <ul> 68*ebfedea0SLionel Sambuc <li>implementing CRAM-MD5</li> 69*ebfedea0SLionel Sambuc <li>writing example client</li> 70*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 71*ebfedea0SLionel Sambuc <li>writing weekly report</li> 72*ebfedea0SLionel Sambuc <li>writing test cases</li> 73*ebfedea0SLionel Sambuc </ul> 74*ebfedea0SLionel Sambuc </li> 75*ebfedea0SLionel Sambuc <li> <b>week 4, June 21 - June 28:</b> 76*ebfedea0SLionel Sambuc <ul> 77*ebfedea0SLionel Sambuc <li>implementing DIGEST-MD5</li> 78*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 79*ebfedea0SLionel Sambuc <li>writing weekly report</li> 80*ebfedea0SLionel Sambuc <li>writing test cases</li> 81*ebfedea0SLionel Sambuc </ul> 82*ebfedea0SLionel Sambuc </li> 83*ebfedea0SLionel Sambuc <li> <b>week 5, June 28 - July 5:</b> 84*ebfedea0SLionel Sambuc <ul> 85*ebfedea0SLionel Sambuc <li>implementing DIGEST-MD5</li> 86*ebfedea0SLionel Sambuc <li>writing weekly report</li> 87*ebfedea0SLionel Sambuc <li>writing test cases</li> 88*ebfedea0SLionel Sambuc </ul> 89*ebfedea0SLionel Sambuc </li> 90*ebfedea0SLionel Sambuc <li> <b>week 6, July 5 - July 12:</b> 91*ebfedea0SLionel Sambuc <ul> 92*ebfedea0SLionel Sambuc <li>implementing DIGEST-MD5</li> 93*ebfedea0SLionel Sambuc <li>refactoring and fixing code</li> 94*ebfedea0SLionel Sambuc <li>writing weekly report</li> 95*ebfedea0SLionel Sambuc <li>writing test cases</li> 96*ebfedea0SLionel Sambuc <li>writing mid-term report</li> 97*ebfedea0SLionel Sambuc </ul> 98*ebfedea0SLionel Sambuc </li> 99*ebfedea0SLionel Sambuc <li> <b>week 7, July 12 - July 19:</b> 100*ebfedea0SLionel Sambuc <ul> 101*ebfedea0SLionel Sambuc <li> <b>July 12, 2010</b>: Mentors and students can begin submitting mid-term evaluations.</li> 102*ebfedea0SLionel Sambuc <li> <b>July 16, 2010</b>: Mid-term evaluation deadline; Google begins issuing mid-term student payments provided passing student survey is on file.</li> 103*ebfedea0SLionel Sambuc <li>implementing GSSAPI</li> 104*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 105*ebfedea0SLionel Sambuc <li>writing weekly report</li> 106*ebfedea0SLionel Sambuc <li>writing test cases</li> 107*ebfedea0SLionel Sambuc </ul> 108*ebfedea0SLionel Sambuc </li> 109*ebfedea0SLionel Sambuc <li> <b>week 8, July 19 - July 26:</b> 110*ebfedea0SLionel Sambuc <ul> 111*ebfedea0SLionel Sambuc <li>implementing GSSAPI</li> 112*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 113*ebfedea0SLionel Sambuc <li>writing weekly report</li> 114*ebfedea0SLionel Sambuc <li>writing test cases</li> 115*ebfedea0SLionel Sambuc </ul> 116*ebfedea0SLionel Sambuc </li> 117*ebfedea0SLionel Sambuc <li> <b>week 9, July 26 - August 2:</b> 118*ebfedea0SLionel Sambuc <ul> 119*ebfedea0SLionel Sambuc <li>implementing GSSAPI</li> 120*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 121*ebfedea0SLionel Sambuc <li>writing weekly report</li> 122*ebfedea0SLionel Sambuc <li>testing/fixing</li> 123*ebfedea0SLionel Sambuc </ul> 124*ebfedea0SLionel Sambuc </li> 125*ebfedea0SLionel Sambuc <li> <b>week 10, August 2 - August 9:</b> 126*ebfedea0SLionel Sambuc <ul> 127*ebfedea0SLionel Sambuc <li>writing manpages/documentation</li> 128*ebfedea0SLionel Sambuc <li>writing weekly report</li> 129*ebfedea0SLionel Sambuc <li>testing/fixing</li> 130*ebfedea0SLionel Sambuc </ul> 131*ebfedea0SLionel Sambuc </li> 132*ebfedea0SLionel Sambuc <li> <b>week 11, August 9 - August 16:</b> 133*ebfedea0SLionel Sambuc <ul> 134*ebfedea0SLionel Sambuc <li> <b>August 9, 2010</b>: Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.</li> 135*ebfedea0SLionel Sambuc <li> <b>August 16, 2010</b>: Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.</li> 136*ebfedea0SLionel Sambuc <li>writing weekly report</li> 137*ebfedea0SLionel Sambuc <li>writing final report</li> 138*ebfedea0SLionel Sambuc <li>vacations</li> 139*ebfedea0SLionel Sambuc </ul> 140*ebfedea0SLionel Sambuc </li> 141*ebfedea0SLionel Sambuc <li> <b>August 20, 2010</b>: Final evaluation deadline; Google begins issuing student and mentoring organization payments provided forms and evaluations are on file.</li> 142*ebfedea0SLionel Sambuc </ul> 143*ebfedea0SLionel Sambuc <b>Major milestones:</b> 144*ebfedea0SLionel Sambuc <ul> 145*ebfedea0SLionel Sambuc <li><b>detailed library design</b></li> 146*ebfedea0SLionel Sambuc <li><b>API with one mechanism</b></li> 147*ebfedea0SLionel Sambuc <li><b>configuration files parser</b></li> 148*ebfedea0SLionel Sambuc <li><b>PLAIN/EXTERNAL/LOGIN/ANONYMOUS mechanisms</b></li> 149*ebfedea0SLionel Sambuc <li><b>example client (stdio/stdout)</b></li> 150*ebfedea0SLionel Sambuc <li>example client (SMTP/IMAP)</li> 151*ebfedea0SLionel Sambuc <li><b>CRAM-MD5 mechanism</b></li> 152*ebfedea0SLionel Sambuc <li><b>DIGEST-MD5 mechanism</b></li> 153*ebfedea0SLionel Sambuc <li><b>GSSAPI mechanism</b></li> 154*ebfedea0SLionel Sambuc <li><b>manpages/documentation</b></li> 155*ebfedea0SLionel Sambuc </ul> 156*ebfedea0SLionel Sambuc </div> 157*ebfedea0SLionel Sambuc 158*ebfedea0SLionel Sambuc <div class="main"> 159*ebfedea0SLionel Sambuc <a name="repo"></a> 160*ebfedea0SLionel Sambuc <p class="header">Project's repository</p> 161*ebfedea0SLionel Sambuc 162*ebfedea0SLionel Sambuc Project is aviliable via CVS, anonymous read-only access is provided. Run following command for accessing the repository: 163*ebfedea0SLionel Sambuc <br><br> 164*ebfedea0SLionel Sambuc <b>cvs -z3 -d:pserver:anonymous@netbsd-soc.cvs.sourceforge.net:/cvsroot/netbsd-soc checkout -P sasl_client_lib</b> 165*ebfedea0SLionel Sambuc </div> 166*ebfedea0SLionel Sambuc 167*ebfedea0SLionel Sambuc <div class="main"> 168*ebfedea0SLionel Sambuc <a name="deliverables"></a> 169*ebfedea0SLionel Sambuc <p class="header">Deliverables</p> 170*ebfedea0SLionel Sambuc 171*ebfedea0SLionel Sambuc <b>Mandatory (must-have) components:</b> 172*ebfedea0SLionel Sambuc <ul> 173*ebfedea0SLionel Sambuc <li> library code: 174*ebfedea0SLionel Sambuc <ul> 175*ebfedea0SLionel Sambuc <li> API implementation</li> 176*ebfedea0SLionel Sambuc <li> ANONYMOUS mechanism</li> 177*ebfedea0SLionel Sambuc <li> CRAM-MD5 mechanism</li> 178*ebfedea0SLionel Sambuc <li> DIGEST-MD5 mechanism</li> 179*ebfedea0SLionel Sambuc <li> EXTERNAL mechanism</li> 180*ebfedea0SLionel Sambuc <li> GSSAPI mechanism</li> 181*ebfedea0SLionel Sambuc <li> LOGIN mechanism</li> 182*ebfedea0SLionel Sambuc <li> PLAIN mechanism</li> 183*ebfedea0SLionel Sambuc </ul> 184*ebfedea0SLionel Sambuc </li> 185*ebfedea0SLionel Sambuc <li> example usage (SMTP/IMAP client)</li> 186*ebfedea0SLionel Sambuc <li> manpages for the library</li> 187*ebfedea0SLionel Sambuc <li> test cases</li> 188*ebfedea0SLionel Sambuc </ul> 189*ebfedea0SLionel Sambuc <b>Optional component:</b> 190*ebfedea0SLionel Sambuc <ul> 191*ebfedea0SLionel Sambuc </ul> 192*ebfedea0SLionel Sambuc </div> 193*ebfedea0SLionel Sambuc 194*ebfedea0SLionel Sambuc <div class="main"> 195*ebfedea0SLionel Sambuc <a name="doc"></a> 196*ebfedea0SLionel Sambuc <p class="header">Documentation</p> 197*ebfedea0SLionel Sambuc 198*ebfedea0SLionel Sambuc <b>Standards:</b> 199*ebfedea0SLionel Sambuc <ul> 200*ebfedea0SLionel Sambuc <li><a href="http://www.ietf.org/rfc/rfc2195.txt">RFC2195</a> - IMAP/POP AUTHorize Extension for Simple Challenge/Response (CRAM-MD5) 201*ebfedea0SLionel Sambuc <li><a href="http://www.ietf.org/rfc/rfc2222.txt">RFC2222</a> - Simple Authentication and Security Layer (SASL, GSSAPI, EXTERN) 202*ebfedea0SLionel Sambuc <li><a href="http://www.ietf.org/rfc/rfc2245.txt">RFC2245</a> - Anonymous SASL Mechanism (ANONYMOUS) 203*ebfedea0SLionel Sambuc <li><a href="http://www.ietf.org/rfc/rfc2595.txt">RFC2595</a> - Using TLS with IMAP, POP3 and ACAP (PLAIN) 204*ebfedea0SLionel Sambuc <li><a href="http://www.ietf.org/rfc/rfc2831.txt">RFC2831</a> - Using Digest Authentication as a SASL Mechanism (DIGEST-MD5) 205*ebfedea0SLionel Sambuc </ul> 206*ebfedea0SLionel Sambuc <b>Related libraries:</b> 207*ebfedea0SLionel Sambuc <ul> 208*ebfedea0SLionel Sambuc <li><a href="http://asg.web.cmu.edu/sasl/sasl-library.html">Cyrus-SASL</a> - Cyrus Simple Authentication and Security Layer library 209*ebfedea0SLionel Sambuc <li><a href="http://www.gnu.org/software/gsasl/">Libgsasl</a> - GNU Simple Authentication and Security Layer library 210*ebfedea0SLionel Sambuc </ul> 211*ebfedea0SLionel Sambuc </div> 212*ebfedea0SLionel Sambuc 213*ebfedea0SLionel Sambuc <div class="main"> 214*ebfedea0SLionel Sambuc <a name="tech"></a> 215*ebfedea0SLionel Sambuc <p class="header">Technical Details</p> 216*ebfedea0SLionel Sambuc <b>Testing:</b> 217*ebfedea0SLionel Sambuc <ul> 218*ebfedea0SLionel Sambuc <li><a href="http://www.netbsd.org/~jmmv/atf/">ATF</a> - Automated Testing Framework 219*ebfedea0SLionel Sambuc </ul> 220*ebfedea0SLionel Sambuc </div> 221*ebfedea0SLionel Sambuc 222*ebfedea0SLionel Sambuc <div class="main"> 223*ebfedea0SLionel Sambuc <a name="contact"></a> 224*ebfedea0SLionel Sambuc <p class="header">Contact</p> 225*ebfedea0SLionel Sambuc 226*ebfedea0SLionel Sambuc <p class="paragraph"> 227*ebfedea0SLionel Sambuc If you've got any questions or suggestions, then feel free to 228*ebfedea0SLionel Sambuc contact me by e-mail, my address is <b>m.kocielski@gmail.com</b>. You can also contact me 229*ebfedea0SLionel Sambuc more interactively via IRC, my nickname is <b>shm</b> at the freenode network. 230*ebfedea0SLionel Sambuc </p> 231*ebfedea0SLionel Sambuc </div> 232*ebfedea0SLionel Sambuc 233*ebfedea0SLionel Sambuc <hr> 234*ebfedea0SLionel Sambuc 235*ebfedea0SLionel Sambuc <table border=0> 236*ebfedea0SLionel Sambuc <tr> 237*ebfedea0SLionel Sambuc <td> 238*ebfedea0SLionel Sambuc <a href="http://sourceforge.net/projects/netbsd-soc"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=141771&type=16" width="150" height="40" style="border: none;" alt="Get NetBSD Summer of Code projects at SourceForge.net. Fast, secure and Free Open Source software downloads"></a> 239*ebfedea0SLionel Sambuc </td> 240*ebfedea0SLionel Sambuc <td> 241*ebfedea0SLionel Sambuc <table> 242*ebfedea0SLionel Sambuc <tr> <td> Mateusz Kocielski <<tt>m.kocielski@gmail.com</tt>> </td> </tr> 243*ebfedea0SLionel Sambuc <tr> <td> $NetBSD: soc.html,v 1.3 2011/02/11 23:44:42 christos Exp $ </td> </tr> 244*ebfedea0SLionel Sambuc </table> 245*ebfedea0SLionel Sambuc </td> 246*ebfedea0SLionel Sambuc </tr> 247*ebfedea0SLionel Sambuc </table> 248*ebfedea0SLionel Sambuc 249*ebfedea0SLionel Sambuc </body> 250*ebfedea0SLionel Sambuc</html> 251