diff options
Diffstat (limited to 'en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml')
-rw-r--r-- | en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml | 386 |
1 files changed, 386 insertions, 0 deletions
diff --git a/en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml b/en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml new file mode 100644 index 0000000000..f86d61e8b5 --- /dev/null +++ b/en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml @@ -0,0 +1,386 @@ +<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [ +<!ENTITY base CDATA ".."> +<!ENTITY date "$FreeBSD: www/en/projects/summerofcode-2006.sgml,v 1.6 2006/10/25 04:24:59 murray Exp $"> +<!ENTITY title "FreeBSD Summer of Code 2006"> +<!ENTITY % navinclude.developers "INCLUDE"> +<!ENTITY % developers SYSTEM "../developers.sgml"> %developers; +]> + +<html> +&header; + +<p>The FreeBSD Project is proud to have taken part in the Google <a + href="http://code.google.com/summerofcode.html">Summer of Code</a> + again in 2006. By all accounts, the FreeBSD participation in this + program was an unqualified success. We received over 150 + applications for student projects, amongst which 14 were selected + for funding. These student projects included security research, + improved installation tools, new utilities, and more. Many of the + students have continued working on their FreeBSD projects even after + the official close of the program.</p> + +<p>We are happy to report than all 14 of our students this year + successfully completed the program. There were many other strong + applications which we unfortunately couldn't fund and many of these + students also spent the summer working on FreeBSD. We are happy to + see continued development in our source code repository by these + talented young programmers and we look forward to working with more + students in the future.</p> + +<p>Information about the student projects is available from our <a + href="http://wiki.freebsd.org/SummerOfCode2006">Summer of Code + wiki</a> and all of the code is checked into <a + href="http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2006/">Perforce</a>. + The summaries below were submitted by the individual students and + their mentors.</p> + +<a name="students"></a> +<h2>2006 Student Projects</h2> + +<table border="0"><tr><td>Student:</td><td>Clement Lecigne</td></tr> +<tr><td>Summary:</td><td>IPv6 stack vulnerabilities</td></tr> +<tr><td>Mentor:</td><td> &a.gnn; <gnn@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>The focus of this project was to review past vulnerabilities, +create vulnerability testing tools and to discover new vulnerabilities +in the FreeBSD IPv6 stack which is derived from the KAME project code. +During the summer Clement took two libraries, the popular libnet, and +his mentor's Packet Construction Set (PCS) and created tools to find +security problems in the IPv6 code. Several issues were found, bugs +filed, and patches created. At the moment Clement and George are +editing a 50 page paper that describes the project which will be +submitted for conference publication.</p> + +<p>All of the code from the project, including the tools, is on line and +is described in the paper.</p> + +<p>By all measures, this was a successful project. Both student and +mentor gained valuable insight into a previously externally maintained +set of code. In addition to the new tools development in this effort, +the FreeBSD Project now also has a new engineer to help work on the +code.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Chris Jones</td></tr> +<tr><td>Summary:</td><td>Jail Resource Limits</td></tr> +<tr><td>Mentor:</td><td> &a.kmacy; <kmacy@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>Chris added support for limiting CPU and memory use by jails. This +allows fairer sharing of systems' resources between divergent uses by +preventing one jail from monopolizing the available memory and CPU +time, if other users and jails have processes to run.</p> + +<p>The code is currently available as patches against <tt>RELENG_6</tt>, and +Chris is in the process of applying it to -CURRENT. More details can +be found at <a +href="http://wiki.freebsd.org/JailResourceLimits">JailResourceLimits</a>.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Ivan Voras </td></tr> +<tr><td>Summary:</td><td>GEOM storage virtualization (gvirstor)</td></tr> +<tr><td>Mentor:</td><td> &a.pjd; <pjd@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>The goal of this project was to create a virtual storage class for the +GEOM framework in FreeBSD that would allow creating "overcommitted" +storage devices, with a size larger than that of available physical +storage (e.g. hard drives). The project was completed successfully, +and the result is available on the project's home page. It's expected +the project will be included in FreeBSD CVS after it gets more testing +or after FreeBSD 6.2 is released, whichever comes first.</p> + +<p>Working on the project was very pleasant, there was enough +documentation and the mentor was very helpful and responsive. Google's +team was apt and provided ample support to the participants of the +project. The project will help both OEMs of embedded devices (such as +NAS devices) and big users to make use of FreeBSD for large storage +projects.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Paolo Pisati</td></tr> +<tr><td>Summary:</td><td>Study analyze and improve the interrupt handling infrastructure</td></tr> +<tr><td>Mentor:</td><td> &a.jhb; <jhb@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>This project consisted in the improvement of the interrupt handling +system in FreeBSD: while retaining backward compatibility with the +previous models (FAST and ITHREAD), a new method called 'Interrupt +filtering' was added. With interrupt filtering, the interrupt handler +is divided into 2 parts: the filter (that checks if the actual +interrupt belong to this device) and the ithread (that is scheduled in +case some blocking work has to be done). The main benefits of +interrupt filtering are:</p> + +<ul> + <li>feedback from filters (the system finally knows + if any handler has serviced an interrupt or not, and can react + consequently).</li> + <li>lower latency/overhead for shared interrupt line.</li> + <li>previous experiments with interrupt filtering showed an increase + in performance against the plain ithread model</li> +</ul> + +<p>Moreover, during the development of interrupt filtering, some MD +dependent code was converted into MI code, PPC was fixed to support +multiple FAST handlers per line and an interrupt stray storm detection +logic was added. While the framework is done, there are still machine +dependent bits to be written (the support for ppc, sparc64, arm and +itanium has to be written/reviewed) and a serious analysis of the +performance of this model against the previous one is a WIP.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Yuan Jue</td></tr> +<tr><td>Summary:</td><td>Porting Xen to FreeBSD.</td></tr> +<tr><td>Mentor:</td><td> &a.kmacy; <kmacy@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>Successfully got a domU kernel usable for installation. dom0 support +still in progress. Kip and Yuan Jue are continuing to work together +on this project after the official end of SoC. Yuan Jue has published +a more comprehensive FreeBSD/Xen howto <a +href="http://www.yuanjue.net/xen/howto.html">here</a>.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Adam David Alan Martin</td></tr> +<tr><td>Summary:</td><td>AutoFS - An Automounting Filesystem implementation for FreeBSD</td></tr> +<tr><td>Mentor:</td><td> &a.benno; <benno@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>Adam used PseudoFS as a starting point for an in-memory +representation of an Automounter Filesystem. This involved making a +few tweaks to PseudoFS to allow AutoFS to detect lookups. At this time, +the filesystem works and sends signals up to a userland program. Adam +plans to continue working on this, with Benno and Erez, to get AutoFS +working with Erez Zadok's AMD. The goal is to merge this work into +-CURRENT.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Ryan Beasley</td></tr> +<tr><td>Summary:</td><td>OSSV4 Sound support</td></tr> +<tr><td>Mentor:</td><td> &a.ariff; <ariff@FreeBSD.org>, +&a.netchild; <netchild@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>This summer was spent adding support for 4Front's OSSV4 API to +FreeBSD. A large number of audio <a +href="http://wiki.freebsd.org/RyanBeasley/ioctlref">ioctls</a> were added, with a few +pending, and there is still work left to do with mixers/mixer +extensions (4Front's specs are still in flux) and MIDI (low priority +because, IIRC, MIDI still needs maintainership). Ryan plans to continue +work related to the mixer extensions as best he can while attending +university full-time. All of the code is committed to +FreeBSD-current.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Markus Boelter</td></tr> +<tr><td>Summary:</td><td>Bundled PXE Installer</td></tr> +<tr><td>Mentor:</td><td> &a.ps; <ps@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>For me, Google Summer of Code was a new and very exciting experience. +I got actively involved in doing Open Source Software and giving +something back to the community. Facing to some challenges within the +project forced me to look behind the scenery of FreeBSD. The result +was a better understanding of the overall system. Getting in touch +with a lot of developers directly also gave a very special spirit to +the Summer of Code.</p> + +<p>I really enjoyed the time and will continue to work on the project +also after the deadline. For me, it was a great chance to get involved +in active development and not just doing some scripts and hacks at home. +Getting paid for the work was just a small part of the overall feeling.</p> + +<p>Thanks people at FreeBSD and Google for the really, really great +time!</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Shteryana Sotirova Shopova</td></tr> +<tr><td>Summary:</td><td>Integrated SNMP monitoring</td></tr> +<tr><td>Mentor:</td><td> &a.bz; <bz@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>After working on bsnmptools last year, Shteryana concentrated on +the server side this year. +An implementation for if_vlan(4) monitoring was dropped from the +original proposal in favor of extended support for the new +if_bridge(4) network bridge device monitoring module. +In addition to RFC 4188 single bridge support and extending the +kernel to get access to all the information a private MIB was +designed. This was needed to be able to monitor multiple bridges +supported by FreeBSD and adding an extended bridge management +interface and definitely was the greatest technical challenge +of the project.</p> + +<p>The project was successfully completed - including code review - and +the kernel part has already been committed to CURRENT. User space part +will follow soon. For STABLE a patch is available too (see wiki). +Shteryana is going to continue her work on bsnmpd and is already +planning support for if_vlan(4) and jails monitoring modules. +We are happy that she will stay with the FreeBSD project and continue +to work on bsnmp and FreeBSD after SoC.</p> + +<p>See also <a +href="http://wiki.freebsd.org/ShteryanaShopova">ShteryanaShopova</a> +and <a +href="http://wiki.freebsd.org/SnmpBridgeModule">SnmpBridgeModule</a>.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Michael Bushkov</td></tr> +<tr><td>Summary:</td><td>Nss-LDAP importing and nsswitch subsystem improvement</td></tr> +<tr><td>Mentor:</td><td> &a.ume; <ume@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>The project consisted of 5 parts:</p> + +<ol> + <li>Nsswitch modules and libc separation. The idea was to move the source +code for different nsswitch sources (such as "files", "dns", "nis") out of +the libc into the separate shared libraries. This task was successfully +finished (the patch is available).</li> + + <li>Regression tests for nsswitch. A set of regression tests to test the +correctness of all nsswitch-related functions and the invariance of their +behavior between system upgrades. I think that task can be considered +successfully completed (the patch is available).</li> + + <li>nss_ldap rewriting. Though, this task was not clearly mentioned in the +original proposal, during the SoC we found reasonable not to simply import +PADL's nss_ldap, but to rewrite it from scratch (licensing issues were among +the basic reasons for this). The resulting nss_ldap nsswitch module, though, +behaves mostly similar to the PADL's one, has different (I believe - more +flexible) architecture. Though it's basically finished, several useful +features from the PADL's nss_ldap still need to be implemented. But, despite +the lack of some features, I believe, that this task can be considered to be +successfully completed. (Missing features will be implemented ASAP - +hopefully during the September).</li> + + <li>nss_ldap importing into the base. The task was to prepare a patch, that +will allow users to use nss_ldap from the base system. The task was +successfully completed (the patch is available), but required to import +OpenLDAP into the base in order for nss_ldap to work properly, and it had +led to a long discussion in the mailing list. This discussion, however, have +concluded with mostly positive opinions about nss_ldap and OpenLDAP +importing.</li> + + <li>cached performance optimization. The caching daemon performance needs to +be as high as possible in order for cached to be as close (in terms of +speed) to "files" nsswitch source as possible. Cached's performance analysis +was made and nsswitch database precaching was introduced as the +optimization. This task was completed (the patch is available). However +there is an area for improvements - more precise and extensive performance +analysis should be made and more optimizations need to be introduces. This +will be done in the nearest future.</li> + +</ol> + +<p>Though none of the code was committed yet into the main, official +FreeBSD tree, my experience from the previous year makes me think +that this situation is normal. I hope, that the code will be reviewed +and committed in the coming months.</p> + +<p>More detailed information about the project can be found at <a href="http://wiki.freebsd.org/LdapCachedDetailedDescription">LdapCachedDetailedDescription</a>.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Roman Divacky</td></tr> +<tr><td>Summary:</td><td>Linux emulation layer update</td></tr> +<tr><td>Mentor:</td><td> &a.netchild; <netchild@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>The goal was to implement the basics of 2.6.16 support. This has +been implemented, and several programs from Fedora Core 4 work now +with osrelease=2.6.16. More complex applications do expose some bugs, +however. All of Roman's SoC work is in FreeBSD-current (the default +compatibility is still 2.4.2) and his current focus is to fix the +remaining bugs as time permits while attending university full-time. A +more detailed status of what is supported and what is not can be found +in the <a href="http://wiki.FreeBSD.org/linux-kernel">linux kernel +project wiki</a>.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Spencer Whitman</td></tr> +<tr><td>Summary:</td><td>K Kernel Meta-Language</td></tr> +<tr><td>Mentor:</td><td> &a.phk; <phk@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +<p>Spencer investigated implementing CPP macros in the first stage of the +prototype 'K' compiler. Spencer has expressed interest to continue +working with us on the 'K' project.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Dongmei Liu</td></tr> +<tr><td>Summary:</td><td>Porting the seref policy and setools to SEBSD</td></tr> +<tr><td>Mentor:</td><td> &a.csjp; <csjp@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> + +Dongmei Liu spent the summer working on the basic footwork required to +port the SEREF policy to SEBSD. This work has been submitted and can +be viewed in the soc2006/dongmei_sebsd Perforce branch. This work was +originated from the sebsd branch: +//depot/projects/trustedbsd/sebsd. Additionally setools-2.3 was +ported from Linux and can be found in contrib/sebsd/setools +directory. It is hoped that this work will be merged into the main SEBSD +development branch. + +</td></tr> +<tr><td colspan="2"> </tr> + +<tr><td>Student:</td><td>Gábor Kövesdán</td></tr> +<tr><td>Summary:</td><td>Improving FreeBSD Ports Collection Infrastructure</td></tr> +<tr><td>Mentor:</td><td> &a.erwin; <erwin@FreeBSD.org></td></tr> +<tr><td>Summary:</td><td> +<p>This project consists of the following tasks:</p> + +<ol> + <li>New handling for i386 binary ports</li> + <li>Cleanup: use ECHO_CMD and ECHO_MSG in bsd.port.mk properly</li> + <li>Add a basic infrastructure support for debugging</li> + <li>Installing ports with different destination (DESTDIR macro)</li> + <li>Cleanup: Move fetch shell scripts out of bsd.port.mk</li> + <li>Make ports respect CC and CFLAGS</li> + <li>Cross-compiling Ports</li> + <li>Plist generator tool<li> +</ol> + +<p>The first three items are completed and the next two items are being worked on. +The DESTDIR support was more complicated than presumed, so it took more +time and the student didn't have time to finish the other items. Gábor +will continue working on these and other ports related tasks and FreeBSD is +happy to have interested him to keep working on ports and ports infrastructure.</p> + +<p>More details can be found at <a href="http://wiki.freebsd.org/G%C3%A1borK%C3%B6vesd%C3%A1n"> + Gábor's Wiki page</a>.</p> + +</td></tr> +<tr><td colspan="2"> </tr> + +</table> + +&footer; +</body> +</html> |