Modules
See also: Toolkits and Languages
Jamie Rasmussen maintains a list of AOLserver modules tested against Windows[1]. (Not recently updated - JR)
Contents
Standard Modules
AOLserver ships with the following modules:
- nscgi -- Standard CGI support for running external C programs, perl scripts etc.
- nscp -- Admin/debug support via a telnet like interface into a running server.
- nsdb -- The database interface, loads database specific drivers (below).
- nsext -- Communicates with external database drivers via proxy daemon.
- nslog -- Common log format or extended common log format access logging.
- nsperm -- Access control lists for groups/users, supports basic auth.
- nsproxy -- Execute Tcl scripts in an external process
- nssock -- Standard socket driver, used for HTTP requests.
- nsssl -- SSL socket driver, links against proprietary RSA BSAFE library (not supplied).
Database Drivers
AOLserver database drivers are either internal or external. Internal drivers are shared libraries that are loaded in-process with the webserver -- they provide the best performance. External drivers are shared libraries which are loaded by the AOLserver database proxy daemon nsext, which communicates with the webserver process via sockets. The advantage of running the database driver external to the webserver is that it isolates buggy, non-threadsafe database access libraries. These days however this is largely unneccessary, and the external drivers are usually slower due to context switching overhead.
- nsfb -- Internal Firebird|Interbase driver.
- dqd_db2 -- Internal IBM DB2 driver (unmaintained).
- nsberkeleydb -- Internal BerkeleyDB driver.
- nsfreetds -- Internal MS SQL Server/Sybase driver.
- nsinformix -- Internal Informix driver.
- nsingres -- Internal Ingres r3 driver.
- nsibasepd -- External Interbase driver.
- nsmysql -- Internal MySQL driver.
- nsodbc -- Internal ODBC driver.
- nsoracle -- Internal Oracle driver.
- nspostgres -- Internal PostgreSQL driver.
- nssolid -- Internal Solid driver.
- nssqlite2 -- Internal SQLite v2 driver.
- nssqlite3 -- Internal SQLite v3 driver.
- nsunixodbc -- Internal ODBC driver which uses the unixODBC driver.
Encryption / Security
- nsblowfish -- Encrypt Tcl strings with Blowfish cypher and hex encode.
- nsencrypt -- Uses OpenSSL to encrypt using the AES, Blowfish, Cast5, IDEA and DES cyphers.
- nsnss -- New SSL socket driver, links against Netscape's portable runtime (NSPR) and security services (NSS) libraries.
- nsopenssl -- SSL socket driver links against OpenSSL, and also provides client connection capabilities.
- nspasswd -- CRYPT, MD5, SMD5, SHA and SSHA hashing algorithms.
- nssha1 -- AOLserver module to perform SHA1 hashes.
- nspam -- Interface to Pluggable Authentication Modules (PAM).
- nsdigest -- Access control lists for groups/users (like nsperm), supports digest authentication.
- nsmhash -- Implementation of mhash library interface to hash, hmac and keygen algorithms (MD5,SHA1, ...). Available shared with nsv_*.
- nsmcrypt -- Implementation of mcrypt library interface to crypt,decrypt algorithms (blowfish, des, ...). Available shared with nsv_*.
Virtual Hosting
AOLserver 2.x and 4.x have built-in support for software or name-based virtual hosting, but AOLserver 3.x does not. Hardware virtual hosting (each server on its own port or IP) is supported across all three versions.
- nsvhr -- Redirecting proxy, passes virtualy hosted requests back to standalone server.
- nsunix -- socket driver for unix domain sockets, complements nsvhr.
- Patches to nsvhr and nsunix by Jerry Asher [2]
- nssmartvh -- C and Tcl based smart virtual hosting module, by Zoro
- vat -- Tcl based Vhost Abstract Template Module, by Tom Jackson
- C-based virtual hosting module [3]
- nsvirthost
Charting
- nsgdchart -- Generate png/jpg charts using open source gd library.
- nschartdir -- Generate charts using proprietary ChartDirector library.
- nsgd -- Generate png,jpg,wbmp,gif,... images using open source gd library.
- nsgraph --
- i-no graphing module using gd library (defunct: [4])
XML
- tDOM -- a Tcl extension which provides XML/XSLT functionality.
- nsxml --
- nsexpat -- Interface to Expat
Web Services
WebDAV
- nsdav -- Port of Apache's WebDAV [6] support for AOLserver.
- nswebdav --
- tDAV -- A WebDAV server module that uses tDOM.
Miscellaneous
- dqd_log -- Makes AOLserver log to a file descriptor.
- dqd_threadpool -- Job scheduling system with Tcl interface.
- dqd_utils -- collection of half a dozen small utility procs.
- nsadmin -- Database admin/log viewing features from v2 ported to v3.
- nsaspell -- Aspell Module [7]
- nsbinarysupport -- Write 8bit strings to connection without translation.
- nscache -- Tcl interface to AOLserver's caching API (ns_cache is builtin in AOLserver 4.5.1 or newer)
- nsclamav -- ClamAV Anti-Virus Interface Module [8]
- nsdci -- AOL's Digital City extensions (distributed cache, among other goodies) (http://code.google.com/p/nsdci/)
- nsdns -- DNS Server/Proxy Module [9]
- nsdqe -- Collection of utilities including caching, page counter, virtual hosting etc.
- nsexample -- An example module to help guide new module writers.
- nsfortune - Fortune like game module, uses real fortune files
- nsftp -- FTP server front end for AOLserver.
- nsfts -- Interface to Postgres full text search engine.
- nsimage -- returns sizes of various modules, implements ns_image & ns_pngsize, replaces ns_jpegsize & ns_gifsize
- nsimap -- IMAP Module [10]
- nsjabber --
- nsjk2 -- Jakarta connector
- nsldap -- LDAP client
- nsmaverix -- SMTP Proxy with anti-spam/anti-virus/whitelist/greylist/blacklist capabilities and Web interface [11]
- nsmsg - IPC message module for AOLserver
- ns_pkg -- Dynamic Tcl package loading.
- nspool -- Pools of sockets, pipes and external processes.
- nsprofile -- Time execution of Tcl commands.
- nsreturnz -- Gzip content encoding for dynamic requests.
- nsrewrite --
- nsroaming -- Netscape Navigator 4 Roaming Profiles.
- nssavi -- SOPHOS Anti-Virus Interface Module [12]
- nssession -- Session Management
- nssession (C module) -- Sessions implemented as a C module
- nssnmp -- SNMP Module [13]
- nssys - Unix system calls, including chmod, ioctl, fsstat, syslog, signal
- nstelemetry --
- nsthreadpool --
- nsuuid -- UUID generator module
- nszlib -- Zlib Module [14]
- nsperl -- Embedded Perl module (not production ready) [15]
Additional Software
- jk-voting -- Example DB based Voting Booth
- Cache Tools, by Bas Scheffers -- I haven't worked with this or tested it in years, would like to hear from users!
- Tcl AutoLoader for AOLServer by Hal Heisler [16]
- AOLserver 3.x Remote Administration Modules [17]
- HTTP Cookie Library [18]
- Simple-Templating System [19]
- nstest
- William Webb has a list of some unmaintained AOLserver software he created which may still be useful to you.
- AM.net[20] maintains a page of AOLserver resources which includes an ADP pareser module and a module which fetches web pages.