iServer Version 1.7.0 01/09/2000
- ported stop_iws/restart_iws to UNIX/Linux
- ported updated Apache Gateway to UNIX/Linux
- added Servlet Chaining example
- added support for chaining Servlets when the response matches a specific mimetype
- added stop_iws/restart_iws C wrapper for easy access to iwsCommand
- added iwsCommand used to restart/stop the server from the command line
- added support for virtual hosting
- added support for enabling/disabling Servlet Chaining
- added support for Servlet Chaining
- added remote_admin parameter to iws.ini used to enable/disable remote administration of server
- added backlog parameter to iws.ini used to specify size of client request backlog kept by ServerSocket
- added %base_uri% variable to session.ini used to specify base URI to session path
- added %base_uri% variable to templates.ini used to specify base URI in access log
- added %query_string% variable to templates.ini used to specify query string in access log
- combined servlets.ini and filters.ini configuration files into servlets.ini
- ServletTagServlet now can be used within a Servlet Chain
- List Employees and Connection Pool examples now used new included sample database
- created sample Microsoft Access database to replace use of Microsoft Adventure Works database
- iws and javaGateway C wrappers now support java_exe environmental variable with embedded Java VM parameters
- mimetype definitions for .shtml and .ssi are now associated with text/html instead of application/ssi
- iws and javaGateway C wrappers now remove temporary files on termination signals
- removed filters from Administrator
- removed filters from Documentation
- documented directory tree
- documented setting up iServer as an Windows 9x/NT Service
- documented automatically starting iServer in Windows 9x/NT from the StartUp directory
- documented iwsCommand and restart_iws and stop_iws C wrappers
- added FileCache.capacity(), FileCache.size(), FileCache.resize(), iws.hosts, iws.getBaseDirectory(), Utils.extractCookie(), Utils.getRootHandler(), Utils.concatParameters(), Utils.mergeParameters(), AccessLogEntry.baseURI, and AccessLogEntry.queryString to documented APIs
- documented administration of Virtual Hosts
- updated documented classes
- updated log file documentation
- updated configuration file documentation
- updated server installation instructions
- SSIncludeServlet no longer throws an exception when included file contains embedded SSI directives
- client requests that result in exception or that are prematurely terminated are no longer logged as 200 OK
- query string is now being parsed into parameters when request method is POST
- updated documentation for NSAPI/ISAPI/Apache iServer Gateway installation/configuration
- NSAPI/ISAPI/Apache iServer Gateways will now try other servers in the workgroup when they are unable to connect to the next server in the list
- NSAPI/ISAPI/Apache iServer Gateways will remove servers that are down from next list for an interval of time
- NSAPI/ISAPI/Apache iServer Gateways now support load-balancing and failover
- NSAPI/ISAPI/Apache iServer Gateways now uses server with session
- ClusterProxy now tries other servers in the workgroup when it is unable to connect to the next/best server
- improved ClusterProxy performance by removing servers that are down from next/best list for an interval of time
- ClusterRedirector now redirects to server with session
- ClusterProxy now uses server with session
- InvokerServlet now sends "404 Not Found" when Servlet is not specified or when Servlet can not be found
- Administrator no longer converts configuration information to lower case
- iws.init() now catches, reports and logs connection pool initialization errors then continues with server startup
- RequestHandler.run() and RequestHandler.nextRequest() now catches Errors thrown
- iws.main() now catches Errors thrown
- Utils.encodeCookie() now properly sets expires
- administrator no longer reports valid root directories as not existing when base directory is specified during startup
- Session.encodeURL() now properly replaces existing session ids with new ones
- Request.getServerPort() no longer returns 0 as the server port when a valid server port is known
- logger no longer logs 0 as the server port when a valid server port is known
iServer Version 1.6.2 11/07/1999
- server can now directly access content and configuration files contained in
a JAR file
- FileServlet can now preload list of files into file cache
- added CookieTesterServlet example
- logger can now perform delayed logging
- ClusterProxy now supports load-balancing
- new ServletTagServlet added ≶servlet>≶/servlet> tag support
- added ≶servlet>≶/servlet> tag example
- documented IOManager, IOHandler and RealmAdministrator APIs
- added ConsoleLogger
- OutputStreamLogger is now the base Class used by ConsoleLogger and by
FileLogger
- decodeParameters()/encodeParameters() were added to Utils
- added configuration page for 3rd party add-ons (JSP/iASP/Perl/iScript)
- replaced SSI example with ssitester
- configuration files are now case sensitive
- Administrator no longer changes keys to lower case
- created separate help for Administrator
- changed format used by aliases.ini, servlets.ini and filters.ini to
support multiple aliases
- moved file cache configuration from servers.ini to FileServlet definition
in servlets.ini
- reduced default size of file cache from 8MB to 4MB
- expanded aliases to include servlets and filters enabling a single
instance of a servlet or filter to be used my multiple aliases
- updated to latest version of Servlet.jar included in JavaServer(tm) WDK
(JavaServer(tm) Web Development Kit 1.0)
- Request.server_variables are no longer stored in a Hashtable
- improved performance by replacing use of Strings with StringBuffers
- improved performance by removing redundant code
- redefined alias .ssi as filter ServletTagServlet
- separated server and gateway installation instructions
- updated documentation
- documented format used by configuration files
- documented new Utils API methods
- documented deploying to JAR/ZIP file
- documented required/optional Classes
- increaded the default server timeout from 1 second to 5 minutes so that
connections do not terminate prematurely because the timeout value is too
small
- RequestHandler how properly supports keep alive
- Administrator no longer reports valid session timeout values as invalid
- Startup no longer resets session interval to the minimum value when
interval is set to -1
- Administrator no longer reports that file cache size is not being set
- Session.isValid() now calls HttpSessionBindingListeners for Unbound event
when session is invalidated
- FileLogger no longer treats absolute paths starting with / as relative
paths
- ServletManager no longer converts Servlet/Realm URI to lower case
- Utils.parseCookieHeader() no longer throws NoSuchElementException when the
cookie value contains an embedded '='
- DString.extract() now longer returns invalid values when when the
delimiters specified are longer than one character
- FileLogger no longer losses access access log entries when a template is
not specified
- logger no longer logs server port as -1 when the server port is 80
- Administrator Monitor no longer uses/displays -1 for server port when the
server port is 80
- the file cache no longer grows larger than the maximum size specified
- FileCache.makeSpace() now frees free enough space before inserting the new
item into the file cache
- ConnectionPool.putConnection() no longer calls Connection.close()
repeatedly when extra connections are being closed
- Administrator no longer writes invalid values for session source in
session configuration file
iServer Version 1.6.1 10/07/1999
- logger now uses logger.ini settings to determine whether or not to log
events, errors and access
- SessionManager is no longer started when interval is set to -1
iServer Version 1.6.0 10/03/1999
- updated Administrator documentation
- added dns_lookup to Administrator
- added ability to disable DNS lookup
- added Apache/CGI/NSAPI/ISAPI gateways to iServer which allow any
Web/Application Server supporting these protocols to run Servlets using
iServer as their Java Servlet Engine
- changed exit code for restarting server under Windows 9x from 1 to
0x7FFF so that when a Java VM error occurs, iws.exe wrapper will not loop
endlessly trying to start the server
- added cgi-bin directory to distribution
- Utils.getArgs() now handles any embedded = character that may be returned
by Request.getPathTranslated()
- Utils.getParameters() no longer improperly returns arguments along with any
parameters
- Request now removes arguments from query string before calling
HttpUtils.parseQueryString() so that HttpUtils.parseQueryString() no longer
throws IllegalArgumentException
- Request.getRequestURI() no longer returns query string along with URI
- changed how request_length is calulated for access log entries,
request_length is now set to total number of bytes sent by the client
instead of bytes read from ServletInputStream
- documented new methods
- FileCache methods used to interface with the server's file cache are now
public
- ServletManager methods used for loading and unloading Servlets, Filters and
Realms and for checking if a specified Servlet, Filter or Realm is
presently loaded are now public
- Utils methods for reading items and loading configuration files are now
public
- iws variables for accessing aliases, mimetypes, messages, resource,
servlets, filters, realms, ServletManager and server's file cache are now
public
- iws methods for initializing and shutting down the server and for logging
errors are now public
- iws methods for getting the servers version and getting the mime type of a
file are now public
- Logger methods used for logging events, errors and server access are now
public
- Realm methods for authenticating computers and users and for checking if a
given IP address is within a specified range of IP address are now public
- documented workgroup and computers administration
- Y2K certified iServer
- SSIncludeServlet #config TIMEFMT %Y and %C now use 4 digit year
- FileServlet now generates 4 digit year in directory listings
- DatabaseRealm and FileRealm now check computers at specified hostname,
ip address or ip range for proper access rights and block access when the
computer does not have them
- added computers table to database (iserver.mdb, iserver.sql),
- added computers to Administrator
- added computers to access control lists selection form in Administrator
- Administrator now checks that selected right/user/group/realm/acl
are not in use before removing them
- Administrator can now manage database and file realms
- Response.ServletOutputStream and Response.PrintWriter now flush the output
stream
- Response.getWriter() no longer outputs response headers when called
- RequestDispatch.forward() and RequestDispatch.include() no longer throws
an exception during processing when the query string is null
- server security now protect resources using multiple selected access
control lists
- InvokerServlet no longer throws an exception when a Servlet is not
specified,
- InvokerSerlet now calls FileServlet when a Servlet is not specified
- documented Servlet, Filter and Realm APIs
- shutdown delay was added to control how long to wait before shutting down
the server
- iws.destroy() now closes the server socket
- RequestHandler no longer keeps alive the connection when Response
Connection header entry is set to close
- session id from cookie is prefered to session id from url
- HttpServletResponse.encodeURL() and HttpServletResponse.encodeRedirectURL()
now checks for existing session id before encoding url
- HttpServletResponse.flush() and HttpServletResponse.close() now flushes the
output stream
- Administrator now shows if a servlet, filter or realm is loaded or
unloaded
- Administrator can now oad/unload/reload servlets/filters/realms
- integrated online help into Administrator
- Administrator now supports absolute root directory paths
- Administrator can now be used to monitor and manage a group of servers
- Administrator now supports add/edit/remove workgroup servers
iServer Version 1.5.0 06/27/1999
- documented SecurityService API
- documented Logger, AccessLogEntry, ErrorLogEntry and EventLogEntry APIs
- updated and expanded documented APIs
- added support for JSDK version 2.1
- added InvokerServlet
- added new security options to Administrator
- added database security
- multi form parser no longer times out on read when input stream is
terminated by CR/LF
- Administrator expanded to support new logger options
- created oracle schemas
- Basic authentication support now functions properly when Microsoft
Internet Explorer Web Browser is used
- added database logger
iServer Version 1.0.0 05/02/1999
- added FileUpload example
- added support for multi-part forms
iServer Version 1.0.0 03/15/1999
- StatusServet no longer throws ClassCastException
iServer Version 1.0.0 03/14/1999
- getServerName() now properly generates hostname
- FileServlet now properly handles absolute root directories
iServer Version 1.0.0 02/21/1999
- updated documentation
- Administrator can now manage Session configuration
- Administrator can now be used to specify ip address to use
- added support for specifying how sessions are maintained on client
(url/cookie)
- added support for listening to requests on single (given) ip address or
all ip addresses (multihoming)
- added support for specifying session cookie parameters
(name, comment, domain, path, maxage, secure)
- separated Request and Response objects from request handler
iServer Version 1.0.0 02/07/1999
- updated documentation
- specified root directory can now be an absolute directory path
- Administrator can now manage logger
- Logger parameters are now separate from server parameters
- added support for access/errors/events log file rollover
- Administrator can now manage Access Log Templates
- defined templates for popular access log formats
- Access logger now uses user defined templates
iServer Version 1.0.0 01/26/1999
- fixed spelling and syntax errors in documentation
- commented out advworks connection pool because iServer will not start
without defined connection pools and most users do not have the sample
database
- error handler date parser now handles invalid dates sent by the browser
iServer Version 1.0.0 01/24/1999
- added Connection Pool example
- added Protected Page example
- added List Employees example
- added RedirectServlet example
- updated installation instructions
- updated build scripts
- updated documentation
- Administrator no longer allows users that have logged off from managing
the server
- configuration files were updated
- deployment files were updated
- Administrator can now manage Connection Pools, Users, Groups, Realms and
Resources
- added SessionManager thread to invalidate sessions that have timed out
- added support for http session binding listener/event
- added support for database connection pools
- added support for access control lists (ACL)
- added support for enabled/disabled security
- added support for file cache
- redesigned error handling/reporting
- rewrote object synchronization to minimize the time an object is locked
- added ClusterRedirector
- added ClusterMonitor
- redesigned user interface used by Administrator
- valid sessions are no longer being improperly invalidated
- added support for single thread model
- added ServletManager to handle Servlet operations
- added support for if-range/range/content-range HTTP 1.1 modifiers
- fixed bug in error message generator
- added support for session timeouts
- added support for enabling/disabling logging of access/events/errors
- added Logger thread for logging access/events/errors
- improved performance by preloading messages and directory templates
- connections are no longer abruptly terminated when stop is selected
from the Administrator Control Panel, now the request is logged and the
connection is closed before the server is stopped
- added support for preloading servlets and filters at startup
- added maximum number connections
- added restart to Administrator Control Panel
- added support for if-modified-since/if-unmodified-since HTTP 1.1 modifiers
- added support for keep alive
- added detailed explanations to many of the error codes in messages.ini
- content length is now being recorded in the access log
- FileServlet now handles file and directory processing
iServer Version 1.0.0 10/25/1998
- filters are no longer being loaded and initialized more than once
- CgiServlet now properly handles Date objects sent by SSIncludeServlet
- removed server variables from request headers
- server now properly redirects requests to default page
- HTTP_ is no longer added to request header variables
- content length is now set to -1 when it is not known
- removed iScriptServlet
- removed .ctf definition from filters.ini
iServer Version 1.0.0 10/15/1998
- server no longer throws NullPointerException when configuration files are
not found
- added jsdk.jar to distribution
- updated installation instructions
- updated license agreement
- updated documentation
iServer Version 1.0.0 10/11/1998
- initial release of iServer
|