Xitami
Xitami is a Web and FTP server, originally developed by iMatix Corporation as a free, open-source product from 1996 to 2000. It ran as a single process with a small footprint. It was not as fast as the fastest servers but scaled well. It supported several web application protocols and was very portable. It also had a web interface to configure the web/FTP server.
Developer(s) | iMatix Corporation |
---|---|
Initial release | 1996 |
Stable release | 2.5c2
/ July 24, 2002 |
Preview release | 5.0a0
/ February 18, 2009 |
Operating system | Cross-platform |
Type | Web server |
License | BSD-like[1] |
Website | www |
In 2009, iMatix launched a new version of Xitami, called X5 (Xitami/5).
History
iMatix started the original Xitami server in 1996 as a demonstration of its "SMT" multithreading technology for building protocol servers. The name was chosen at the last minute when the developers realized that their original choice ("Cosmos") had already been taken by another web server that no longer exists.[2] "Xitami" is "iMatix" spelled backwards.
Xitami was featured in an April 1997 article in Dr. Dobb's Journal.[3] The web server attracted people looking for a fast but simple web/FTP server, mainly on Microsoft Windows.
Xitami was designed to be portable, and was ported to Windows, Linux and other Unices, OpenVMS, BeOS, and OS/2. All non-portable functionality was encapsulated in a library layer called SFL (the "standard function library"). SFL was a free and open source project and was used fairly widely in other such projects. In 1999, the Apache web server adopted a similar approach to portability for Apache2, building the Apache Portable Runtime (APR).
The Xitami team continued to add features until mid-2000 when development of the server stopped except for security updates. In 2008 multiple printf
vulnerabilities were reported in the final release of Xitami/2.5.[4]
X5
In January 2009 iMatix announced the start of a new Xitami project, version 5, called X5.[5] This uses the latest generation of iMatix's multithreading technology (Base2), making Xitami scalable to multiple cores, while remaining small, and simple. iMatix has stated that it is "designed to handle thousands of connections without difficulty" which makes it ready for long polling, in which client connections remain open for extended durations. Windows binaries for X5 were released in February 2009 and X5 was used for the first time to run the iMatix Live Zyre website. X5 shares the same technical framework as iMatix's OpenAMQ message service.
X5 is written in ANSI C99, using a meta-programming approach called "Model Oriented Programming".[6] X5 was presented at FOSDEM 2009 as consisting of 3,457 lines of meta-meta code.[7] X5 uses APR in place of SFL, and has been run on Windows, Linux, AIX, Solaris, and OpenVMS.
See also
References
- Xitami License Agreement Archived October 18, 2007, at the Wayback Machine
- Liberetto newsletter Archived June 9, 2009, at the Wayback Machine, December 1996
- A portable multithreaded webserver (Dr. Dobb's Journal, 1 April 1997)
- Security Advisory B013 - Xitami Web Server v2.5c2 Multiple Vulnerabilities Archived October 24, 2008, at the Wayback Machine
- Announcement of Xitami/5 (X5) project Archived February 26, 2009, at the Wayback Machine
- Model oriented programming technology
- FOSDEM 2009 presentation Archived 2009-02-11 at the Wayback Machine