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 support
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.
|