CIL is a frontend for the C programming language which facilitates program analysis and transformation. CIL will parse and typecheck a program, and compile it into a simplified subset of C. For example, in CIL, all looping constructs are given a single form and expressions have no side effects. This reduces the number of cases which must be considered when manipulating a C program. CIL has been used for a variety of projects, including CCured, a tool which makes C programs memory safe. It supports ANSI C, as well as most of the extensions of the GNU C and Microsoft C compilers. A Perl script acts as a drop-in replacement for either gcc or Microsoft's cl, and allows merging of the source files in your project. Other features include support for control-flow and points-to analyses.
CCured is a source-to-source translator for C. It analyzes the C program to determine the smallest number of run-time checks that must be inserted in the program to prevent all memory safety violations. The resulting program is memory safe, meaning that it will stop rather than overrun a buffer or scribble over memory that it shouldn't touch. Many programs can be made memory-safe this way while losing only 10-60% run-time performance. CCured can find more bugs that Purify misses but with much less run-time cost.
trickle is a lightweight, portable, per-application bandwidth shaper. It works in collaboration, has peak detection, and does smoothing. trickle works entirely in userland and does not require root to run. It has been developed on OpenBSD and is known to run on Linux, FreeBSD, and Solaris.
NNTPSwitch is a Linux NNTP content router. It's aimed at high-performance news servers for ISPs and Usenet resellers. NNTPSwitch forwards client connections to multiple backend servers to get its actual articles. Depending on the backend server type, all NNTP commands and extensions are supported, including (remote) authorization. Accounting is supported in a user-friendly matter for data limited NNTP connections.
FileType is a file type detection engine written in C. It will appeal to coders looking for functionality similar to that provided by the 'file' command. FileType is compact (less than 20K binary), efficient, and very portable. FileType is part of the family of software created from the commercial Xamime email filtering project.
Yasm is a complete rewrite of the NASM assembler. It currently supports the x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, COFF, Mach-O (32 and 64), RDOFF2, Win32, and Win64 object formats, and generates source debugging information in STABS, DWARF 2, and CodeView 8 formats.
Damascus is a GTK+ 2.x client for the Gale communication protocol. It is somewhat modelled after IM/ICQ-style interfaces. If you don't know what Gale is, this client probably won't be very useful; you need a valid Gale key to send anything, and Damascus can't generate them (yet). Gale is also scary and confusing.