BSDftpd-ssl is a secure and easy-to-use FTP server that supports industry standard TLS/SSL encryption and authentication for whole FTP sessions and data transfers. This implementation supports both the original FTP protocol and the RFC2228-compliant TLS/SSL enhancement. The package contains the secure FTP server (named "ftpd") and a command line TLS/SSL-aware FTP client (named "ftps"). The server's features include logging of transfers, changing of a session root (known as "chroot"), and virtual host support.
Botan is a crypto library written in C++. It provides a variety of cryptographic algorithms, including common ones such as AES, MD5, SHA, HMAC, RSA, Diffie-Hellman, DSA, and ECDSA, as well as many others that are more obscure or specialized. It also offers SSL/TLS (client and server), X.509v3 certificates and CRLs, and PKCS #10 certificate requests. A message processing system that uses a filter/pipeline metaphor allows for many common cryptographic tasks to be completed with just a few lines of code. Assembly and SIMD optimizations for common CPUs offers speedups for critical algorithms like AES and SHA-1.
C/Invoke is a library which can call C functions at runtime with no prior knowledge of the function prototypes. This capability is used to allow any language to call native libraries without writing a separate module in C, similar to the P/Invoke functionality of the .NET framework.
CrissCross is a small cross-platform C++ library for console and file I/O, CPU identification (CPUID), hashing (MD2, MD4, MD5, SHA-1, SHA-256, SHA-512, Tiger), sockets (TCP and UDP only currently), and data structures (LList, DArray, RedBlackTree, AVLTree, SplayTree, etc). It is designed to run on Windows, Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, and even the Nintendo DS. Other platforms may become supported upon request. The main idea is to provide the ability to write a program using identical calls on the major platforms without needing to rewrite code.
Das Schaefchen is a lightweight HTTP server and proxy for Unix platforms. It supports the minimum requirements of the HTTP/1.1 protocol and virtual hosts, basic authentication (which can be used to protect either files or directories), directory listing, byte ranges, reverse proxy, and FastCGI. It is an event-driven server that runs as a single process with a single thread using non-blocking I/O. It uses epoll as the event notification mechanism to multiplex control between active connections.