GSoC/GCI Archive
Google Summer of Code 2010

The NetBSD Foundation

Web Page: http://www.netbsd.org/contrib/soc-projects.html

Mailing List: http://www.netbsd.org/mailinglists/

NetBSD is a free, secure, and highly portable Unix-like Open Source operating system available for many platforms, from 64-bit Opteron machines and desktop systems to handheld and embedded devices. Its clean design and advanced features make it excellent in both production and research environments, and it is user-supported with complete source. Many applications are easily available through pkgsrc, the NetBSD Packages Collection.

Projects

  • Audit, unit testing and improvements of the NetBSD math library. The goal of this project is to audit the NetBSD math library, produce a comprehensive test suite and improve missing bits such as unimplemented functions or floating point exceptions and errno support.
  • Implementing HTTP support for libsa libsa is the shared code for the bootloaders. currently, tftp is widely used to load the initial kernel if the block-device is not available yet (for example, for AoE/iSCSI). tftp uses udp by default, and the protocol itself does not define nor use any kind of authentication. having HTTP support would be a great ease for testing images. the project would involve writing/porting a minimalistic TCP stack.
  • mandoc -Tps mandoc -Tps is missing. While mandoc is fast becoming byte-compatible with GNU troff for terminal output (-Tascii) and has advanced X/HTML output (-Thtml, -Txhtml), there does not yet exist PostScript output (-Tps). I propose implementing -Tps, initially as a shim over terminal output, then, with this milestone complete, bringing in more typographic awareness (variable-font, justification, etc.).
  • Provide support for dynamic NetBSD kernel extensions using the Lua language - Lunatik/NetBSD This project has the goal to develop a framework to provide support for dynamically extending the NetBSD kernel using the Lua programming language. I intend to allow adaptation of the kernel and its subsystems for different purposes at runtime, through download of Lua scripts and exposure of kernel internals to Lua. Moreover, this framework will provide support for rapid prototyping and experimentation with new algorithms and mechanisms inside the kernel.
  • Remote kernel debugging over Ethernet At present, remotely debugging a NetBSD kernel requires a RS-232 serial connection. New computers are sold without serial ports, but always have integrated network interface cards. Being able to debug NetBSD kernels remotely using an Ethernet NIC is highly desirable. The goal of my project is to add support for remote kernel debugging over Ethernet interfaces for i386 and amd64 (without deliberately obstructing implementation for other ports).
  • SASL client library Simple Authentication and Security Layer is a framework dedicated to internet protocols for an authentication and a data security. SASL is widely used in many protocols i.e. SMTP, IMAP, XMPP. My proposal is to write robust client library focused on security and usability.