FreeBSD Status Report Second Quarter 2006
Max Laier
max at love2party.net
Tue Jul 11 22:24:06 UTC 2006
-------------- next part --------------
April-June 2006 Status Report
Introduction
With the release of FreeBSD 5.5 and FreeBSD 6.1, the second quarter of
2006 has been productive. Google is sponsoring 14 students to work on
FreeBSD as part of their Summer of Code Program (most of which already
submitted a report for elaboration on their projects).
Sun's open-source software is starting to make its way into FreeBSD as
a port of DTrace is nearing completion and a port to the UltraSparc T1
processor (which gives a great push to the ongoing SMP efforts).
Having a powerful debugging tool combined with a CPU that can run up
to 32 concurrent threads helps to identify scalability issues.
BSDCan 2006 was yet again a smashing success and much was covered in
the 2-day developer summit. As a product of the conference, a new
focus on FreeBSD for the embedded sector has started. Various ARM
boards are targeted, a MIPS32 port is gearing up and people are
looking for other interesting platforms to port FreeBSD to.
Preparation for the EuroBSDCon (in Milan, Italy) on November has
already issued a call for papers.
In addition, a lot of spring cleaning is taking place in the network
stack. After conclusion of the KAME project, IPv6 code integration has
been refocused and a fully locked port of SCTP is in the final stage
of integration. Of course, all this goes without noting all the
progress made with the other network projects.
Please read below for more detailed news on the projects that happened
in FreeBSD during the last three months. If you are interested in
helping, consider the "Open Tasks lists" provided with some reports.
In addition we would like to point you at the list of projects and
ideas for volunteers and hope to receive a status report from you next
time.
Thanks to all reporters for your excellent work and timing!. Enjoy
reading.
_________________________________________________________________
Google summer of code
* BSNMP Bridge module
* gvirstor
* Improving Ports Collection
* Interrupt handling
* IPv6 Vulnerabilities
* Jail Resource Limits
* K Kernel Meta-Language
* Linuxolator kernel update to match functionality of 2.6.x
* Nss-LDAP importing and nsswitch subsystem improvement
Projects
* DTrace
* Embedded FreeBSD
* TrustedBSD Audit
Network infrastructure
* FAST_IPSEC Upgrade
* FreeBSD NFS Status Report
* IPv6 cleanup
* Multi-IP v4/v6 jails
* SCTP Integration
* Wireless Networking
Kernel
* Giant-Less UFS with Quotas
* Giant-Less USB framework
* GJournal
* Gvinum improvements
* Sound subsystem improvements
* SSE2 Kernel support
* XFS for FreeBSD
Documentation
* FreeBSD list of projects and ideas for volunteers
* Hungarian translation of the webpages
Userland programs
* Low-overhead performance monitoring tools
Architectures
* PowerPC Port
Ports
* FreshPorts
* Ports Collection
* Update of the Linux userland infrastructure in the Ports
Collection
Vendor / 3rd Party Software
* BSDInstaller
* pfSense
* xscale board buy
Miscellaneous
* BSDCan
* EuroBSDCon 2006 - November 10th - 12th, Milan, Italy
* FreeBSD Security Officer and Security Team
* Release Engineering
_________________________________________________________________
BSDCan
URL: http://www.bsdcan.org/
Contact: Dan Langille <dan at langille.org>
BSDCan 2006 continues to impress. Again this year, we had a good
collection of talks from a wide range of speakers. In all, we had over
200 people from 14 different countries.
Our sponsorship pool continues to grow. This year we had sponsorship
from:
* USENIX
* The FreeBSD Foundation
* PARSE
* iXsystems
* O'Reilly
* Stevens Institute of Technology
* nCircle
The t-shirts were very popular, with all of them going in very short
time. Of course, it helped that this year they were free, courtesy of
PARSE.
The 2007 planning has already begun and we look forward to another
popular and successful event.
My thanks to the 2006 program committee, the speakers, the volunteers,
the sponsors, and, of course, the attendees.
See you at BSDCan 2007.
_________________________________________________________________
BSDInstaller
URL: http://wikitest.freebsd.org/moin.cgi/BSDInstaller
Contact: Andrew Turner <soc-andrew at FreeBSD.org>
Since the last status report ports have been created for all parts of
the BSDInstaller except the backend.
A snapshot of the BSDInstaller was released during this quarter. This
has shown a number of bugs with the installation process. Most have
now been fixed.
_________________________________________________________________
BSNMP Bridge module
URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/soc
%2dshteryana/bsnmp/usr.sbin/bsnmpd/modules/snmp%5fbridge
URL: http://wiki.freebsd.org/SnmpBridgeModule
Contact: Shteryana Shopova <shteryana at FreeBSD.org>
As part of my SoC 2006 project I am working on implementing a BRIDGE
monitoring module for FreeBSD's BSNMP daemon. Initial prototyping is
done and some kernel changes are coming to be able to access all
needed data. In addition to IETF RFC 4188, which was designed for
monitoring a single bridge, this snmp module will support monitoring
of multiple bridge devices as supported by FreeBSD.
Open tasks:
1. Finish kernel changes and the code for the snmp module.
2. Testing.
_________________________________________________________________
DTrace
URL: http://people.freebsd.org/~jb/dtrace/index.html
Contact: John Birrell <jb at freebsd.org>
Anonymous enablings now work. There is a new option in the boot loader
menu to load the DTrace modules and trace the kernel boot process.
Sun Microsystems has been very supportive of the FreeBSD port and has
generously provided a Sun Fire T2000 server to allow Kip Macy's sun4v
port to be merged into the DTrace project tree.
The DTrace project tree sources are now exported to
cvsup10.freebsd.org
Refer to the project page for more details.
Open tasks:
1. Current effort centres around making DTrace useful for the sun4v
porting effort which has shown up scalability issues with the
current FreeBSD SMP implementation. DTrace should be ideal for
analysing those issues.
_________________________________________________________________
Embedded FreeBSD
URL: http://www.embeddedfreebsd.org/
Contact: George Neville-Neil <gnn at freebsd.org>
There are several projects moving forward in the embedded area. For
now the main location for new information is www.embeddedfreebsd.org.
We have also created a new mailing list, freebsd-embedded at freebsd.org
, which is meant to eventually replace the freebsd-small. A call was
put out on small for people to move to embedded.
Open tasks:
1. Update Developers Handbook with information on building embedded
versions of FreeBSD
2. Help with the MIPS port
3. Help with the ARM port
4. Investigate an SH port (requested by folks in Japan where the
Hitachi SH processor is quite popular in embedded)
_________________________________________________________________
EuroBSDCon 2006 - November 10th - 12th, Milan, Italy
URL: http://www.eurobsdcon.org
Contact: Massimiliano Stucchi <stucchi at eurobsdcon.org>
This year's EuroBSDCon will be held in Milan, Italy, on November 10th
through 12th.
Hosted in the foggy northern Italy, the fifth EuroBSDCon aims at being
a new successful chapter in the itinerant series of European BSD
conferences.
EuroBSDCon represents the biggest gathering for BSD developers from
the old continent, as well as users and passionates from around the
World. It is also a chance to share experiences, know-how, and
cultures.
For the first time, parallel to the main event, an event for
wives/girlfriends/friends will be organised. It will consist of guided
tours of the city of Milan, a probable trip to Como and visits to
various museums. We're also working towards offering a show at the
Teatro alla Scala.
The FreeBSD developer summit will be also held on November 10th.
Open tasks:
1. The Call For Papers is out, so everybody is invited to send in
papers or tutorials that might be of interest to the community
2. The Conference Organisers are also looking for sponsors. Feel free
to contact oc at eurobsdcon.org in order to discover the different
sponsoring opportunities.
_________________________________________________________________
FAST_IPSEC Upgrade
URL: http://sources.zabbadoz.net/freebsd/ipv6/fast-ipsec.html
Contact: George Neville-Neil <gnn at freebsd.org>
Contact: Bjoern A. Zeeb <bz at freebsd.org>
Continuing to add IPv6 support to FAST_IPSEC. Test environment is now
stable. Can build and run kernels with FAST_IPSEC and INET6 enabled
but IPSec in IPv6 is now broken and being worked on.
Open tasks:
1. Complete move to FAST_IPSEC type processing for IPv6. This is
complicated by the structure of the IPv6 code itself which, unlike
IPv4 splits transport and tunnel mode processing across the output
routine.
_________________________________________________________________
FreeBSD list of projects and ideas for volunteers
URL: http://www.FreeBSD.org/projects/ideas/
Contact: Joel Dahl <joel at FreeBSD.org>
Contact: Alexander Leidinger <netchild at FreeBSD.org>
The FreeBSD list of projects and ideas for volunteers is doing well.
Several items were picked up by volunteers and have found their way
into the tree. Others are under review or in progress. We are looking
forward to hear about new ideas, people willing to act as technical
contacts for generic topics such as USB or specific entries (already
existing or newly created) and suggestions for existing entries or
completion reports for (parts of) an entry.
Open tasks:
1. Add more ideas.
2. Find more technical contacts.
3. Find people willing to review/test implementations of (somewhat)
finished items.
_________________________________________________________________
FreeBSD NFS Status Report
Contact: Chuck Lever <cel at FreeBSD.org>
Mohan Srinivas committed his changes to make the NFSv2/3 client MP
safe to HEAD this quarter. Changes may be back-ported to 6.x soon.
Robert Watson and Chuck Lever held a discussion about the future of
the in-kernel NFSv4 client during BSDCan 2006. The current NFSv4
client is unmaintained. Chuck also pointed out the long series of
unfixed PRs against the legacy client (NFSv2/3). These are at the top
of his priority list. Robert is also interested in making NFSv4-style
ACLs the lingua franca for FreeBSD file systems. There was some
discussion about integrating Rick Maclem's NFSv4 server into 7.x.
Chuck Lever became a full source committer during this quarter.
_________________________________________________________________
FreeBSD Security Officer and Security Team
URL: http://www.freebsd.org/security/
URL:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/staff
-listing.html#STAFF-SECTEAM
URL: http://vuxml.freebsd.org/
Contact: Security Officer <security-officer at FreeBSD.org>
Contact: Security Team <security-team at FreeBSD.org>
In the time since the last status report, four security advisories
have been issued concerning problems in the base system of FreeBSD; of
these, one problem was "contributed" code, while three were in code
maintained within FreeBSD. The Vulnerabilities and Exposures Markup
Language (VuXML) document has continued to be updated by the Security
Team and Ports Committers documenting new vulnerabilities in the
FreeBSD Ports Collection; since the last status report, 71 new entries
have been added, bringing the total up to 757.
The following FreeBSD releases are supported by the FreeBSD Security
Team: FreeBSD 4.11, FreeBSD 5.3, FreeBSD 5.4, FreeBSD 5.5, FreeBSD
6.0, and FreeBSD 6.1. The respective End of Life dates of supported
releases are listed on the web site; of particular note, FreeBSD 5.3
and FreeBSD 5.4 will cease to be supported at the end of October 2006,
while FreeBSD 6.0 will cease to be supported at the end of November
2006.
_________________________________________________________________
FreshPorts
URL: http://www.freshports.org/
Contact: Dan Langille <dan at langille.org>
FreshPorts has seen several new features recently:
* caching implemented at web application level to reduce load on the
database server and to serve pages faster
* searching expanded to find all the ports that this maintainer
maintains, and all the commits by a particular committer
Most of the work lately has been optimisation, either at the database
level or at the web application level.
A 2U server was recently donated to the FreshPorts / FreshSource /
FreeBSD Diary / BSDCan group. We have also received a RAID card. Now
we're looking for some hard drives.
Over the past few weeks, work has concentrated on benchmarking the new
server and getting it ready for production. Eventually it will need a
new home as I don't really want it running in my basement all the time
(it's really loud!).
Thanks to iXsystems and 3Ware for their contributions to this project.
Open tasks:
1. We would like some more hardware (CPUs and HDD). Details here
_________________________________________________________________
Giant-Less UFS with Quotas
URL: http://people.freebsd.org/~kib/quotagiant
Contact: Konstantin Belousov <kib at FreeBSD.org>
The patches to allow UFS operate with quotas in Giant-less mode are
brewed for long now. Since recent huge pile of fixes into snapshots
code, I think the problems you could encounter are caused solely by
the patch.
Aside performance benefits, patch has another one, much more valuable.
It makes UFS operating in one locking regime whatever options are
compiled into kernel. I think, in long term, that would lead to better
stability of the system.
Open tasks:
1. I need testers feedback. Both stability reports and performance
measurements are welcomed !
_________________________________________________________________
Giant-Less USB framework
URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects
/usb/src/sys/dev/usb&HIDEDEL=NO
URL: http://www.turbocat.net/~hselasky/usb4bsd
Contact: Hans Petter Sirevaag Selasky <hselasky at c2i.net>
For some time now I have been working on converting the existing USB
device drivers to my new and mutex enabled USB API. I have converted
"ulpt", "ums", "uhid", "ukbd", "ugen", "uaudio", and a few others.
Around 10 USB device drivers are left to convert. Most of these are
network device drivers.
At the present moment I am working on getting scatter and gathering
support working for all USB host controllers. Scatter and gathering
means that one allocates PAGE_SIZE bytes of memory at a time, and then
fills these memory blocks up as much as possible with USB host
controller structures and buffers. This should solve problems
allocating DMA-able memory when the system memory becomes fragmented.
Open tasks:
1. If anyone wants to help convert the remaining USB device drivers,
please drop me an e-mail.
_________________________________________________________________
GJournal
URL:
http://lists.freebsd.org/pipermail/freebsd-fs/2006-June/001962.html
URL: http://people.freebsd.org/~pjd/patches/gjournal.patch
URL: http://people.freebsd.org/~pjd/patches/gjournal6.patch
Contact: Pawel Jakub Dawidek <pjd at FreeBSD.org>
GJournal is a GEOM class which provides journaling for GEOM providers.
It can also be used to journal various file system with just a minimal
filesystem-specific portion of code. Currently only UFS journaling is
implemented on top of gjournal. Being filesystem-independent and
operating below the file system level, gjournal has no way to
distinguish data from metadata, thus it journal both. One of the nice
things about gjournal is that it works reliable even on disks with
enabled write cache, which is often not the case for journalled file
system. And remember... fsck no more.
Open tasks:
1. I'm looking for feedback from users who can test gjournal in
various workloads.
_________________________________________________________________
Gvinum improvements
Contact: Ulf Lilleengen <lulf at stud.ntnu.no>
I have been working on porting missing features in gvinum from vinum,
as well as adding new features.
So far the resetconfig, detach, dumpconfig, setstate (on plexes and
volumes) and stop commands have been implemented, as well as some
other minor fixes. The attach command is currently being implemented,
and started on disk-grouping. Currently most of this is in p4, but
patches will be submitted as soon as possible.
_________________________________________________________________
gvirstor
URL: http://wikitest.freebsd.org/gvirstor
Contact: Ivan Voras <ivoras at freebsd.org>
The purpose of gvirstor module is to provide the ability to create a
virtual storage device of arbitrarily large size (typically several
terabytes) which consists of an arbitrary number of physical storage
devices (actually any lower-level GEOM providers, including RAID
devices) of arbitrary size (typically 50 GB - 400 GB hard drives).
Storage space from these components is carved into small chunks (for
example 4 MB) and allocated (committed) to the virtual device on
as-needed basis.
Development has started and progressing as planned (though a little
bit slow). Metadata format and virtual storage allocation formats have
been defined and more serious coding is in progress.
Open tasks:
1. Much user testing will be needed (though not currently)
_________________________________________________________________
Hungarian translation of the webpages
URL: http://gabor.t-hosting.hu/data/hu/
Contact: Gábor Kövesdán <gabor at FreeBSD.org>
The translated webpage is almost ready now. This Hungarian translation
is a "lite" version of the original English webpages, since there are
parts that are irrelevant for the Hungarian community, or has pieces
of data that change quickly, so it's no use to translate these pages
now, maybe later, if we have more Hungarian contributors, but this
webpage would be a good starting point in translating the
documentations, and we need a good place to put translated
documentations anyway.
I'm going to be very busy with SoC this summer, but I'll try to find
people that can help me out in this project. Any help appreciated.
Open tasks:
1. The remaining important pages should be translated.
2. The press/media/news sections should be restructured somehow to
being fed from the English webapges, since we don't have too much
Hungarian resource to make these up to date.
3. There's a rendering issue when browsing the pages with JavaScipt
enabled, but this can be server-side for me, this should be
investigated as well.
_________________________________________________________________
Improving Ports Collection
URL: http://wikitest.freebsd.org/G%C3%A1borK%C3%B6vesd%C3%A1n
URL: http://wikitest.freebsd.org/DESTDIR
URL: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/98105
Contact: Gábor Kövesdán <gabor at FreeBSD.org>
The improved support for the i386 binaries are ready for -exp run. It
only allows installing such ports on amd64 and ia64 when there's a
compatibility layer compiled into the kernel and the 32-bit libraries
are installed under /usr/lib32.
The DESTDIR support are in progress. It works for the simplest ports
without USE_* that don't have a [pre|do|post]-install target. There
are more complicated issues with e.g. conflict checking in DESTDIR,
deinstalling from DESTDIR, those have to be fixed as well.
Open tasks:
1. DESTDIR issues should be fixed.
2. All ports should be examined whether they respect CC/CFLAGS, and
the erroneous ones should be fixed.
3. Fetch scripts should be taken out of bsd.port.mk to be separate
scripts.
4. A tool should be written that makes possible to cross-compile
ports.
5. A good plist generator tool should be written for porters or the
old one in ports/Tools/scripts should be updated.
_________________________________________________________________
Interrupt handling
Contact: Paolo Pisati <piso at FreeBSD.org>
With the introduction of fine grained locking in the SMPng project,
the FreeBSD kernel went under a major redesign, and many subsystem
changed significantly with it. In particular, device driver's
interrupt context ("the bottom half") had the necessity to synchronise
with process context ("the top half") and share data in a consistent
manner without using spl*(). To overcome this problem, a new interrupt
model based around interrupt threads was employed, together with a
fast interrupt model dedicated to particular driver handlers that
don't block on locks (i.e. serial port, clock, etcetc). Unfortunately,
even if the interrupt thread model proved to be a reliable solutions,
its performance were not on par with the pre SMPng era (4.x), and thus
others solutions were investigated, with interrupt filtering being one
of that.
As part of my Summer of Code 2006 work, i'm implementing interrupt
filtering for FreeBSD, and when the framework will be in place i'll
compare the performance of filters, against all the previous models:
pre-SMPng(4.x), ithread and polling.
The most important modifications to the src tree so far where:
* made PPC accepts more than one FAST handler per irq line
(previously INTR_FAST implied INTR_EXCL)
* converted all the INTR_FAST handlers to be filters: return an
error code to note what they did (FILTER_HANDLED/FILTER_STRAY) and
if they need more work to do (FILTER_SCHEDULE_THREAD)
* moved part of the interrupt execution code from MD code to
kern_intr.c::intr_filter_loop()
* broke newbus API: bus_setup_intr() grew a new filter parameter of
type "int driver_filter_t(void*)".
* converted all the bus that override bus_setup_intr() to handle
filters
* converted all the normal ithread driver to provide a NULL filter
funcion
The next milestone is to have all the different models (filters only,
ithread only and filter + ithread) work together reliably.
Open tasks:
1. Arm is largely untested
2. Sparc64 needs more work on low level (.s) interrupt routine
_________________________________________________________________
IPv6 cleanup
URL: http://sources.zabbadoz.net/freebsd/ipv6/
URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/bz/
ipv6
Contact: Bjoern A. Zeeb <bz at freebsd.org>
Initial changes include:
* Changed ip6_sprintf to no longer return a static buffer.
* Started to adopt in6_pcb* code to what we have for legacy IP.
Next steps will be to reduce the number of global variables and
caches.
Open tasks:
1. Cleanup code.
2. Make everything MPSafe.
3. Enhance things and add new features.
_________________________________________________________________
IPv6 Vulnerabilities
URL: http://wiki.freebsd.org/ClementLecigne
Contact: George Neville-Neil <gnn at freebsd.org>
Contact: Clément Lecigne <clemun at GMAIL.COM>
Clement has been working both with libnet and gnn's Python based
packet library (PCS) to produce code to test for vulnerabilities in
IPv6. To Clement has found some issues, all of which have been
reported to his mentor and to Security Officer at FreeBSD.org
Vulnerabilities will not be reported here.
Open tasks:
1. Get 0.1 of PCS on to SourceForge for wider use.
_________________________________________________________________
Jail Resource Limits
Contact: Chris Jones <cdjones at freebsd.org>
Project is in development with initial working software expected
mid-July 2006. CPU limits will be implemented with a hierarchical
scheduler: (initially) using a round-robin scheduler to select which
jail to run a task in and then delegating which task in the jail to be
run to a per-jail scheduler.
Open tasks:
1. Complete round-robin inter-jail scheduler (with existing 4BSD
schedulers implemented per jail).
2. Add hooks for memory tracking.
_________________________________________________________________
K Kernel Meta-Language
URL: http://wikitest.freebsd.org/SpencerWhitman
Contact: Spencer Whitman <joecat at cmu.edu>
Contact: Poul-Henning Kamp <phk at FreeBSD.ORG>
A simple lexer and parser have almost been completed. Also significant
planing for future additions to K have been thought up.
Open tasks:
1. Finish the lexer and parser
2. Implement the #! preprocessor function
3. Add lint like functionality to the preprocessor
4. Add style(9) checking to the preprocessor
5. Allow for detection of unused #includes
_________________________________________________________________
Linuxolator kernel update to match functionality of 2.6.x
URL: http://wiki.freebsd.org/RomanDivacky
Contact: Roman Divacky <rdivacky at freebsd.org>
Contact: Alexander Leidinger <netchild at freebsd.org>
FreeBSD linux emulation layer (linuxolator) currently implements most
of the functionality necessary to emulate 2.4.2 linux kernel, but
linux world has moved forward and current linux world requires 2.6.x
features. The aim of this SoC task is to make Fedora Core 4 linux-base
to be able to run with 2.6.x kernel. Currently this means extending
clone() syscall and implement pthread related things. This involves
TLS implementation (sys_set_thread_area syscall) and possibly tid
manipulation (used for pthread_join etc.) and finally futexes (linux
fast user-space mutexes implementation). This should enable
pthread-linked programs to work. After this is done there may be other
things necessary to implement however, only time will tell. I am
funded by google.com in their SoC to do this work and I'll continue to
work on this after the summer hopefully as a part of my MSc. thesis.
Open tasks:
1. Finish the TLS thing + other thread related things (tid comes to
mind and looks necessary for pthread to work)
2. Futexes also look necessary for pthread to work
3. maybe other things to be able to run basic programs under 2.6.16
linuxolator
_________________________________________________________________
Low-overhead performance monitoring tools
URL: http://wiki.freebsd.org/LibElf
URL: http://wiki.freebsd.org/PmcTools
URL: http://people.freebsd.org/~jkoshy/projects/perf-measurement/
Contact: Joseph Koshy <jkoshy at FreeBSD.org>
As an intermediate step towards implementing support for callgraphs
and cross-architecture performance measurements, I am creating a
BSD-licensed library for ELF parsing & manipulation. This library will
implement the SysV/SVR4 (g)ELF[3] API.
Current status: Implementation of the library is in progress. A
TET-based test suite for the API and manual pages documenting the
library's interfaces are being concurrently created.
Work is being done in FreeBSD's Perforce repository. I hope to be
ready for general review by the end of July '06.
Open tasks:
1. Reviewers are needed for the code and the test suite. If you have
extensions to the stock SysV/SVR4 ELF(3) API that you would like
to see in -lelf, please send mail.
_________________________________________________________________
Multi-IP v4/v6 jails
URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/bz/
jail
Contact: Bjoern A. Zeeb <bz at freebsd.org>
As an intermediate step until FreeBSD will have full network stack
virtualisation this work shall provide support for multi-IP IPv4/v6
jails.
These changes are based on Pawel Jakub Dawidek's work for multi-IPv4
jails and some initial work from Olivier Houchard for single-IPv6
jails.
The changes need some more testing but basically things work.
This is not considered to be the right thing todo so do not ask for
official support or if this will be committed to the FreeBSD source
repository.
After some more cleanup of non-jail related IPv6 changes I will
publish a patch for HEAD and perhaps RELENG_6 for everyone who wants
to give it a try anyway.
Open tasks:
1. (IPv6) related security checks.
2. Write some tests. Especially IPv6 changes need more testing.
3. Check what general changes might need merging to HEAD.
_________________________________________________________________
Nss-LDAP importing and nsswitch subsystem improvement
URL: http://wikitest.freebsd.org/LdapCachedDetailedDescription
URL: http://wikitest.freebsd.org/MichaelBushkov
Contact: Michael Bushkov <bushman at FreeBSD.org>
The basic goals of this SoC 2006 project are moving nsswitch-modules
out of the libc, extending the caching daemon and importing nss_ldap
into the base source tree. 2 milestones of the project are currently
completed.
1. Nss-modules were successfully moved out of the libc into the
separate dynamic libraries. In order for static binaries to work
properly (they can't use dynamic nss-modules), nss-modules are linked
statically into the libc.a. As the side-effect of nss-modules
separation, getipnodeby***() functions were rewritten to use
gethostby***() functions and not the nsdispatch(3) call. Caching
daemon's "perform-actual-lookups" option was extended to support all
implemented nsswitch databases.
2. A set of regressions tests was made to test nsswitch-related
functions. These tests are also capable of testing the stability of
these functions' behaviour after the system upgrade.
Open tasks:
1. Import nss_ldap into the sources tree.
2. Improve the caching daemon's performance.
_________________________________________________________________
pfSense
URL: http://www.pfsense.com
Contact: Scott Ullrich <sullrich at gmail.com>
pfSense is rapidly approaching release. We are down to a handfull of
bugs that should be fixed in the coming weeks. We should have a
release around the time of our 2nd annual hackathon which is taking
place on July 21st - July 28th. Many exciting sub-projects are taking
place within pfSense and the project is gaining new developers
monthly.
Open tasks:
1. http://cvstrac.pfsense.com/rptview?rn=6 lists the remaining open
bugs.
_________________________________________________________________
Ports Collection
URL: http://www.freebsd.org/ports/
URL:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports
/
URL: http://portsmon.FreeBSD.org/index.html
URL: http://people.freebsd.org/~fenner/portsurvey/
URL: http://beta.inerd.com/portscout/
URL: http://www.freebsd.org/portmgr/index.html
URL: http://tinderbox.marcuscom.com
Contact: Erwin Lansing <erwin at FreeBSD.org>
Contact: Mark Linimon <linimon at FreeBSD.org>
During this time, a huge number of ports PRs were committed, bringing
us back down below 800 for the first time since the 5.5/6.1 release
cycle. This is due to a great deal of work, especially from some of
our newest committers.
This is all the more notable given the fact that we have been adding
new ports at a rapidly accelerating rate. We have now exceeded the
15,000 port mark!
Three sets of changes have been added to the infrastructure, including
updates of default versions of MySQL, PHP, LDAP, and linux_base, and
numerous bugfixes and improvements. About 2 dozen portmgr PRs were
closed due to this.
In addition, a large-impact commit was made that attempts to move us
to a single libtool that is as unmodified from 'stock' libtool as we
can. Plans are also in place to do this for the autotools.
Several people are at work on implementing the modularised xorg ports.
Most of the work is done but several key pieces remain. Once this is
finished, an -exp regression test will be needed (most likely, more
than one :-) ) It is possible that before this we will need to do a
regression test that moves X11BASE back into LOCALBASE. This is still
under study.
Gabor Kovesdan started a Google Summer of Code project on some highly
needed improvements on the ports infrastructure (see elsewhere in this
report). As this is a long term project, gtetlow kindly imported the
most important ports infrastructure files into perforce to ease
development. Other developers are encouraged to use perforce for ports
development, especially as it can help keeping patches up-to-date
while going stale in GNATS. Even though linimon has been pushing hard
on running experimental builds on the test cluster, it will take some
time to work through the backlog.
erwin added a ports section to the list of projects and ideas for
volunteers at the FreeBSD website. Have a look if you want to work on
the ports system. Don't hesitate to send additional ideas, and
committers are encouraged to add themselves as technical contacts.
sem adopted portupgrade after it had been neglected for some time and
has been very active on upgrades and bugfixing.
dougb has continued to enhance his portmaster script and people are
finding success with it; although not designed to be as full-featured
as portupgrade, it does seem to be easier to understand and use.
shaun has contributed portscout, a scanner for updated distfiles, to
the ports collection.
marcus upgraded GNOME to 2.14.1.
As well, there have been new releases of the ports tinderbox code.
edwin has been hard at work on a PR-autoassigner for ports PRs, which
has saved a lot of time and been well-received. It has now been
installed on a freebsd.org machine (hub).
linimon has been more active in pursuing maintainer-timeouts, and has
reset a number of inactive maintainers, with more in the pipeline. The
intent is to try to reduce the number of PRs that sit around
unanswered for two weeks. In almost all cases the resets are due to no
response at all; maintainers who are merely "busy" are not the source
of most of these problems, and deserve the benefit of the doubt. Some
of the maintainers that have been reset haven't contributed in months
or even years.
We have added 10 (!) new committers since the last report.
Open tasks:
1. We need help getting back to our modern low of 500 PRs.
2. We have over 4,000 unmaintained ports (see, for instance, the list
on portsmon ). We are always looking for dedicated volunteers to
adopt at least a few ports.
3. We can always use help with infrastructural enhancements. See the
ports section of the list of projects and ideas .
_________________________________________________________________
PowerPC Port
URL: http://www.freebsd.org/platforms/ppc.html
Contact: Peter Grehan <grehan at freebsd.org>
The project is slowly starting to ramp up after a long move-induced
hiatus.
Alan Cox has almost completed making the pmap module Giant-free.
_________________________________________________________________
Release Engineering
URL: http://www.freebsd.org/releng/
URL: http://www.freebsd.org/releases/
URL: http://www.freebsd.org/snapshots/
Contact: Release Engineering Team <re at FreeBSD.org>
The release engineering (RE) team announced the availability of
FreeBSD 5.5 and 6.1, both in May 2006. FreeBSD 5.5 is the last planned
release from the RELENG_5 branch in CVS. For the most part, its main
features consist of bugfixes, security patches, and minor updates. We
encourage users to move towards the 6.x series of releases whenever
practical. FreeBSD 6.1 is the latest of the releases to come from the
RELENG_6 branch in CVS. It includes (among many other things) improved
support for WiFi devices, additional network and disk controller
drivers, and a number of fixes for filesystem stability. The next
release to be issued from this branch will be FreeBSD 6.2, which is
currently scheduled for September 2006.
The RE team is currently in a ``between releases'' mode. Current
activities include working with security-team@ on some errata fixes
for the RELENG_6_1 branch and producing snapshots of HEAD and RELENG_6
at the start of each month.
Several personnel changes have taken place recently. Scott Long has
stepped down from his position on the RE team; we thank him for his
considerable efforts over the past four years. In his place, Ken Smith
has taken over the role of lead release engineer. Bruce A. Mah has
rejoined the RE team after a two-year sabbatical.
_________________________________________________________________
SCTP Integration
URL: http://www.sctp.org/
Contact: George Neville-Neil <gnn at freebsd.org>
Contact: Randall Stewart <rrs at cisco.com>
For the last several months Randall Stewart has been working in HEAD
and STABLE to get us ready to integrate the SCTP protocol (Stream
Transmission Control Protocol) into FreeBSD. He is currently working
on a patch to share with a wider audience but needs to do some
integration work first. Randall has a provisional commit bit and will
be working with gnn on getting code committed to the HEAD of the tree.
Open tasks:
1. When this gets integrated it needs lots of testers.
_________________________________________________________________
Sound subsystem improvements
URL: http://people.FreeBSD.org/~ariff/
URL: http://www.FreeBSD.org/projects/ideas/
URL: http://www.leidinger.net/FreeBSD/hdac_20060525.tbz
Contact: Ariff Abdullah <ariff at FreeBSD.org>
Contact: Alexander Leidinger <netchild at FreeBSD.org>
Contact: Multimedia Mailinglist <multimedia at FreeBSD.org>
Since the last status report we fixed some more bugs, added basic
support for envy24 chips and cleaned up the source for the emu10kx
driver in the ports to make it ready for import into the base system.
We also got some patches with a little bit of infrastructure for Intel
HDA support. It's not finished and also not usable by end users yet.
Open tasks:
1. Have a look at the sound related entries on the ideas list.
2. sndctl(1): tool to control non-mixer parts of the sound system
(e.g. spdif switching, virtual-3D effects) by an user (instead of
the sysctl approach in -current); pcmplay(1), pcmrec(1),
pcmutil(1).
3. Plugable FEEDER infrastructure. For ease of debugging various
feeder stuff and/or as userland library and test suite.
4. Support for new hardware (envy24, Intel HDA).
_________________________________________________________________
SSE2 Kernel support
URL: http://www.freebsd.org/projects/ideas/#p-memcpy
URL:
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/arch/2006-05/msg00109.
html
Contact: Attilio Rao <attilio at freebsd.org>
Some FPU system and kernel memcpy/copyin/copyout changes have been
performed. In particular, a per-CPU save area has been introduced
(protected with an interlock) in order to assure a stable saving
mechanism. copyout/copyin have changed in order to use vectorised
version of memcpy and an xmm version of memcpy has been provided.
Open tasks:
1. Benchmarks on different versions of xmm copy, in particular
showing differences between UP and SMP architectures (evaluating
possibility to add block prefetch, non-temporal hints usage, etc.)
2. Modifying npxdna trap handler in order to recognise xmm
environment usage and replace fxsave with 8-movdqa
_________________________________________________________________
TrustedBSD Audit
URL: http://www.TrustedBSD.org/audit.html
Contact: Robert Watson <rwatson at FreeBSD.org>
Contact: Wayne Salamon <wsalamon at FreeBSD.org>
Contact: Christian Peron <csjp at FreeBSD.org>
TrustedBSD Audit provides fine-grained security event auditing in
FreeBSD 7.x, with a planned merge to 6.x for FreeBSD 6.2. Work
performed in the last three months:
* Per audit pipe preselection allows IDS applications to configure
audit record selection per-pipe, new auditpipe.4 document.
* audit_submit library call to reduce complexity of adding audit
support to applications.
* Significant cleanup, bug fixing, locking improvements, token
parsing and generation improvements.
* Solaris subject token compatibility, extended address support.
* Auditing of extended attributes calls, ACL support a work in
progress.
* OpenBSM 1.0 alpha 7 integrated into CVS.
* OpenBSM test tools in progress.
* Experimental auditeventd which allows shared object plug-ins to
subscribe to live audit events via a shared pipe in order to
support the easy authoring of simple intrusion detection and
monitoring components.
Open tasks:
1. Bring audit event daemon API and implementation to maturity.
Currently these are not installed by default in the CVS-merged
version.
2. Complete system call coverage.
3. Allow finer-grained configuration of what is audited: implement
control flags regarding paths, execve arguments, environmental
variables.
4. Support for auditing MAC policy data.
5. Additional user space application coverage, such as application
layer audit events from adduser, rmuser, pw, etc.
_________________________________________________________________
Update of the Linux userland infrastructure in the Ports Collection
Contact: Boris Samorodov <bsam at FreeBSD.org>
Contact: Alexander Leidinger <netchild at FreeBSD.org>
Contact: Emulation Mailinglist <emulation at FreeBSD.org>
We updated the default linux base port to Fedora Core 4 and the
default linux X11 libs port to the X.org RPM in FC4.
An update to FC5 or FC6 has to wait until the kernel got support for
syscalls of a newer linux kernel. See the corresponding SoC project
report for more.
_________________________________________________________________
Wireless Networking
Contact: Sam Leffler <sam at errno.com>
The wireless suport has been stable for a while so most work has
focused on bug fixing and improving legacy drivers.
Max Laier and I worked on improving support for Intel wireless cards.
The results of this work included significant improvements to the
iwi(4) driver (for 2195/2200 parts) and the firmware(9) facility for
managing loadable device firmware. There is also an updated ipw(4)
that has improvements similar to those done for iwi that is in early
test. Support for the latest Intel devices, the 3945 pci-express
cards, is planned for later this summer.
Atheros support was updated with a new hal that fixes a few minor
issues and provides known working builds for SPARC, PPC, and ARM
platforms. There is also working MIPS support that will be used when
the MIPS port is ready to test. Otherwise one useful bug was fixed
that affected AP operation with associated stations operating in power
save mode.
wpa_supplicant and hostapd were updated to the latest stable build
releases from Jouni Malinen.
Experimental changes to support injection of raw 802.11 frames using
bpf were posted for comment. This work was done in collaboration with
Andrea Bittau.
Open tasks:
1. Legacy drivers such as wi are languishing and need maintainers.
This is prerequisite to bringing in new 802.11 features such as
improved scanning and virtual ap.
_________________________________________________________________
XFS for FreeBSD
URL: http://people.freebsd.org/~rodrigc/xfs/
Contact: Russell Cattelan <cattelan at xfs.org>
Contact: Alexander Kabaev <kan at freebsd.org>
Contact: Craig Rodrigues <rodrigc at freebsd.org>
The XFS for FreeBSD project is an effort to port the publically
available GPL'd sources to SGI's XFS filesystem to FreeBSD.
In December, we imported a version of XFS into FreeBSD-CURRENT which
allows FreeBSD to mount an XFS filesystem as read-only.
As a side effort, we have been continuing on the work that PHK started
to clean up the mount code in FreeBSD. We can use the existing FreeBSD
mount(8) utility to mount an XFS partition, without introducing a new
mount_xfs utility.
Open tasks:
1. We need to implement support for writing to XFS partitions
_________________________________________________________________
xscale board buy
URL: http://www.gateworks.com/avila_gw2348_4.htm
URL: http://www.netgate.com
Contact: Sam Leffler <sam at errno.com>
With the help of Jim Thompson of Netgate ( http://www.netgate.com/ )
the FreeBSD Foundation arranged a purchase of xscale-based boards for
folks interested in ARM support. Developers were able to purchase
boards at a reduced cost. The goals were to accelerate and/or improve
support for the ARM platform and to set forth at least one board as a
reference platform for the ARM support. Netgate will be stocking
lower-cost models of the board later in the year (a special order was
made for boards with only 2 mini-pci slots).
_________________________________________________________________
Legal Notices | © 1995-2006 The FreeBSD Project. All rights reserved.
More information about the freebsd-current
mailing list