History of Changes
Changes are chronologically ordered from top (most recent) to bottom
(least recent)
Apache JServ 1.0 - 14 June 1999
(Everybody!!!)
Thanks to everybody who helped make Apache JServ 1.0 a reality!
Apache JServ 1.0fc1 - 10 June 1999
(Ed Korthof, Bernie Bernstein, Jon S. Stevens, Henner Zeller)
- Fixed bug reported by Paul Gibson <paul@virtualvin.com> regarding
JServConnection.getSession() not checking whether or not the session that
it is returning is valid or not. It will now only return valid sessions. (JSS)
- Fixed Bug Id: mod_jserv/4599
Thanks to <andreas@ljunggren.net> for the fix and patch. (JSS)
- Fixed Bug Id: mod_jserv/4473
Thanks to <bakgerman@checkfree.com> for the fix. (JSS)
- Fixed bug in the jserv_watchdog: Set PID in child process rather than parent
since there is no synchronization. (BB)
- Re-wrote JServServletManager.encodeUrl() to handle # in the URI's as well as fix
a bug regarding & usage instead of &. (HZ)
- jserv_wrapper_unix.c: fix use of autoincrement in function argument list --
order of evaluation is undefined, and the results may not be as intended. reported by
Sebastian Bazley <Sebastian.Bazley@sema.co.uk> (EK)
Apache JServ 1.0b5 - 17 May 1999
(Ed Korthof, Jean-Luc Rochat, Jon S. Stevens)
- Empty lines in configuration files like 'wrapper.classpath=', which
the configure scripts can sometimes produce, are now just ignored. (EK)
- Fixed .initArgs file handling to work with aliased servlets. (EK)
- Fixed lots of issues with the Unix build system. It should now be
more robust, report more information to be more friendly to the users
and actually work now. (JSS)
- Fixed win32 port w/o watchdog + small bugfix in ApJServMountCopy with load-balancing.
Thanks to Stephane Carrie <scarrie@maginfo.fr> for finding this bug and giving a fix
at the same time. (JLR)
- Fixed function prototype (for when there is no mmap support) (EK)
Apache JServ 1.0b4 - 30 April 1999
(Jon S. Stevens, Vadim Tkachenko, Stefano Mazzocchi, Craig McClanahan, Jean-Luc Rochat)
- Added Load Balancing documentation and various load balancing bug fixes (JLR)
- Fixed the badly broken GET/POST parsing to be implemented according to the rules defined
in the Servlet API 2.1 spec. (CM)
- Added ApJServLogLevel directive to provide configurable log levels within the C portion
of Apache JServ. Thanks to Philip Guenther <guenther@gac.edu> for the code and patch. (JSS)
- Fixed Bug Id: mod_jserv/3674
Thanks to Pawel Pesz <Pawel.Pesz@insert.com.pl> for the fix and patch. (JSS)
- Fixed Bug Id: mod_jserv/4298 Thanks
to Philip Guenther <guenther@gac.edu> for the fix and patch. (JSS)
- Moved JServConnection creation before connection is accepted and cleaned up
initialization parameters. Thanks to Michal Mosiewicz for the suggestion. (SM)
- Added TURBO and PROFILE mode. Turbo mode performance-tuned compilation and profile mode
turns on the method tracing capabilities of instrumented JVM (such as IBM JInsight) in the
JServConnection.run() method. (SM)
- Added better command line interface for standalone mode operation. Now you can shutdown
and restart your servlet engine using the exact same class that is already running. Thanks
to Donald Ball for the idea. (SM)
- Fixed Bug Id: mod_jserv/4169 Thanks
to <erik@adaptations.com> for the fix and patch. (JSS)
- Fixed Bug Id: mod_jserv/4073 Thanks
to Cott Lang <cott@internetstaff.com> for the fix and patch. (JSS)
- Fixed Bug Id: mod_jserv/4104 Thanks
to <akuchlin@cnri.reston.va.us> for the fix. (JSS)
- Changed .jar name again. It is now ApacheJServ.jar. This is a consistency change
so that Win32 and Unix have the same name for this file. (VT)
- Fixed Bug Id: mod_jserv/3976 Thanks
to <eb@softstar.it> for patch. (JSS)
- Fixed Apache 1.2.6 compatibility issue and made it so that future distributions will
include jserv_compat.c which is missing from 1.0b3. Thanks to Matt Feiszli
<matt@weborder.com> for tracking this down. (JSS)
Apache JServ 1.0b3 - 19 Feb 1999
(Ed Korthof, Stefano Mazzocchi, Vadim Tkachenko, Craig McClanahan, Bernie Bernstein,
Jean-Luc Rochat, Jon S. Stevens)
- Fixed bugs in the c/Makefile.am that prevented all of the .c files from being included
in the distribution. (JSS)
- Added ApJServRetryAttempts. Setting this to a positive integer (say between 2 and 5)
means that mod_jserv will attempt to connect to the JVM up to that many times before
returning a server error. It does a 1 second wait between each attempt. This allows you to
avoid server errors during a restart. (EK)
- JServUtils.parseCookieHeader(): If cookie is send just as: foo; instead of foo=; add
cookie with empty string "". Previously, the cookie name was not being added.
(JSS)
- JServSession.putValue(): make call to removeValue(). (CM)
- Fixed bug where sessions would not get expired after finding the first expired one and
also fixed potential sync issues. Thanks to tom@go2net.com for final fix. (JSS)
- Fixed bug where the Apache JServ configuration files would not get auto reloaded. Patch
thanks to dfauth@access.fairfax.com.au (EK)
- JServConnection.java: Workaround known bug in SimpleDateFormat. Thanks to
simonb@defacto.peace.co.nz (JSS)
- The official distribution now has the Apache-JServ.jar file compiled with -O instead of
-g. (JSS)
- Fixed potential core dump in jserv_mkimg.c. Patch thanks to akuchlin@cnri.reston.va.us.
(JSS)
- Added very nice Load Balancing code. Sorry, no included documentation yet. Please see
mailing list archives for now.(BB) (JLR)
- Changed trace.* to log.* (CM)
- Removed references to security.remote.administration. It is now security.selfservlet.
(CM)
- Fixed the Apache JServ bug report HTML page. (JSS)
- Added some new properties in the properties file with regards to logging. (ie:
log.queue.maxage, log.queue.maxsize) Changed the thread priority of the logging thread.
This should help fix JVM OutOfMemory errors. (VT)
- Renamed sbin to bin because of changes in Apache 1.3.4. This fixes DSO installation
issues. (EK)
- Added a configure-options file which stores your configure options (VT)
Apache JServ 1.0b2 - 11 Jan 1999
(Stefano Mazzocchi, Jon S. Stevens, Tommy Reilly, Markus Mayer)
- Fixed month off by one logging bug in jserv_utils.c. Thanks to Markus Mayer
<mmayer@iname.com>. (JSS)
- Fixed some small bugs due to an internal bug of Windows VISE installer. (SM)
- Use apxs to find include dirs. (TR)
Apache JServ 1.0b1 - 25 Dec 1998
(Stefano Mazzocchi, Vincent Partington, PierPaolo Fumagalli, Radu Greab (1), Hendrik
Schreiber, Ed Korthof, Ross Golder (2), Tim Williams, Paul Phillips, James Cooper, Hans
Bergsten, Jon S. Stevens, Vadim Tkachenko, Tommy Reilly, Hasan Bramwell)
- Fixed a bug in configuration.in as pointed out by Hasan Bramwell <hasan@pi.pro.ec>
(JSS)
- Fixed a compliance bug in ServletRequest.getQueryString() returning "" instead
of null. Thanks to Dan Morrill <morrildl@nycap.rr.com> (SM)
- Changed annoying INFO stuff in DEBUG as suggested by Michael Bayne
<mdb@go2net.com> (SM)
- Fixed a bug in HttpServletRequest.getRequestURI() that returned the query string. Thanks
to Dennis Doubleday <dday@fore.com> (SM)
- linux port: DSO and compiling statically into source work (TR)
- JDK tool finding improved per discussions with Vadim (TR)
- JAR added to the above (TR)
- new options --with-apache-src and --with-apache-install replace --with-apache-dir. (TR)
- --enable-apache-conf is real nice about not squashing your apache configuration (TR)
- links are used instead of copying files for static build (TR)
- if DSO support isn't compiled in when doing --with-apache-install it bombs during
configure instead of make. (TR)
- if no apache dirs are specified and we find a candidate in /usr/local/apache the user is
queried to see if they want to use that, the reason I did this is because if you configure
with no options then you may just be interested in the jserv standalone. (TR)
- added scripts and jdepds.jar to src/java to others can use --enable-maintainer-build to
rebuild .deps when adding new files. NOTE: JDeps screws up on one rule, it puts
JServSSI.java twice on a compile line which makes JAVAC bomb out, you have to remove one
of them manually. (TR)
- Mads Volsted Pedersen, mpedersen@247media.com: We found a small bug in the code that
sets the expiration date in cookies (in JServUtils.java search for 1000). The problem is
that by multiplying the age by 1000 as integers you only allow for values smaller than (2
^ 31) / 1000 (roughly 24 days). The can easily be remidied by casting the age to long
before multiplying by 1000. (JSS)
- fixed the jserv-status bug that caused an Apache child to die (EK)
- added magic to configure so that is the JSDK is specified in your CLASSPATH then you
don't have to specify it as a configure argument. Now if we don't find the jsdk.jar
configure will stop with an error message. (TR)
- added some stuff to the CLEANFILES so that a make clean does its job (TR)
- added src/c/.deps to DISTCLEAN as per some guys recommendation on the list (TR)
- replaced Hello.java with Hello.java.in because it now picks up a configure variable so
it can include a link to the manual. (TR)
- Changed texinfo manual name to more appropriate ApacheJServ (TR)
- added texi2html to tree so we can start hacking it to our liking. (TR)
- included html in distro (result of make dist) (TR)
- --with-compressed-jar -> --enable-compressed-jar (TR)
- put apache related stuff in acinclude.m4 in configure.in, now acinclude.m4 has only
macros that are explicity related to our project (how it should be). (TR)
- removed config.h stuff, we weren't using it (TR)
- using jdeps to build, invoke configure with --enable-maintainer-build to build. (TR)
- simplified build process. see manual for how (TR)
- --with-jsdk-dir = tells configure where to find the JSDK classes. (TR)
- removed configure and all .in files (TR)
- added docs/manual start of JServ manual (TR)
- added example servlet should work off the bat (requires specification of jsdk-dir). (TR)
- Fixed a bug in jserv_wrapper_win.c that did not passed correctly the environment
settings (SM)
- Filtered direct calls to JServ as servlet since this could bypass web server security on
JServ-status and be a _huge_ security problem on sites where self-servlet execution of
JServ was left enabled (SM)
- Changed mistaken session timeout log in JServServletManager. Thanks to Jean-luc Rochat
(SM)
- Changed "exceptionTracking" to "exceptionTracing" as noted by Stuart
Ballard <sballard@netreach.net> (SM)
- Changed default mod_jserv log name from "jserv.log" to a more explaining
"mod_jserv.log", now "jserv.log" is generated by the servlet engine
(SM)
- Changed version in formation in the whole package to match updated Apache Group version
(SM)
- Added a few FAQ questions that keep on coming up on jserv-users (SM)
- Disabled authentication in sample configuration files for easier setup but allowed only
localhost to connect as suggested by Ed (SM)
- Changed jserv.properties directive "trace.*" to "log.*" for better
definition (SM)
- Removed frames from jserv-status for use in old and simple HTML browsers and updated
graphic style to match docs (SM)
- Replaced the string constant channel identifiers & keywords with the interface
members (
org.apache.jserv.JServLogChannels
, org.apache.java.io.LogWriter
);
fixed the NullPointerException
when the log was enabled, but the file not
specified; made nicer the interruption handling for the background logger thread (now it
flushes if interrupted). (VT)
- Updated docs, cleaned up distribution directory, added win32 bat scripts, fixed javadoc
bugs and few other things preparing for release (SM)
- If the servlet was called as alias, the alias name gets logged along with a class name
(provided by
javax.servlet.GenericServlet#log
). (VT)
- Log messages don't go through AJP any more, ending up in whatever log file specified as
trace.file
in jserv.properties
. Logger records the channel identifier in the trace file
(you can switch it off, too). Possible improvement because of eliminated synchronized
access point on the critical path. Fixed NullPointerException
on shutdown
with the log turned off, thanks to Miranda Robson. (VT)
- Misc improvements to the wrapper (better handling of parameters, avoiding endless
spawn/die cycles, reliable operation under Unix, etc.). (EK) Thanks to Dave Galloway ()
and John Kelly () for help with this.
- Fixed trace file creation bug: JServ failed to start if the trace file didn't exist.
(VT)
- Added logging of session creation, using 'servletManager' log channel. (RG2)
- Introduced the background logging. Now the log processing can be made arbitrarily
expensive, because happens in a separate thread with minimum priority. (VT)
- Added 'session.checkFrequency' parameter. Corrected a problem where multiple
initArgs/startup servlets were causing ClassCastExceptions. Added some debugging of the
parsing of the zone configuration file. Fixed a few minor typos. (RG2)
- Improved an error condition handling for the case of a bad port specified in
jserv.properties
:
now both wrapper and JServ will complain in the log about the bad value and it will be
correctly reset to default port. Also, eliminated the asynchronous handling: on the
wrapper side, instead of resetting the bad value the fatal error condition was raised.
(VT)
- Fixed the configuration bug and changed the default behavior. Now
configure
can properly resolve the java
binary location (there was apparently an old
leftover bug). If --with-jdk-home
option was specified, it overrides the
value of JAVA_HOME
variable (used to be the other way around) (VT).
- Fixed bug where JServ was not setting its group ID before running the Java VM. (EK) Bug Id: mod_jserv/3021
- Changed ApJServErrorLog to ApJServLogFile in jserv_utils.c. Thanks to Eric
<eric@dev.unibiz.com>) (JS)
- Fixed bug where PATH_INFO was being used as part of the servlet name. Thanks to Trung
Tran-Duc . (RG2)
- Applied patch suggested by Alan Sparks that formats the HTML table produced by
jserv_status.c (JS)
- Applied patch suggested by Per Landberg <Per.Landberg@lule.frontec.se> which
corrected a problem parsing initArgs where a value contained an equals character. (RG2)
- Fixed problem in request input handling that wasn't counting for unfinished read().
Thanks to Trung Tran-Duc <trung.tranduc@prague.ixos.cz> and Simon Levitt
<Simon.Levitt@uk.worldpay.com> for pointing out and writing a solution (SM)
- Fixed problem with Sessions, where cookies were not being parsed correctly. (RG2) Bug Id: mod_jserv/3035
- Fixed error parsing initArgs when whitespaces are present. Thanks to Carlos Amengual
<webmaster@healthnet-sl.es> (RG2) Bug
Id: mod_jserv/2963
- Fixed bug in Configurations where parameters spanning multiple lines (split with
backslash) were not parsed correctly. Thanks to Carlos Amengual
<webmaster@healthnet-sl.es> (RG2) Bug
Id: mod_jserv/2962
- Fixed illegal access to private members from inner classes of JServConnection. Thanks to
Ari Halberstadt <ari@shore.net> (RG2) Bug Id: mod_jserv/2855
- Change printing of IP address to avoid big-/little- endian assumptions, and to always
print correctly for the current architecture (using inet_ntoa). (EK, JSS)
- If file was zero length, jserv_readfile() (C code) would try to print error message with
filesize instead of filename. We already know it is zero, so the error was a bit strange.
(JSS)
- Added a small README file to src/java, cleaned up and fixed bugs in the Makefile and
Makefile.java.bat in src/java. (JSS)
- Added IfModule directive around example Apache 1.2.x configuration in httpd.conf. (JSS)
- Fixed small compile bug in jserv_compat.c to make it compile with Apache 1.2.x. (JSS)
- Added documentation for Apache 1.3.x and Apache 1.2.x in the src/c/README file. (JSS)
- Fixed a bug that prevented mod_jserv to automatically start JServ under win95. Pointed
out by SM (PF)
- Added error control on file availability in JServSSI to prevent internal server errors
when SSI file was not readable or not accessible or not existing (SM)
- Fixed bug reported by Brian Millett, bpm@ec-group.com where the last env[] was not being
set to null in jserv_wrapper_unix.c. (JSS)
- Fixed bug that prevented the use of JServ without a secret key when authentication was
disabled. Thanks to Remy Amouroux to point it out (SM)
- Forced JServSSI to close its output stream. (HB) Bug Id: mod_jserv/2594
- Fixed invalid domain in session cookie bug. (HB) Bug Id: mod_jserv/2593
- Fixed parameters enclosed in single quotes that didn't work bug. (HB) Bug Id: mod_jserv/2592
- Fixed cookie getMaxAge() overflow bug. Thanks to Ari Halberstadt <ari@shore.net>
(RG2) Bug Id: mod_jserv/2800
- Fixed session id generation. Security flaw: access could have be gained by guessing a
user's cookie. Design flaw: it could have been possible for more than one user to be given
the same cookie. Thanks to Geoff Smith <gsmith@webventures.com.au> (RG2) Bug Id: mod_jserv/2794
- Removed HTML fanciness from JServ servlet as mod_jserv/jserv_status will encapsulate
those dynamic data in a coherent manner with Apache side (SM)
- Added JServ directive security.remote.administration for control of servlet behavior
(default is disabled for security reasons) (SM)
- Fixed a NullPointerException throwing in JServConnection.sendError() where log was
disabled (SM)
- Upgraded JServ servlet behavior and made it the starting point for future work on remote
control (SM)
- Moved SGMLTag from org.apache.java.sgml into org.apache.java.util for better adhesion to
Java classpath (SM)
- Moved JServClassLoader into org.apache.java.lang.AdaptiveClassLoader and removed tracing
methods after careful profiling (SM)
- Upgraded documentation and changed "JServ" to "Apache JServ" for
legal reasons.
- Made JServ extend HttpServlet and unified servlet testing and jserv status in a single
servlet (SM)
- Added JServStatus location to mod_jserv to inspect the JServ configurations on the
Apache side (PF)
- Totally rewritten mod_jserv for easier Unix/win32 porting and added support for multiple
protocol, multiple jservs. Protocol pluggability is introduced to reduce the overhead of
future changes and permitting the coexistence of different JServ versions on a single
environment (PF)
- Changed host.properties to zone.properties (SM)
- Changed starting behavior of both JServServletManager and JServSTMStore to match servlet
zone behavior. (SM)
- Changed JServ behavior from a per-virtual host to a per-servlet zone basis. Many virtual
hosts may now share a common servlet zone. (also needed for future security enhancements)
(SM)
- Removed the need for standard in/out/err streams. JServ does its own log/trace/error
management while sending servlet logs and receiving signals on the authenticated socket.
(SM)
- Changed authentication method (using the one proposed for AJPv2.1) and changed the
protocol name to AJPv1.1 to match this change (SM)
- Added a bunch of MIME types to avoid need of callback in ServletContext.getMimeType()
method (SM)
- Added test servlet to give installation feedback to users (SM)
- Added comments on jserv.properties and host.properties file placed under ./conf (SM)
- Totally rewritten JServ.java to make it more static and used JServ thread as signal
handler after removing JServSignal (SM)
- Fixed a bug that caused not to comply with the cookie spec since it was causing cookie
to never be set for certain domain names. (JC)
- Changed Makefile (RG2)
- Added code to the log the JVM's pid to a file before exec-ing the JVM. (PP)
- Changes for SGMLTag (Removed unnecessary recursion in comment-parsing code addition of
SGMLTag, Further restored original efficiency by no longer duplicating entire page each
time a new comment was encountered, Improved case-in/sensitive handling of parameter
values to allow for both case-insensitive applications (SGML) and case sensitivity (as in
SERVLET tag initialization parameters). Further protected integrity of parameter values by
only returning enumeration, not raw data structures (hashtable) (TW)
- Fixed a bug where the 'req.getSession(true)' statement returns null, causing a
subsequent NullPointerException (RG2)
- Allow buffering to be turned off, by setting the header "Servlet-Buffer: off".
With this, when the output is flushed it's sent to the client (EK)
- Changed token separating string from ":" to
System.getProperty("path.separator") to avoid "c:" problem under Win32
systems and created a property envelope named org.apache.java.util.Configurations(SM)
- Modified JServInputStream to return EOF at the end of the header (RG1)
- Modified JServClassLoader to check if a file from ServletAlias repository is really a
zip/jar archive (RG1)
- Added a small fix to JServClassLoader to reload classes if they are modified (it worked
only for new versions) (RG1)
- Added HTTP Session timeouts (can be set in per-virtual host config with
jserv.session.timeout, defaults to 1800000 (30 minutes)) (VP)
- Changed JServ.invalidate() to send HttpSessionBindingEvent to all values that want it
(VP)
- Updated servclasses.zip to jsdk.jar, according to newer JSDK conventions and placed it
under ./lib. (SM)
- Fixed a bug where request.getSession(true) would return null (RG2)
- Very minor documentation fixes (RG2)
- Allow buffering to be turned off, by setting the header "Servlet-Buffer: off".
With this, when the output is flushed it's sent to the client (EK)
- Added "disable authentication" as default in standalone mode (EK)
- Added MODULE_MAGIC_NUMBER to mod_jserv around compat.h (EK)
- Fixed some problems into JServLock (HS, RG1)
- Added SingleThreadModel support (RG1)
- Added Win32 support for mod_jserv (PF)
- Added Known Bugs and Wanted feature list in the docs (SM) (suggested by RG2)
- Fixed JServ.c (standalone) to be compatible with name changes (VP)
- Added init timeout property in JServServletManager (jserv.init.timeout) (SM)
- Changed timeout properties in JServServletManager from jserv.timeout to
jserv.destroy.timeout (SM)
- Added timeout on servlet init() to avoid possible stall (SM)
- Changed mod_jserv.c to start org.apache.jserv.JServ class (SM)
- Changed name of main method container from JServHandler.java to more reasonable
JServ.java (SM)
- Changed license to state JServ is a product of the Java Apache Project (SM)
- Changed manual mode to standalone mode and renamed its directory (SM)
- Created a new package org.java.jserv.servlets and moved EnvDumpServlet and JServSSI into
it (SM)
- Moved SGMLTag into org.apache.java.sgml (SM)
- Created packages under org.apache.java.* to extend java.* apis (SM)
- Changed the tracing capability by removing JServDebug and unifying them with LogWriter
(SM)
- Updated protocol to version 1.1 to match new behavior(SM)
- Changed command line parameters and configuration behavior (now needs a configuration
file) (SM)
- Changed mod_jserv to allow parameters to be passed to JServ executable (not only to Java
interpreter) (SM)
- Unified documentation: merged every document into a coherent HTML structure (SM)
- Changed directory structure (SM)
Apache JServ 0.9.11a - May 19, 1998
(Ian Kluft, Ross Golder, Vincent Partington, Roger Zeng, Jon Stevens, Brian Jonnes, Ed
Korthof)
- Added INSTALL, a simple walkthrough for setting up JServ (EK)
- Moved jserv.autoreload.file, jserv.autoreload.classes, jserv.init.timeout, and
jserv.destroy.timeout to per-virtual host configuration file (EK)
- Allow turning tracing on or off in the .properties file (for automatic apache, this
directive is required for this: ServletGeneralProperties) (EK)
- Added ServletManagerHostName, an alias corresponding to the name in jserv.hosts list
(EK)
- Replaced ServletHost with ServletVMHost (ServletHost is now deprecated) (EK)
- Added doc/ModeOfOperation file (JS, BJ)
- Added simple timeout parameter to prevent 'hostile servlet' problem (RG)
- Installation instructions in README now differentiate Apache 1.2/1.3 (IK)
- Only pass TZ environment variable when it's there (VP)
- Expanded notes in README about use of servclasses.zip (IK)
- Fix null pointer in JServConnection on empty POST request (RG)
- Allow ServletEnvironment directive to make assignments (VP)
- Fixed bugs with servlet init() and destroy() methods in JServSSI (RZ)
Apache JServ 0.9.10a - February 13, 1998
(Ed Korthof, Ian Kluft, Jon Stevens, Francis J. Lacoste, Hanan Herzog, Stefano Mazzocchi,
Vincent Partington)
- Updated Apache::Servlet perl module to catch up with protocol tweaks (IK)
- Fixed Makefile to install JavaDoc files for either JDK 1.1 or 1.2 (IK)
- Added properties to control autoreload behavior
- Added a workaround for SimpleDateFormat bug (FLJ)
- Added simple timeout on write lock before destroying servlet (FLJ)
- Fixed depreciated error in JServSSI.java (JSS)
- Fixed some Javadoc compilation errors (JSS)
- Closed zip file to prevent leaking file descriptors (HH)
- Implemented session handling and jsdk 1.1 stuff (FLJ)
- Bundled JavaSoft Servlet API's 1.1
- Added missing javadoc-generated files to the Makefile (IK)
- Added sample EnvDumpServlet (IK)
- getRequestURI() uses REQUEST_URI if available (Vincent Partington)
- GATEWAY_INTERFACE now reports JServ version instead of CGI version (IK)
- Added pseudo-attribute "attribute_names" (IK, VP)
- Fixed attribute prefixes to be "org.apache.jserv" to match the classes (VP)
- Fixed strtok problem in readConfigByStdin()
- Renamed SSIServlet.java to JServSSI.java (JSS)
- Added Apache::Servlet Perl5 module so mod_perl can call Java Servlets (IK)
- Remove newlines in Servlet-Logs lines (logging data) sent to Apache (SM)
- Changed LIFO order to FIFO for logging data (SM)
- Remove newlines from headers in general
Apache JServ 0.9.9a - January 20, 1998
(Francis J. Lacoste, Martin Pool, Jon Stevens, Ed Korthof, Ian Kluft, Adam Messinger)
- Skipped 0.9.8 version because of the number of new changes as well as confusion over
0.9.8 and 0.9.8-dev naming conventions (JSS)
- Added a sample configuration to the README file (IK)
- Modified Makefile to create subdirectories as needed (IK)
- Added Javadoc comments to ServletRequest, HttpServletRequest, ServletResponse,
HttpServletResponse, ServletConfig, and ServletContext
- Tracing of several parts of JServ can be turn on or off using a bitmask configured via a
system property.
- JServServletManager now has synchronized methods, so synchronization doesn't need to be
done on the Hashtable in JServContext
- JServServletManager now restarts itself when its property file is changed
- Correct behavior in a few methods to match specification more closely : getIntHeader,
getDateHeader, getServlet.
- Add a top-level Makefile that makes and installs code and documentation
- Put back classes directory and added doc.
- Can escape = and , in init parameters.
- Misc performance improvements
- Remove creation of Integer in readHexLine(). (AM)
- Fix some documentation in JServConnection. (MP)
- Allow Java VM to reside on a separate machine from the webserver
- Changed restarts to use sockets rather than STDIN for reliability
- Fixed a bug in the automatic mode initialization (FJL)
- Turned tracing off by default in JServClassLoader.java (JSS)
- Changed from DataInputStream.readLine() to BufferedReader.readLine() with a bufsize of 1
in JServHandler.java to avoid deprecated code warning (JSS)
- Added the actual Module line to the README that should be copied into the Apache
Configuration file (JSS)
- Fixed small typo on line 397 of mod_jserv.c (changed } to ]) (JSS)
- Fixed a bug in JServConnection.java where getAttribute() had a +1 wrongly inserted.
Thanks to Svein Omdahl <sveint@link.no>. (JSS)
- Renamed TestClassLoader.java to ClassLoaderTest.java to be more clear (JSS)
- Changed javac path in Makefile to be more generic (JSS)
- Commented out the servlets.properties file examples to prevent possible accidental
misconfigurations (JSS)
- Removed duplicate examples where it made sense from the servlets.properties file (JSS)
- Fixed a typo in the servlets.properties file (JSS)
- Fixed a typo in the README file (reault->result) (JSS)
- Removed classes directory (JSS)
- Moved classes from package apache.jserv to org.apache.jserv to comply with JLS
- Fixed free() bug in manual/jserv.c
- Determine whether whether the URL scheme should be 'http' or 'https' by looking for the
Stronghold environment variable 'SSL'
- Servlets loaded from ServletAlias directive are loaded via a custom ClassLoader
- Classes loaded by the ClassLoader are reloaded whenever they are modified
- Servlets from different virtual host are loaded in different name space and cannot see
each other
- ServletProperties is now a virtual host directive
- Loading of startup servlets is done in a different thread and after binding the socket
to prevent two simultaneous JServ process to initialize servlets
- Added a ServletBinaryArgument directive to pass additional command line arguments to the
Java interpreter
- Added servlets.default.initArgs property in the servlet properties file that give init
arguments available to all servlets in the virtual host
- Init arguments for servlet invoked by class name are now specified in a file named
<servlet_classname>.initArgs
- Added sample configurations files
- Manual JServ is now configured by a property file to handle multiple virtual host
- Manual JServ write its pid to a file
- Added simple shell scripts to start/stop/restart manual JServ
- Updated doc files to reflect recent changes
- getDateHeader is now RFC2068 compliant and handles three date format
- Added <SERVLET></SERVLET> tag support in SSIServlet.java
Apache JServ 0.9.7a - September 8, 1997
(Alexei Kosut)
- Fixed some compiler warnings (AK)
- Correctly block signals when initializing, instead of ignoring them. This should prevent
another race condition on startup or restart (AK)
Apache JServ 0.9.6a - August 28, 1997
(Alexei Kosut, Orjan Reinholdsen, Rhys Jones)
- javax.servlet.ServletRequest.getAttribute("apache.jserv.<var>") returns
a String with the contents of CGI environment variable <var>. e.g.
getAttribute("apache.jserv.SERVER_SOFTWARE") (AK)
- Fixed problem with path info when using ServletAlias to point to a zip/jar file (OR)
- Added ServletEnvironment directive to pass arbitrary environment variables to Java (AK)
- The jserv manual program now passes all environment variables to Java, not just PATH,
CLASSPATH and TZ (AK)
- Correctly allow virtual servers to use ServletAlias() (RJ)
- Avoid a race condition in mod_jserv.c when receiving a signal. (AK)
- ServletRequest.getRealPath() works correctly (AK)
- manual/jserv can now take -J arguments (after the first argument), which it will pass on
to Java (AK)
Apache JServ 0.9.5a - August 13, 1997
(Alexei Kosut)
- Added "watcher" process to handle signals and allow graceful
restart/termination of servlets (AK)
- New C program for use with manual mode (see manual/README) (AK)
- Moved Java classes and source to the classes directory (AK)
- Split Java source into several files instead of one (AK)
- Added Makefile to classes/apache/jserv (AK)
- Work around bug in the Linux JDK's java.net.Socket class (AK)
Apache JServ 0.9.4a - August 7, 1997
(Alexei Kosut)
- Default properties file changed to conf/servlets.properties (AK)
- Support for servlet aliases in servlets.properties (AK)
- Can now load servlets on startup (servlets.startup property) (AK)
- New ServletErrorLog directive can log System.err output from Java (AK)
- Exceptions and Errors caught from servlets will print a stack trace to ServletErrorLog
if active (or with -t switch in manual mode)
Apache JServ 0.9.3a - July 31, 1997
(Alexei Kosut, Jordan Mendelson, Ian Kluft)
- Fixed socket code so it will work with Linux (JM)
- Added more secure auth string, ServletAuthExport directive (IK)
- getServlets() now returns the correct object (AK)
- sendError() now closes the connection directly after sending the error (AK)
Apache JServ 0.9.2a - July 30, 1997
(Alexei Kosut)
- Added ServletManual directive and "-m" flag to JServHandler, to allow for
manual starting/stopping of JServHandler (AK)
- Put additional check into JServHandler to ensure that the request comes from the local
host (127.0.0.1) (AK)
- Properly handle exceptions and errors generated by the servlet (AK)
Apache JServ 0.9.1a - July 30, 1997
(Alexei Kosut)
- Fixed so mod_jserv.c will work with Apache 1.2 (AK)
- Made sendError(int) work correctly (AK)
Apache JServ 0.9a - July 29, 1997
(Alexei Kosut)
Copyright (c) 1997-99 The
Java Apache Project.
$Id: changes.html,v 1.72 1999/06/11 20:36:53 jonbolt Exp $
All rights reserved.