Mega update:
- Remove deadlines from the "kbdmux" and "SMP kernels for install" entries, since they have expired. - The development of csup seems to have picked up a lot during the last few weeks, so update this entry somewhat. Also, csup is available as a port now, so add a small note about that too. - Add a note about the development of Magic symlinks in Perforce. - New entry: Extract the partition and slice table editor from sysinstall. - New entry: Add some more information in the ktrace(1)/kdump(1) output. - New entry: Bring wi(4) up to par with the current state of affairs in the WLAN infrastructure. - New entry: Re-factor Apple Talk into a kernel module. - New entry: Move NIS/YP out of libc into a NSS module. - New entry: Move HESIOD out of libc into a NSS module. - New entry: Import NSS LDAP support into the base system. - New entry: Rewrite the in-kernel filesystem syncer and modernize the write behind code. - New entry: Add support for NO_* switches to "make delete-old". - Various wordsmithing and cleanups. A lot of stuff submitted by: netchild
This commit is contained in:
parent
a41b03238b
commit
334598cb14
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=27006
1 changed files with 224 additions and 15 deletions
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
|
||||
<!ENTITY base CDATA "../..">
|
||||
<!ENTITY date "$FreeBSD: www/en/projects/ideas/index.sgml,v 1.15 2006/01/17 11:20:25 joel Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/projects/ideas/index.sgml,v 1.16 2006/01/23 12:01:29 joel Exp $">
|
||||
<!ENTITY title "FreeBSD list of projects and ideas for volunteers">
|
||||
<!ENTITY % navincludes SYSTEM "../../includes.navdocs.sgml"> %navincludes;
|
||||
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
|
||||
|
@ -90,6 +90,16 @@
|
|||
<li><a href="#p-algopowerd">Implement and profile various algorithms for
|
||||
powerd</a></li>
|
||||
<li><a href="#p-modrefcnt">Dynamic module references</a></li>
|
||||
<li><a href="#p-ktrace">Add some more information in the
|
||||
ktrace(1)/kdump(1) output.</a></li>
|
||||
<li><a href="#p-hesiodlibc">Move HESIOD out of libc into a NSS
|
||||
module</a></li>
|
||||
<li><a href="#p-nisyplibc">Move NIS/YP out of libc into a NSS
|
||||
module</a></li>
|
||||
<li><a href="#p-impnssldap">Import NSS LDAP support into the base
|
||||
system.</a></li>
|
||||
<li><a href="#p-rewritesyncer">Rewrite the in-kernel filesystem syncer and
|
||||
modernize the write behind code</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Networking</h3>
|
||||
|
@ -104,6 +114,9 @@
|
|||
<li><a href="#p-wpa2preauth">WPA2 preauthentication support in
|
||||
hostapd</a></li>
|
||||
<li><a href="#p-iapp">IAPP preauthentication support in hostapd</a></li>
|
||||
<li><a href="#p-wi">Bring wi(4) up to par with the current state of affairs
|
||||
in the WLAN infrastructure</a></li>
|
||||
<li><a href="#p-appletalk">Re-factor Apple Talk into a kernel module</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Security</h3>
|
||||
|
@ -115,10 +128,14 @@
|
|||
<ul>
|
||||
<li><a href="#p-smpinstall">SMP kernels for install</a></li>
|
||||
<li><a href="#p-sysinstall">Small sysinstall renovation</a></li>
|
||||
<li><a href="#p-sysinstall2">Extract the partition and slice table editor
|
||||
from sysinstall</a></li>
|
||||
<li><a href="#p-pxeinstaller">Bundled PXE Installer</a></li>
|
||||
<li><a href="#p-regression">Improve our regression testing system</a></li>
|
||||
<li><a href="#p-performancetracking">Tracking performance over time</a></li>
|
||||
<li><a href="#p-ndmp">Write a NDMP data server</a></li>
|
||||
<li><a href="#p-noswitches">Add support for NO_* switches to
|
||||
"make delete-old"</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Additional Information</h3>
|
||||
|
@ -182,7 +199,8 @@
|
|||
bin/varsym/varsym.c).</p>
|
||||
<p><a href="mailto:bu7cher@yandex.ru">Andrey V. Elsukov</a> has begun porting
|
||||
this to FreeBSD, and some initial patches for CURRENT can be found <a
|
||||
href="http://butcher.heavennet.ru/patches/kernel/varsym/">here</a>.</p>
|
||||
href="http://butcher.heavennet.ru/patches/kernel/varsym/">here</a>.
|
||||
There is also some on-going development in Perforce.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Ability to read and understand foreign C code.</li>
|
||||
|
@ -209,12 +227,11 @@
|
|||
<h2>Working kbdmux</h2>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:emax@FreeBSD.org">&a.emax;</a></p>
|
||||
<p><strong>Deadline</strong>: January 31</p>
|
||||
<p>We need this for the growing number of systems that
|
||||
assume that USB is the primary keyboard. Current status appears to be
|
||||
that the kbdmux driver breaks very easily. We need this working well
|
||||
enough where it can be enabled by default, and all attached keyboards
|
||||
Just Work. This needs to be resolved before FreeBSD 6.1.</p>
|
||||
Just Work. This needs to be resolved as soon as possible.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>C knowledge.</li>
|
||||
|
@ -688,7 +705,7 @@
|
|||
|
||||
<a name="p-modrefcnt"></a>
|
||||
<h2>Dynamic module references</h2>
|
||||
<p><strong>Technical contacts</strong>: <a
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:sam@FreeBSD.org">&a.sam;</a></p>
|
||||
<p>Kernel modules may have dynamic references created during operation.
|
||||
For example net80211 key entries reference functions in the crypto module
|
||||
|
@ -705,21 +722,137 @@
|
|||
|
||||
<hr>
|
||||
|
||||
<a name="p-ktrace"></a>
|
||||
<h2>Add some more information in the ktrace(1)/kdump(1) output</h2>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:netchild@FreeBSD.org">&a.netchild;</a></p>
|
||||
<p>The ktrace(1) facility allows to monitor what running processes do. It
|
||||
allows to determine if a process is stuck or if it still does useful work.
|
||||
The goal of this item is to look at the kernel interfaces, add missing
|
||||
"pieces" (e.g. syscall's) to the ktrace output and to extend the output
|
||||
with "decoded" (translating hex/dec values into human readable
|
||||
information, e.g. O_RDONLY in the case of open(2)) information.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of C.</li>
|
||||
<li>Good knowledge of POSIX interfaces or how to use man(1).</li>
|
||||
<li>No fear to look into the kernel sources.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-hesiodlibc"></a>
|
||||
<h2>Move HESIOD out of libc into a NSS module</h2>
|
||||
<p>Currently HESIOD is build statically into libc. Since LDAP is more
|
||||
popular today, it isn not necessary to provide this name service to
|
||||
every consumer of libc by default.</p>
|
||||
<p><strong>Benefits</strong>:</p>
|
||||
<ul>
|
||||
<li>Less code linked to every application.</li>
|
||||
<li>Less complexity in libc.</li>
|
||||
<li>More flexibility for system administrators.</li>
|
||||
<li>More consistent use of subsystems (NSS).</li>
|
||||
<li>Allows to slim down libc further by moving XDR, RPC and the DNS
|
||||
code into a separate libraries (may depend upon the NIS/YP -> NSS
|
||||
entry).</li>
|
||||
</ul>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of C.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-nisyplibc"></a>
|
||||
<h2>Move NIS/YP out of libc into a NSS module</h2>
|
||||
<p>Currently NIS/YP is build statically into libc. Since LDAP is more
|
||||
popular today, it is not necessary to provide this name service to
|
||||
every consumer of libc by default.</p>
|
||||
<p><strong>Benefits</strong>:</p>
|
||||
<ul>
|
||||
<li>Less code linked to every application.</li>
|
||||
<li>Less complexity in libc.</li>
|
||||
<li>More flexibility for system administrators.</li>
|
||||
<li>More consistent use of subsystems (NSS).</li>
|
||||
<li>Allows to slim down libc further by moving XDR, RPC and the YP
|
||||
code into a separate libraries (may depend upon the HESIOD -> NSS
|
||||
entry).</li>
|
||||
</ul>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of C.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-impnssldap"></a>
|
||||
<h2>Import NSS LDAP support into the base system</h2>
|
||||
<p>Since LDAP is very popular today, it would be beneficial to have
|
||||
NSS-LDAP support available by default. The NSS license should however be
|
||||
investigated first.</p>
|
||||
<p><strong>Benefits</strong>:</p>
|
||||
<ul>
|
||||
<li>Better user management support in large scale environments out of
|
||||
the box.</li>
|
||||
<li>Better user management support if heterogeneous environments out of
|
||||
the box.</li>
|
||||
<li>Allows further work for better integration with Active Directory.</li>
|
||||
<li>Allows further work to enhance the FreeBSD installation process
|
||||
(guided configuration of the LDAP part).</li>
|
||||
</ul>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of C.</li>
|
||||
<li>Knowledge of NSS and LDAP.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-rewritesyncer"></a>
|
||||
<h2>Rewrite the in-kernel filesystem syncer and modernize the write behind
|
||||
code.</h2>
|
||||
<p><strong>References</strong>: <a
|
||||
href="http://lists.freebsd.org/mailman/htdig/freebsd-arch/2005-March/003594.html">mail
|
||||
#1</a>, <a
|
||||
href="http://lists.freebsd.org/mailman/htdig/freebsd-performance/2005-February/001083.html">mail
|
||||
#2</a></p>
|
||||
<p><strong>Goals</strong>:</p>
|
||||
<ul>
|
||||
<li>Change the syncer so it can sync out to multiple physical devices
|
||||
simultaneously.</li>
|
||||
<li>Only write out up to X megabytes of data, remember where it
|
||||
left off, and then proceed to the next dirty file (OpenBSD and
|
||||
NetBSD already do this).</li>
|
||||
<li>Replace the write_behind code with something (detect the existence
|
||||
of a large amount of sequential dirty data and kick another thread
|
||||
to flush it out synchronously, instead of doing it itself
|
||||
asynchronously) integrated into the syncer (the data set size could
|
||||
perhaps be increased from 64KB to 1MB).</li>
|
||||
</ul>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Ability to read and understand foreign C code.</li>
|
||||
<li>Ability to write C code.</li>
|
||||
<li>Some understanding of the VM system / buffer cache.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-csup"></a>
|
||||
<h2>Contribute to the Csup project</h2>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:mux@FreeBSD.org">&a.mux;</a></p>
|
||||
<p><strong>URL's</strong>: <a
|
||||
href="http://mu.org/~mux/csup.html">Csup homepage</a>, <a
|
||||
href="http://www.freebsd.org/cgi/cvsweb.cgi/projects/csup/">CVSWeb</a>, <a
|
||||
href="http://wikitest.freebsd.org/moin.cgi/ChristophMathys">FreeBSD Csup SoC
|
||||
project</a></p>
|
||||
href="http://www.freebsd.org/cgi/cvsweb.cgi/projects/csup/">CVSWeb</a>
|
||||
</p>
|
||||
<p>Csup is a rewrite of CVSup in C, mainly developed by &a.mux;. A rewrite in
|
||||
C would allow the FreeBSD project to include the functionality of CVSup into
|
||||
the FreeBSD base system, instead of shipping it as a separate package.
|
||||
During the Google summer of code 2005, the Csup project received help from
|
||||
Christoph Mathys which resulted in a set of patches that awaits integration
|
||||
with Csup. You can find snapshots of Csup and the patches from Christoph,
|
||||
You can find snapshots of Csup,
|
||||
along with a CVSWeb interface to the code and much more by following the
|
||||
links above.</p>
|
||||
links above. Csup is also available from the Ports Collection, which should
|
||||
make it somewhat easier for curious people to test.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Strong knowledge of C.</li>
|
||||
|
@ -865,6 +998,49 @@
|
|||
|
||||
<hr>
|
||||
|
||||
<a name="p-wi"></a>
|
||||
<h2>Bring wi(4) up to par with the current state of affairs in the WLAN
|
||||
infrastructure</h2>
|
||||
<p>Many new and useful features (e.g. crypto protocols like WPA) of the WLAN
|
||||
infrastructure in the kernel are not used in wi(4). While wi(4) cards are
|
||||
old and can not compete with recent wireless cards, they are still in use in
|
||||
a lot of places. The goal of this item is to examine the WLAN infrastructure
|
||||
and other WLAN drivers in the tree for nice features and port/use them in
|
||||
the wi(4) driver.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of C.</li>
|
||||
<li>No fear to "use the source Luke" and to have a look at undocumented
|
||||
parts of the kernel.</li>
|
||||
<li>At least one wi(4) card and one other wireless device to test
|
||||
against.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-appletalk"></a>
|
||||
<h2>Re-factor Apple Talk into a kernel module</h2>
|
||||
<p>At the moment the Apple Talk protocol is only available as a compile time
|
||||
option. The goal of this item is to allow to load the Apple Talk protocol
|
||||
at runtime (as part of netgraph or as a "standalone" module) and to add
|
||||
appropriate locking (as a start even a generic subsystem lock would be ok,
|
||||
more fine grained locking can be added later).</p>
|
||||
<p><strong>Benefits</strong>:</p>
|
||||
<ul>
|
||||
<li>No need to rebuild the kernel.</li>
|
||||
<li>No speed decrease of other network protocols when Apple Talk is used
|
||||
(because of degrading the entire network stack into non-MPSAFE mode).</li>
|
||||
</ul>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of C.</li>
|
||||
<li>Knowledge of Apple Talk.</li>
|
||||
<li>Knowledge of the network stack.</li>
|
||||
<li>Maybe knowledge of netgraph.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-securemines"></a>
|
||||
<h2>SecureMines</h2>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
|
@ -885,7 +1061,6 @@
|
|||
|
||||
<a name="p-smpinstall"></a>
|
||||
<h2>SMP kernels for install</h2>
|
||||
<p><strong>Deadline</strong>: January 31</p>
|
||||
<p>Right now we only install a UP kernel, for
|
||||
performance reasons. We should be able to package both a UP and SMP
|
||||
kernel into the release bits, and have sysinstall install both. It
|
||||
|
@ -898,7 +1073,7 @@
|
|||
case, the point is to make the process Just Work for the user, without
|
||||
the user needing to know arcane loader/sysctl knobs. SMP laptops are
|
||||
here, and we should be ready to support SMP out-of-the-box. This needs
|
||||
to be resolved before FreeBSD 6.1.</p>
|
||||
to be resolved as soon as possible.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Good knowledge of C.</li>
|
||||
|
@ -930,6 +1105,25 @@
|
|||
|
||||
<hr>
|
||||
|
||||
<a name="p-sysinstall2"></a>
|
||||
<h2>Extract the partition and slice table editor from sysinstall</h2>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:netchild@FreeBSD.org">&a.netchild;</a></p>
|
||||
<p>The partition and slice table editor in sysinstall is not only useful at
|
||||
system installation time, it is also a nice tool to handle new disks in an
|
||||
already setup system. The goal of this entry is to extract (and perhaps
|
||||
enhance) this editor from sysinstall into a standalone tool. This allows us
|
||||
to remove sysinstall when the new installer enters the tree without loosing
|
||||
nice functionality. Additionally novice users cannot shoot themselves in the
|
||||
foot by accidentally triggering the wrong actions in unrelated parts of
|
||||
sysinstall.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of C.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-pxeinstaller"></a>
|
||||
<h2>Bundled PXE Installer</h2>
|
||||
<p>It would be great to have a bundled PXE installer. This would allow one to
|
||||
|
@ -956,7 +1150,7 @@
|
|||
</ul>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Good knowledge of scripting languages (perl preferred).</li>
|
||||
<li>Good knowledge of scripting languages (Perl preferred).</li>
|
||||
<li>Good knowledge of software testing.</li>
|
||||
</ul>
|
||||
|
||||
|
@ -1006,6 +1200,21 @@
|
|||
|
||||
<hr>
|
||||
|
||||
<a name="p-noswitches"></a>
|
||||
<h2>Add support for NO_* switches to "make delete-old"</h2>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:netchild@FreeBSD.org">&a.netchild;</a></p>
|
||||
<p>The new "delete-old" and "delete-old-libs" target in /usr/src for 6.1 and
|
||||
-current should be extended to support the NO_* knobs, e.g. NO_RESCUE or
|
||||
NO_CRYPT, and delete files which are covered by those knobs.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Time to build and install the world several times.</li>
|
||||
<li>A way to determine which files were not touched by an installworld.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<a name="p-projects"></a>
|
||||
<h2>Projects at FreeBSD.org</h2>
|
||||
<p>Additional projects may be found by browsing the <a
|
||||
|
|
Loading…
Reference in a new issue