aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml')
-rw-r--r--en_US.ISO8859-1/htdocs/projects/summerofcode-2006.sgml386
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; &lt;gnn@FreeBSD.org&gt;</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">&nbsp;</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; &lt;kmacy@FreeBSD.org&gt;</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">&nbsp;</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; &lt;pjd@FreeBSD.org&gt;</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">&nbsp;</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; &lt;jhb@FreeBSD.org&gt;</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">&nbsp;</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; &lt;kmacy@FreeBSD.org&gt;</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">&nbsp;</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; &lt;benno@FreeBSD.org&gt;</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">&nbsp;</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; &lt;ariff@FreeBSD.org&gt;,
+&a.netchild; &lt;netchild@FreeBSD.org&gt;</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">&nbsp;</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; &lt;ps@FreeBSD.org&gt;</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">&nbsp;</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; &lt;bz@FreeBSD.org&gt;</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">&nbsp;</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; &lt;ume@FreeBSD.org&gt;</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">&nbsp;</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; &lt;netchild@FreeBSD.org&gt;</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">&nbsp;</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; &lt;phk@FreeBSD.org&gt;</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">&nbsp;</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; &lt;csjp@FreeBSD.org&gt;</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">&nbsp;</tr>
+
+<tr><td>Student:</td><td>G&aacute;bor K&ouml;vesd&aacute;n</td></tr>
+<tr><td>Summary:</td><td>Improving FreeBSD Ports Collection Infrastructure</td></tr>
+<tr><td>Mentor:</td><td> &a.erwin; &lt;erwin@FreeBSD.org&gt;</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&aacute;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&aacute;bor's Wiki page</a>.</p>
+
+</td></tr>
+<tr><td colspan="2">&nbsp;</tr>
+
+</table>
+
+&footer;
+</body>
+</html>