Courier is a modular multiprotocol mail server that's designed to
strike a balance between reasonable performance, flexibility and
features:
* Can be configured to function as an intermediate mail relay, or
as a mail server that receives mail for one or more domains, or
anything in between.
* Web-based administration and configuration tool.
* Uses an efficient maildir format as its native mail storage
format. Some support is provided for legacy mbox mailboxes.
* STARTTLS ESMTP extension (as well as IMAP/POP3/Webmail over SSL)
in both the client and the server (requires OpenSSL). The ESMTP
client can optionally require that the remote server's X.509
certificate is signed by a trusted root CA (a default set of
root CAs is provided).
* Mailboxes can be accessed via POP3, IMAP, SMAP, and HTTP.
* A faxmail gateway that forwards E-mail messages via fax.
* Courier includes a mailing list manager.
* PAM, LDAP, PostgreSQL, or MySQL authentication.
* Authenticated SMTP.
* Integrated mail filtering.
Perdition is a mail retrieval proxy that allows users to connect to a
content-free POP3 or IMAP4 server that will redirect them to their real
POP3 or IMAP4 server. This enables mail retrieval for a domain to be
split across multiple backend servers on a per user basis. It can also
be used as a POP3 or IMAP4 proxy in firewall applications.
Perdition supports arbitrary library based map access to determine the
server for each user - POSIX regex, GDBM, PostgreSQL, MySQL, NIS and
OpenLDAP libraries ship with the distribution.
The use of perditon to scale mail services beyond a single box is discussed
in a paper the author wrote on high capacity email, so be sure to check the
web page.
MasqMail is a mail server designed for hosts that do not have a permanent
internet connection eg. a home network or a single host at home. It has
special support for connections to different ISPs. It replaces sendmail or
other MTAs such as qmail or exim.
Features
* Delivers only when online to a destination 'outside' your LAN
* Support for multiple Providers (ie. Mail Servers, or direct delivery)
* Rewriting of Return addresses (Return-Path:, From:, Reply-To:),
configurable for each Provider separately
* can also be used as a Mail Server on a LAN
* alias support
* delivery to pipes
* delivery to MDAs (eg. procmail)
* Maildir support (version >= 0.2.5)
* routing depending on sender
* AUTH (RFC 2554) support (as client, since version 0.1.0)
* SMTP-after-POP
* POP3 client
* POP3 client daemon (fetch mail in regular intervals if online)
MiniSat is a minimalistic, open-source SAT solver, developed to help
researchers and developers alike to get started on SAT. It is released under
the MIT licence, and is currently used in a number of projects.
Some key features of MiniSat:
- Easy to modify. MiniSat is small and well-documented, and possibly also
well-designed, making it an ideal starting point for adapting SAT based
techniques to domain specific problems.
- Highly efficient. Winning all the industrial categories of the SAT 2005
competition, MiniSat is a good starting point both for future research in SAT,
and for applications using SAT.
- Designed for integration. MiniSat supports incremental SAT and has
mechanisms for adding non-clausal constraints. By virtue of being easy to
modify, it is a good choice for integrating as a backend to another tool, such
as a model checker or a more generic constraint solver.
PLplot is a library of C functions that are useful for making scientific
plots from a program written in C, C++, or Fortran. The PLplot library
can be used to create standard x-y plots, semilog plots, log-log plots,
contour plots, 3D plots, mesh plots, bar charts and pie charts. Multiple
graphs (of the same or different sizes) may be placed on a single page
with multiple lines in each graph. Different line styles, widths and
colors are supported. A virtually infinite number of distinct area fill
patterns may be used. There are almost 1000 characters in the extended
character set. This includes four different fonts, the Greek alphabet and
a host of mathematical, musical, and other symbols. The fonts can be
scaled to any desired size. A variety of output devices are supported and
new devices can be easily added by writing a small number of device
dependent routines.
Table.el is an Emacs lisp package that extends Emacs and provides text
based table creation and editing feature. With this package Emacs is
capable of editing tables that are embedded inside a document, the
feature similar to the ones seen in modern WYSIWYG word processors. A
table is a rectangular text area consisting from a surrounding frame
and content inside the frame. The content is usually subdivided into
multiple rectangular cells, see the actual tables used below in this
document. Once a table is recognized, editing operation inside a table
cell is confined into that specific cell's rectangular area. This
means that typing and deleting characters inside a cell do not affect
any outside text but introduces appropriate formatting only to the
cell contents. If necessary for accommodating added text in the cell,
the cell automatically grows vertically and/or horizontally.
Net::Jabber
The Jabber Instant Messaging project is an Open Source project seeking
to provide a complete cross protocol messaging solution. The problem
with current IM solutions is that they are all proprietary and cannot
talk to each other. Jabber seeks to get rid of those barriers by
allowing a Jabber client to talk with an AOL user, or an IRC chat room,
or any number of other programs.
For more information about the Jabber project visit
Net::Jabber is a collection of Perl modules that provide a Perl Developer
access to the Jabber protocol. Using OOP modules we provide a clean
interface to writing anything from a full client to a simple protocol
tester.
Vertex is an implementation of the Q2Q protocol (sort of like P2P, but one
better). There are a few moving parts in Vertex:
* PTCP: a protocol which is nearly identical to TCP, but which runs over
UDP. This lets Q2Q penetrate most NAT configurations.
* JUICE ([JU]ice [I]s [C]oncurrent [E]vents): a very simple but immensely
flexible protocol which forms the basis of the high-level aspects of Q2Q
* vertex: a command line tool which exposes a few features useful in many
situations (such as registration and authentication)
The Q2Q network has some decentralized features (there is no one server or
company which can control all Q2Q addresses) and features of centralization
(addresses beneath a particular domain are issued by a server for that domain;
once issued, some activities require the server to be contacted again, while
others do not). Vertex includes an identity server capable of hosting Q2Q
addresses.
RTG is a flexible, scalable, high-performance SNMP statistics monitoring
system. It is designed for enterprises and service providers who need to
collect time-series SNMP data from a large number of targets quickly. All
collected data is inserted into a relational database that provides a common
interface for applications to generate complex queries and reports. RTG
includes utilities that generate configuration and target files, traffic
reports, 95th percentile reports and graphical data plots. These utilities may
be used to produce a web-based interface to the data.
The unique features of RTG are:
* Runs as a daemon, incurring no cron or kernel startup overhead
* Written entirely in C for speed, incurring no interpreter overhead
* Multi-threaded for asynchronous polling and database insertion
* Inserts data into a relational database where complex queries and reports
may be generated
* Performs no data averaging in order to support billing, etc.
* Can poll at sub-one-minute intervals
chrony is a pair of programs which are used to maintain the accuracy of the
system clock on a computer; the two programs are called chronyd and chronyc.
chronyd is a daemon which runs in background on the system. It obtains
measurements via the network of the system clock's offset relative to time
servers on other systems and adjusts the system time accordingly. For
isolated systems, the user can periodically enter the correct time by hand
(using chronyc). In either case, chronyd determines the rate at which the
computer gains or loses time, and compensates for this. chronyd implements
the NTP protocol and can act as either a client or a server.
chronyc provides a user interface to chronyd for monitoring its performance
and configuring various settings. It can do so while running on the same
computer as the chronyd instance it is controlling or a different computer.