Binc IMAP (version 2)
What is Binc IMAP?
Binc IMAP is a C++ written IMAP4ver1 server created by
Andreas Aardal Hanssen back in 2002. The last 'official' version was 1.2.13final
and the last public and incomplete version is labeled 1.3.4.
Binc IMAP is based on the software engineering principles Dan J. Bernstein has raised, though C++ provides choices of a much wider platform.
Binc IMAP in particular supports the Maildir++ format and the virtual mail managers VPopMail and VMailMgr.
After using Binc IMAP for a while, I thought it is important to carry out a modern version based on DJB's /slashpackage deployment infrastructure. This was the birth of Binc IMAP version 2.
- Binc IMAP 2 currently supports IMAP4ver1 only.
- Binc IMAP 2 comes in the common /slashpackage format for easy installation but does not depend on it.
- Binc IMAP 2 does not have a network stack. Unencrypted service is possible with UCSPI-TCP6's tcpserver, TLS support including IMAPS and StartTLS is achieved with UCSPI-SSL's sslserver.
- Authentication is based on the PAMs available from VPopMail or VMailMgr. Additionally, a checkpassword.pl Perl PAM is shipped. Multi-backend authentication is provided by s/qmail's (version 4.3) qmail-authuser.
- Binc IMAP 2 provides logging through multilog or the Syslog facility.
Binc IMAP complements as light-weight IMAP server s/qmail's POP3 service using the same interface while providing a common management and logging scheme for SMTP, POP3, and now IMAP services.
The available TLS and X.509 infrastructure can be shared by all these daemons.
|Version & Download||Description||Verification||Binc IMAP 2.0.15||The second release with logging improvements (mainly).|| MD5: 932b3421554ce64392320717a30d70fd
Build: 20231024185037 (new!)
Binc IMAP 2 's source files are documented in doxygen.
How to install Binc IMAP
Binc IMAP 2 is a self-contained C++ implementation and does not involve particular libraries outside STL and POSIX.
- Binc IMAP 2 uses D.J. Bernstein's /package conventions for installation.
- Un-tar the archive under /package, change to mail/bincimap/bincimap-<version> and call package/install.
- Binc IMAP is 64 bit clean and comes with additional man-pages.
- The three binaries bincimap-up, bincimapd, and bincimap-updatecache are typically installed at /usr/local/bin. No particular running permissions are required.
Andreas Aardal Hanssen: Binc IMAP - Goals
"The Binc IMAP project is more than programming. This is a list of the main goals and visions that the author of Binc IMAP has put to ground.
- Helpful, hospitable community
- Although it is expected that users of Binc IMAP do their homework before posting, the server author and community of the Binc IMAP mailing list will be friendly and will approach everyone with respect. The same is expected from those who post to the list.
- There will be no RTFM on the project's mailing list. Flaming and personal insults on the project's mailing list will result in banning of the originator.
- The community is encouraged to pay back to the project's contributors by sharing their own contributions to Binc IMAP through the GPL license.
- Security through good design
- A well designed server is less exposed to bugs than a poorly designed server.
- The server will strive to use every kind of security enhancing feature, while keeping the implementation details as simple as possible.
- The source is open and downloadable. Potential bugs and/or nasty pieces of code are easily uncovered when the whole community is able to study every line of code in detail. Bugs should always be reported to the project's mailing list.
- No competition
- Under no circumstance will this project be in market driven competition with other IMAP servers.
- Binc IMAP is first and foremost a quality driven project.
- This project is meant to influence the community of authors of network protocols and servers, and hopes to increase the general quality of software that is used all over the globe and beyond.
- Binary modularity
Pluggable extension support. Modules that are loaded into Binc can change a great deal of Binc's behavior. Adding your own extension or altering Binc IMAP's behavior should be as easy as it can get, and it should not require a recompile of the Binc IMAP core.
Pluggable authentication support. By supporting checkpassword compatible authentication modules, Binc IMAP clients can authenticate against great number of authorities.
- Source modularity
With a modular and simple yet advanced object oriented design, it should be easy to quickly understand what every method and function does. This will increase third party developers' ability to write extensions and modifications fast.
Development of the design and implementation of Binc IMAP will focus on extensibility, robustness and speed.
- Binary modularity
- Quality over quantity
- Binc IMAP's:w releases are milestones. We strive for perfection.
- Work on improving the existing design and extensibility will always go ahead of adding new features.
- Through extensive module support, the community is encouraged to contribute to the adding and testing of new features. Core design and implementation will always focus on quality.
Last updated: 2003-03-24"
In June 2023 Andreas gave me permissions to fork his Binc IMAP and I'm glad being able to follow his approach successfully.
Andreas has generated a LaTeX document for Binc IMAP 1.2 which I used as a blueprint for Binc IMAP 2.0 together with the some miscellaneous materials: