New Features
12 March 2001 - Version 2.1.10
The following list describes each of the changes in VolanoChat
2.1.10. This version fixes bugs in the VolanoChat server which could
allow non-Volano clients to perform operations not permitted by the
VolanoChat, MyVolanoChat and WebVolanoChat applets.
- Close connections sending multiple access requests.
- Modified the VolanoChat server to close any connections which send in
more than one access request. Such connections are closed with status
code 400 (Bad Request).
- Close connections sending multiple enter room requests.
- Fixed the VolanoChat server to allow a particular connection to put
only one user into a room at a time and to remove that user regardless
of the user name provided when leaving the room. Connections are closed
with status code 400 (Bad Request) when there is an attempt to put more
than one user at a time into a room.
- Close connections sending empty user names or chat messages.
- Changed the VolanoChat server to trim specific received strings of
leading and trailing blanks. If certain required strings subsequently
have zero length, the connection is closed with status code 400 (Bad
Request).
- Check for empty password.
- Fixed a bug that could allow non-Volano clients to obtain monitoring
privileges when the server-wide monitor password was set to an empty
string.
- Check for name spoofing.
- Fixed bugs which could allow non-Volano clients to send in messages
as if they were someone else.
- Put IP addresses back into profile fields for monitors.
- Changed the monitor and administrator interface so that the IP addresses
of visitors are displayed in the status area along with the other
profile information as they were before version 2.1.8. The Identify menu
item is removed since it is no longer needed.
- Enhance administrator control of monitoring applet interface.
- Changed the applet default values for the Remove, Kick, and Ban menu
item text to a zero-length string so that their display can be
controlled only through the properties file on the server. With this
change, the menu text cannot be brought back in the applet by removing
the
text applet parameter.
- Fix NullPointerException in BannerPlayer applet.
- Changed the BannerPlayer applet to check whether it successfully
loaded a banner image before trying to remove it when the chat room
window is closed. Without this change, the BannerPlayer sometimes
reported a
java.lang.NullPointerException in the Java
Console when it was unable to display a banner image and the chat room
window was closed.
16 November 2000 - Version 2.1.9
Added a new applet property page.exit.error for the
VolanoChat and MyVolanoChat applets, allowing you to display a specific
Web page when the applet windows are closed after being disconnected.
The page.exit property defines a Web page to be displayed
when a visitor ends the connection to the VolanoChat server by closing
the applet's windows. The page.exit.error property defines
a Web page to be displayed when a visitor closes the applet's windows
after being disconnected from the VolanoChat server.
28 October 2000 - Version 2.1.8
The following list describes each of the changes in VolanoChat 2.1.8.
This version allows VolanoChatPro customers to set up an environment in
which monitors are much less likely to share their monitoring
capabilities with others. This version also includes changes to prevent
private chat flooding and to restrict access to visitor's IP
address information.
- Added limit on received private chat requests.
- Modified the VolanoChat, MyVolanoChat and WebVolanoChat applets to
check the private room limit, defined by the
limit.private
applet property, when receiving private chat indications in addition to
the check when sending private chat requests. This check prevents
non-Volano clients from opening up an unlimited number of private chat
windows on the system of someone using a Volano client.
- Added property for restricting IP address information.
- Added a VolanoChat server property,
address.broadcast,
to determine whether the VolanoChat server sends the client applet's
host name or IP address to all other clients (when true) or
avoids sending the information (when false). The default
value is false. The default value of the property prevents
people from obtaining IP addresses using TCP/IP trace tools or
non-Volano clients.
- Added new menu item for monitors and administrators.
- Added an Identify menu item to the People menu of the
VolanoChat applet for monitors and administrators. When selected for a
user in a chat room, it returns the host name or IP address of the user.
The menu item contains the text defined by the
text.menu.people.identify applet property, and the
information is displayed using the template defined by
text.status.identify.
- Added support for membership-based monitors. (VolanoChatPro only)
- Added support for a list of member monitors, defined by a new server
property
member.monitors. The value of the property is the
name (or path) of a file containing the list of member monitors, with
one name per line. The file allows you to specify a list of your members
who may act as monitors instead of, or in addition to, using the
server-wide monitor password server.password. If a member
acting as a monitor kicks or bans another person from the VolanoChatPro
server, the member name of the monitor is recorded in the access log
file in addition to the monitor's IP address (which has always been
logged).
- Added property for setting case sensitivity in member monitor names.
- Added a server property
member.monitor.matchcase which
determines whether to match the case of the member names when looking up
member monitors in the list. The default value is false, in
which case both the requested member name and the list are converted to
lower case characters before comparing their values. Otherwise, the
names are matched in a case-sensitive manner when true.
- Added property for preventing multiple member monitors with the same name.
- Added a server property
member.monitor.multiuse which,
when set to true, allows more than one person with the same
member name to be signed into the server at the same time. The default
value is false, which disconnects any other person using
the same member-monitor name when a member signs in as a member-monitor.
- Added property for enabling monitor interface.
- Added a new applet property
member.monitor which
enables the monitoring user interface in the VolanoChat applet when
true, but allows it to work only for authorized member
monitors.
- Added check to prevent kicking of monitors.
- Monitors and administrators can no longer remove, kick, or ban other
monitors or administrators.
- Changed applets to replace non-breaking space character.
- Added the non-breaking space to the default value of the character
replacement properties
char.replace.old and
char.replace.new so that it cannot be used to simulate a
new line in a chat message. By default, the non-breaking space, line
feed, and carriage return characters within a message are replaced by a
normal space character.
- Added property for restricting administrator connections.
- Added a server property
admin.client.host which
restricts connections to the administrative port to a particular client
IP address or host name. The default value is 127.0.0.1
(localhost). An empty value allows connections to the administrative
port from any client, but the password defined by
admin.password is required (as in earlier versions) in
order to run COM.volano.Status or COM.volano.Shutdown on the VolanoChat
server.
- Added check for non-Volano clients sending administrator broadcasts.
- Modified the VolanoChat server to make sure administrator broadcast
messages do not specify a room name, solving a problem with some
non-Volano client applications.
03 July 2000 - Version 2.1.7
The following list describes each of the changes in VolanoChat 2.1.7.
- Fixed
"exception: java.lang.NullPointerException".
- Fixed the bug where Internet Explorer displays the message,
"exception: java.lang.NullPointerException", and Netscape
displays, "Applet COM.volano.VolanoChat can't start:
ERROR", if any of the VolanoChat applet true or false properties
are left undefined in its properties file.
- Added internal default applet property values.
- Added internal default values for all of the applet properties to
the applets themselves, including the boolean and text properties, so
that the applets will function even when they can't load their
properties file.
- Fixed a bug in member-only access security.
- Fixed the server so that it doesn't depend on the client to close
the connection when a member tries to enter with an incorrect member
name or password. This bug could allow a non-Volano client applet or
application to enter the VolanoChatPro server as a non-member even with
"member.only=true".
10 May 2000 - Version 2.1.6
The following list describes each of the changes in VolanoChat 2.1.6.
- Fixed idle timeout in MyVolanoChat
- Fixed the MyVolanoChat applet to respond to keep-alive
messages from the VolanoChat server. This bug was introduced in
VolanoChat 2.1.4 when code was added to allow the MyVolanoChat applet to
enter an event auditorium as an audience member. The bug turned the
internal dead session timeout into an actual idle timeout,
causing end users to be disconnected by default after 20 minutes if they
didn't type any messages. The fix lets the MyVolanoChat applet respond
to the internal messages so that end users are not disconnected.
09 May 2000 - Version 2.1.5
The following list describes each of the changes in VolanoChat 2.1.5.
- Support for Netscape 6 Preview Release 1
- Modified the VolanoChat applets to work with the Sun JDK 1.3.0rc1
virtual machine available with Netscape 6 Preview Release 1 on Windows.
- Ignoring keys
- Added the applet properties
key.ignore.alt,
key.ignore.ctrl, key.ignore.meta, and
key.ignore.shift to specify which key combinations should
be ignored by the applets. For example, you can block the keyboard
shortcuts Ctrl-V and Shift-Ins for pasting text into a text field on
Windows.
- Replacing characters
- Added the applet properties
char.replace.old and
char.replace.new to specify a list of characters which
should be replaced with new values in each chat message. For example,
you can specify that a new line or carriage return character be replaced
with a space so that messages from one user cannot be made to appear to
be from another.
- WebVolanoChat title label
- Added a parameter
title to the WebVolanoChat applet
which allows you to replace the room name title at the top of the applet
with a text string of your own.
- BannerPlayer initial display
- Modified the BannerPlayer applet to repaint the banner after a
navigation bar has been added so that the banner displays in the correct
location. Otherwise, the first banner displayed by the applet instance
was placed too far down when there was a navigation bar and the image
was already loaded.
- BannerPlayer image observing
- Modified the banner component of the BannerPlayer applet to stop
observing images after it is no longer being displayed. This should
greatly reduce the memory used by the BannerPlayer applet when
displaying many animated GIF images.
- BannerPlayer caching
- Modified the banner component of the BannerPlayer applet to flush
its image after it is no longer being displayed when caching is
disabled, rather than flushing it before the image is loaded.
- Membership lookup as NT Service
- Fixed the VolanoChatPro server to avoid a
java.lang.NullPointerException when looking up membership
information while running as a Windows NT Service.
java.lang.IllegalArgumentException: port out of range: -1
- Fixed the VolanoChatPro server to avoid a
java.lang.IllegalArgumentException by setting the default
HTTP port to 80 when invoking the member access and member name CGI
scripts.
15 November 1999 - Version 2.1.4
The following list describes each of the new features in VolanoChat
2.1.4.
- Timeout and trace for member database scripts
- Added the server properties
script.timeout and
script.trace. The script timeout specifies the number of
seconds that the VolanoChatPro server will wait for a response from the
member access and member name scripts before giving up. The script
trace specifies whether or not to trace HTTP requests and responses from
the member access and name scripts. If the access script times out, the
requesting member name and password is denied access as a member. If
the name script times out, the name is permitted even if it happens to
be a member name.
- New browser window for Web pages
- Added an applet property
page.newwindow. When
true, the applet opens a new browser window to display Web
pages defined by the page.access.* and
page.exit properties using a target name of
_blank. When false, the applet displays these
pages by replacing its own page.
- Customizable room sweep interval
- Added a
room.sweep.interval server property to define
the interval in minutes at which the list of rooms is swept for those
that are empty and not referenced by visitors.
- Blocking dynamic rooms
- Added a
room.nodynamic server property which prevents
the creation of any dynamic chat rooms when set to true
since there are ways to work around the Web page referrer access
control.
- Easier event moderation
- Changed the event moderator interface to add questions at the top of
the list so that the moderator does not need to scroll down as each new
question is posted.
The following list describes each of the bug fixes and other minor
enhancements in VolanoChat 2.1.4.
- Flashing list of names
- Fixed the flashing of the list of names when someone enters or
leaves a room in the VolanoChat, MyVolanoChat, and WebVolanoChat
applets. The flashing was due to a change made to work around bugs in
the first release of Internet Explorer 4.01, but the latest Microsoft VM
for Java for that browser (VM Build 4.79.0.2436) fixes the problem.
- MyVolanoChat for event audience
- Fixed the MyVolanoChat applet so that it can enter an event
auditorium as an audience member. It was hanging after pushing the
button on the Web page when incorrectly trying to process its own enter
room indication as a normal enter room confirmation.
- WebVolanoChat for event audience
- Fixed the WebVolanoChat applet to work correctly when used by
someone in the audience of a moderated event.
- WebVolanoChat private chat limits
- Fixed the WebVolanoChat applet to check the
limit.private property before allowing private chat
sessions.
- WebVolanoChat and member profiles
- Fixed the WebVolanoChat applet to use the profile returned by the
membership access script unless the member provides a new profile before
entering the room. A profile specified as a WebVolanoChat parameter on
the Web page overrides a profile returned by the membership access
script, and allows the member to enter the room automatically as soon as
the page loads.
- WebVolanoChat disappearing names
- Fixed a bug in the WebVolanoChat applet in which a name could
disappear from the list even though the person was still in the room.
- WebVolanoChat name list width
- Set the list of users in the WebVolanoChat applet to a width of 20
columns, since it shows up too small on the Macintosh with its default
width.
- WebVolanoChat member links
- Fixed the WebVolanoChat applet to links to the member document
script.
- WebVolanoChat colors
- Fixed the WebVolanoChat applet to set the background and foreground
colors of each component explicitly, rather than letting the browser
decide whether to inherit the colors from the parent panel. Now all of
the components of the WebVolanoChat applet will be set according to the
applet font, background color, and foreground color properties.
- WebVolanoChat editable names
- Fixed the WebVolanoChat applet so that the name field is editable
when the
editable.member.name property is set to
true, even if the username parameter is
defined. Note that if both the username and
profile parameters are defined on the Web page, the visitor
enters the room automatically regardless of the setting of
editable.member.name and
editable.member.profile.
- Recommended applet archive
- Changed all sample applet tags to use the JAR file instead of the
ZIP file for the applet archive, since we now recommend using the JAR
applet archive in the applet tag.
- WebVolanoChat and Java 2
- Fixed a bug in the WebVolanoChat applet which caused it to hang when
stopped while running under the JDK 1.2.2 appletviewer.
- Improved Netscape Navigator 2.02 support
- Modified the VolanoChat applet to work around a Netscape 2.02 bug
which causes the list of rooms and list of users on the main window to
get all messed up when refreshed.
27 May 1999 - Version 2.1.3
The following list describes each of the new features in VolanoChat
2.1.3.
- WebVolanoChat applet
- Added the WebVolanoChat applet which places the public chat room
directly on the Web page itself. The applet allows for the automatic
entrance of pre-defined users directly into the chat room.
See the WebVolanoChat Applet chapter
for additional information.
- Embedded logo applet
- Modified the VolanoChat applet to allow a Java applet to be embedded
in the logo area of the main window as an alternative to the single logo
image.
See the VolanoChat Properties section
for additional information on the new logo applet properties.
- Menu links
- Modified the VolanoChat and MyVolanoChat applets to allow a list of
Web links defined by the server administrator to be added as a menu on
the main window and public chat room menu bars.
See the VolanoChat Properties section
for additional information on the new menu link properties.
- Removing menu items
- Modified the VolanoChat and MyVolanoChat applets so that they remove
the menu or menu item when there is no text defined for it in their
properties. This enhancement allows the server administrator to remove
functions from the applet on different entrance pages.
- Web Touring
- Added a Web touring option to the VolanoChat and MyVolanoChat
applets which automatically opens the Web browser to a Web address typed
in a chat message when the option is enabled. The default setting of the
option can be configured by the server administrator.
- MyVolanoChat hidden prompts
- Added a
prompt parameter to MyVolanoChat which causes
the applet to hide its name and profile prompts when the
username parameter is defined.
See the MyVolanoChat Parameters
section for additional information on the new parameter.
- Web page text color
- Added a
foreground parameter to VolanoChat and
MyVolanoChat, allowing the Web page author to set the foreground text
color of the applet on the Web page in addition to the
color background setting.
See the VolanoChat Parameters
section for additional information on the new parameter.
- Web page display on exit
- Added a
page.exit property to the VolanoChat and
MyVolanoChat applets which can be used to define a Web page to be
displayed when the applet closes.
See the VolanoChat Properties section
for additional information on the new property.
- Time stamped messages
- Added a date variable to the
format.chat.public and
format.chat.private chat message log formats, allowing each
logged message to be time stamped in the log file.
See the Server Properties section
for additional information on the new formats.
- Status area mouse cursor
- Modified the status area to display a west resize mouse
cursor to make it more apparent that it can be moved to the left and
right.
- VolanoChatPro Client API
- Added the constants
REMOVE, KICK, and
BAN to the Server class for the kick method call.
02 February 1999 - Version 2.1.2
The following list describes each of the new features in VolanoChat
2.1.2. There are no changes to the server or applet properties between
VolanoChat 2.1.1 and VolanoChat 2.1.2.
- Memory Usage
- This update can dramatically decrease the memory usage of the
VolanoChat server if your server runs with hundreds of public rooms and
a large number of connections per day. Memory usage is about the same
for a small number of public rooms or few connections per day.
- ProxyServlet
- Fixes problems when using the proxy servlet to display banner
advertisements from remote cookie-based ad servers such as LinkExchange,
Flycast, and DoubleClick.
06 January 1999 - Version 2.1.1
The following list describes each of the new features in VolanoChat
2.1.1, the first release of VolanoChat 2.1.
- Event Moderation (VolanoChatPro Only)
- Added support for large events where moderators select questions
from the audience for forwarding to guests in an interview. See the new
chapter Hosting Moderated Events for
additional information.
- Chat Message Logging (VolanoChatPro Only)
- Added server-side logging of chat messages by room type, with
user-defined formatting of each chat message. See the new section
Logging Chat Messages for
additional information.
- Server-Side Event Notifications (VolanoChatPro Only)
- Added room-based server-side event notifications, with servlet
registration of a callback URL and notifications sent in XML by an HTTP
POST request. See the new section Listening
for Events for additional information.
- Public Personal Rooms (VolanoChatPro Only)
- Added a new VolanoChat applet parameter named
public,
allowing personal rooms to be added to the list of public rooms
available in the VolanoChat server.
- Two-Tier Membership (VolanoChatPro Only)
- Allowed for the member access script to decide whether or not the
member link should be displayed along with the profile.
- Web-Based Applet Configuration
- Added a new applet configuration servlet, allowing modification of
all VolanoChat applet properties by submitting a form on a Web page. See
the new section Web-Based
Configuration for additional information.
- BannerPlayer and ProxyServlet Enhancements
- Made major modifications to the banner player applet and proxy
servlet to support cookie-based ad servers such as LinkExchange,
Flycast, and DoubleClick. See the new chapter
Using Remote Ad Servers for
additional information.
- Applet Resources
- Made all applet resources, such as Web pages, images, and sounds,
relative to the location of the applet properties file instead of
relative to the applet code base. Embedded applets also obtain their
resources relative to their properties file instead of the actual code
base.
- New
page.use.document.base Property
- Added the property
page.use.document.base to allow the
applet's Web pages to be loaded relative to the document base instead of
the code base.
- Sun JSDK 2.0 Upgrade
- Upgraded to Sun's Java Servlet Development Kit (JSDK) Version 2.0
for the VolanoChat server's embedded Java servlet runner.
- HTTP Keep-Alive Support
- Modified URL invocations in the server to support HTTP keep-alive
connections when invoking member database scripts, server-side event
listeners, and proxy servlet connections.