The primary purposes are to clean up duplicated author definitions in
both share/xml/authors.ent and share/xml/developers.ent, and as a added
bonus simplify writing up author names/email addresses in web pages.
Apart from merging developers.ent into authors.ent, removing the former,
and updating the Committers Guide there should be little user-visible changes:
- a.portmgr renamed to a.portmgr.members
- a.doceng renamed to a.doceng.members
- team.re renamed to a.re.members.email and moved from
share/xml/freebsd.ent to share/xml/authors.ent
- a.core updated and moved from share/xml/mailing-lists.ent to
share/xml/teams.ent
- share/pgpkeys/{addkey.sh|README} updated
Translations are untouched except for build fixes.
Approved by:	doceng (gjb)
Approved by:	gjb (mentor)
		
	
			
		
			
				
	
	
		
			388 lines
		
	
	
	
		
			17 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			388 lines
		
	
	
	
		
			17 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="iso-8859-1"?>
 | |
| <!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
 | |
| "http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
 | |
| <!ENTITY title "FreeBSD Summer of Code 2006">
 | |
| ]>
 | |
| 
 | |
| <html xmlns="http://www.w3.org/1999/xhtml">
 | |
| <head>
 | |
|       <title>&title;</title>
 | |
| 
 | |
|       <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
 | |
|     </head>
 | |
| 
 | |
|     <body class="navinclude.developers">
 | |
| 
 | |
| <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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;, &a.netchild.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></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.email;</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"> </td></tr>
 | |
| 
 | |
| <tr><td>Student:</td><td>&a.gabor;</td></tr>
 | |
| <tr><td>Summary:</td><td>Improving FreeBSD Ports Collection Infrastructure</td></tr>
 | |
| <tr><td>Mentor:</td><td>  &a.erwin.email;</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"> </td></tr>
 | |
| 
 | |
| </table>
 | |
| 
 | |
| </body>
 | |
| </html>
 |