Sambar Server Documentation

Server Features


  • Multi-threaded WWW Server with highly programmable API
  • JavaEngine Servlet runner
  • ISAPI Extension support
  • DLL-based server APIs
  • Easily Installed, Uninstalled and Configured
  • Dynamic HTML via scripting language, ODBC scripting, and extensible methods
  • Watcher Daemon for automatic server restart (and e-mail notification of failure)
  • HTTP 1.1 KeepAlive and byte-range Support
  • HTTPS (SSL) support (using OpenSSL or RSA/SSL-C)
  • FTP Server (per-user or group read/write restrictions)
  • Mail Server: SMTP daemon, WebMail, POP3
  • DNS Server & Forwarding Proxy
  • Proxy for: HTTP, SSL, NNTP, SMTP, POP3, IMAP4, FTP and Real Audio/Video
  • SOCKS4/SOCKS5 Proxy support
  • .htaccess support
  • Dial-On-Demand
  • AD/content filtering via HTTP Proxy
  • Documents and images can be cached in memory for performance
  • Integrated Full-text Search Engine (boolean and wildcard searches)
  • Integrated Log File Analysis
  • Integrated Web Camera software
  • Perl 5 included with server
  • CGI 1.1 & WinCGI 1.3 support
  • Server-side Includes
  • Virtual domain support
  • Document and CGI aliasing
  • Username/password and IP address based security
  • HTML based documentation and system configuration

WWW Server
The Sambar Server provides many of the same capabilities as found in commercial offerings (virtual domains, document aliases, server-side includes etc.). In addition to CGI/1.1, programatic APIs and dynamic link libraries may be used to include user-defined actions. With the 4.0 release the Sambar Server ships as a dll with simple start and stop APIs, allowing developers to wrap the server inside other applications (source code provided to console application, NT Service, and simple Windows GUI wrappers).

JavaEngine Servlet runner
The Sambar Server includes a JavaEngine that implements the Java 1.2 Servlet interface. The Java code (including source) that implements the Sambar Server servlet support can be found in lib/javaeng.jar.

CGI/1.1 & WinCGI 1.3
CGI/1.1, WinCGI 1.3 and Server-side includes are available in the Sambar Server. The CGI/WinCGI specification allows server-side applications to be written in almost any language, utilizing stdin, stdout and environment variables to communication between the HTTP server and the application.

Dynamic HTML
The Sambar Server includes the ability to respond with different text or entirely different documents based on the client request, the client's hostname, IP address, user-agent, "referer", or client profile.

Dynamically generated documents may also contain MACROs. MACRO definitions found in config/macros.ini are defined with "#define" similar to a C or C++ application and are loaded and cached at server startup. In addition to MACROs (which may not change without restarting the server), Server variables can be defined in the config/sysvars.ini file; these variables can be changed dynamically from the administration panel without restarting the server.

Having the server parse documents can be costly for heavily loaded servers. For this reason, pages with dynamic content are must have a stm or extension rather than the traditional htm extension.

Security
All files must reside in one of two directories where the server is installed: sysimage and docs. All access is restricted to these directories and their subdirectories. Document paths are only permitted to contain alpha-numeric characters, a single period (.), and/or sub-directory tokens (/). Using relative paths such as "../foo.gif" are properly parsed by the server; the resulting path must be within the docs directory.

Within the docs directory, the sysadmin directory is restricted to users with the system administrator username and password. Additional security enhancements, including redirecting document locations, limiting access by hostname or IP address, and username/password authentication are implemented in the security.c sample code.

Warning: It is not advised to use the "Basic" authentication mechanisms implemented in the Sambar Server for protecting sensitive information which runs on a system on which untrusted users have accounts.

ODBC Database Scripting
The Sambar Server includes interfaces for executing SQL queries against ODBC datasources. This interface is provided through HTML tag extensions that are interpreted prior to HTML page retrieval.

HTTP PUT Method
HTTP PUT method implemented with the same security infrastructure as FTP and HTTP security authorization, allowing one-button publishing with Netscape Communicator.

Search Engine
A built-in search engine supports site index and full text searching of HTML and TEXT documents. Future releases will add more sophisticated weighting, proximity based searches, smaller indexes and faster indexing.

FTP Server
The Sambar Server is capable of acting as an FTP server. The FTP Server uses the same authentication as the WWW server allowing you to restrict FTP users to read-only or read-write access to specific directories. When FTP is enabled, you can access your server via browser with the URL ftp://<username>:<password>@<your-server>, or set up an anonymous user to enable anonymous FTP Access.

HTTP Proxy Server
The Sambar Server is capable of acting as a basic HTTP proxy server. This feature can be enabled by modifying the Act As HTTP Proxy flag in the server configuration file. The proxy server uses the same listener as the HTTP server (port 80 by default). Note: FTP and SSL-Tunneling are also supported by the HTTP Proxy server.

The proxy server supports filtering of HTML requests. The server ships with default filters in place for advertisements from well-known AD banner companies to illustrate the capability. In addition, a well-known pornographic site is filtered out and a page is returned to the requestor indicating that the HTML request has been blocked.

The HTTP proxy server can be configured to direct all requests to a remote proxy for service (i.e. an ISPs caching proxy). The filtering functions may still be used in this configuration. SSL tunneling is also redirected to the remote caching proxy (FTP proxy support is not).

FTP Proxy Support
Like other WWW proxies, the Sambar Sever will not act as a proxy for interactive FTP, but it will handle ftp:// URLs forwarded by browsers. The WWW browser connects to the HTTP proxy server and asks for an FTP URL (i.e. ftp://host/path). The proxy will then retrieve the FTP file on the client's behalf using FTP, and pass the results back to the client using HTTP.

NNTP, SMTP, POP3, IMAP4 & Real Audio/Video Proxy Server
The Sambar Server is capable of acting as an NNTP, SMTP, POP3 and/or IMAP4 proxy server as well. This feature can be enabled by modifying the Act as NNTP Proxy, Act As SMTP Proxy, Act As POP3 Proxy Act As IMAP4 Proxy, and Act As Real/AV Proxy flags in the server configuration file.

Customized Error Messages
All error messages can be found in the docs/system directory. Externalizing error responses allows webmasters to configure the response of the Sambar Server to some error or problem.

Log Analyzer
Built in HTTP and FTP log analysis tools provide comprehensive site statistics. Analysis includes top pages, hosts, downloads, uploads, agents and client operating systems, per-page performance statistics and user-defined "section" analysis.

Full Documentation

© 1998 Sambar Technologies. All rights reserved. Terms of Use.