Tue Aug 18 10:35:35 2009 PDT suhler

update: sql/Makefile, sql/SqlTemplate.java
lint
Tue Aug 18 10:29:28 2009 PDT suhler

update: sql/SqlTemplate.java, samples/simple/config.sql, samples/simple/sql.html
update sql template to support dynamically created connections
Tue Aug 11 11:04:40 2009 PDT suhler

create: samples/simple/index.htm
update: samples/simple/Makefile, samples/simple/config.builtin, docs/overview.html
add page to "overview" with links to several examples
Tue Aug 11 09:42:17 2009 PDT suhler

update: sunlabs/Makefile, samples/simple/README, samples/simple/Makefile
update build scripts
Tue Aug 11 09:40:34 2009 PDT suhler

create: sunlabs/PhoneFilter.java, samples/simple/config.phoneproxy, samples/simple/phoneproxy.html
add proxy/content filter
Tue Aug 11 09:38:50 2009 PDT suhler

update: samples/simple/config.nat
update nat example
Tue Aug 11 09:36:46 2009 PDT suhler

create: samples/simple/config.fcgi
update: fastcgi/FastCgiHandler.java
clean up fcgi docs, add example configuration
Mon Aug 10 11:17:20 2009 PDT suhler

update: handlers/CgiHandler.java, fastcgi/FastCgiHandler.java
Add missing "REQUEST_URI" environment variable
Add configuration to allow additional environment vars to FastCGI
Sat Aug 8 15:40:01 2009 PDT suhler

create: fastcgi/FastCgiHandler.java
update: sunlabs/Makefile
Add FastCGI handler
Mon Jul 20 13:20:29 2009 PDT suhler

create: ssh/SshTemplate.java, ssh/README, ssh/Makefile
update: Makefile
Add "ssh template" to create ssh session using <ssh ...>
Mon Jul 13 14:38:40 2009 PDT suhler

update: json/JSONTemplate.java
documentation fixes
Mon Jul 13 14:38:16 2009 PDT suhler

create: samples/simple/json.html, samples/simple/config.json
update: samples/simple/Makefile, samples/simple/README
add JSON example
Mon Jul 13 14:37:57 2009 PDT suhler

update: samples/simple/config.proxy
remove deprecated functionallity
Mon Jul 13 13:54:22 2009 PDT suhler

update: json/JSONTemplate.java
Merged implicit and explicit JSON generation, deprecate <json> tag
Fri Jul 10 11:48:34 2009 PDT suhler

update: sunlabs/PipeTemplate.java
capture stderr (non line buffered) as well as stdout
Thu Jul 9 07:59:24 2009 PDT suhler

update: sunlabs/DataImageTemplate.java
Make Cache thread safe, add "force" to refresh cache.
Wed Jul 8 15:06:32 2009 PDT suhler

create: sunlabs/DataImageTemplate.java
update: sunlabs/Makefile
Added DataImageTemplate that converts images into inline data:
<img src=fool.gif> -> <img src=data:image/gif;base64,.....>
Wed Jul 8 07:53:04 2009 PDT suhler

update: handlers/templates/SetTemplate.java
doc updates
Wed Jul 8 07:48:33 2009 PDT suhler

update: sunlabs/JSONTemplate.java, json/JSONTemplate.java
doc fixes
Tue Jul 7 15:59:32 2009 PDT suhler

update: xmpp/IMTemplate.java
doc fixes, add "id" to event list
Tue Jul 7 15:58:12 2009 PDT suhler

update: handlers/templates/SetTemplate.java, sunlabs/ListTemplate.java
make namespace load() and store() convenience methods public in SetTemplate
add "load" and "store" options to the ListTemplate
Tue Jul 7 10:08:58 2009 PDT suhler

update: sunlabs/InitTemplatesHandler.java
set "Initializing" request property so templates can tell if they are being initialized
Mon Jul 6 08:38:24 2009 PDT suhler

update: json/JSONTemplate.java
added <item name=xxx valueinline [trim eval]>value is here</item>
to accept values as inline markup
Wed Jul 1 14:49:49 2009 PDT suhler

update: sunlabs/ListTemplate.java
doc fixes
Wed Jul 1 11:43:53 2009 PDT suhler

update: sunlabs/MiscTemplate.java
add the "hidetags" conversion to <stringop ..> to escape < and > only.
Tue Jun 30 13:36:30 2009 PDT suhler

create: sunlabs/InitTemplatesHandler.java
update: sunlabs/Makefile, tests/TestRequest.java
Add "InitTemplatesHandler" to initialize a set of templates (for their side effects).
- Make testRequest return values for getSocket().get*Address()
Tue Jun 30 09:37:34 2009 PDT suhler

update: sunlabs/MiscTemplate.java
add "min" and "max" options to <sequence> to limit the number of
values returned
Tue Jun 30 09:35:16 2009 PDT suhler

update: handlers/templates/BSLTemplate.java
add "index=nnn" to <foreach> to provide the iteration count of each item,
starting at nnn.
Fri Jun 12 13:28:30 2009 PDT suhler

create: json/JSONTemplate.java, json/Makefile
Added JSON->properties and properties->json manipulation.
This uses the json library at json.org.
- <json> and <json2props> can be used to convert json to properties and back
- <array> <item> <object> can be used to generate json from BSL markup
Mon Jun 8 09:30:19 2009 PDT suhler

update: proxy/Makefile
remove SunProxy from makefile - its obsolete (and no longer works)
Thu Jun 4 14:35:12 2009 PDT suhler

update: sunlabs/ScanHtml.java, sunlabs/ScanTemplate.java
Added <set ....> to ScanTemplate
Thu Jun 4 14:34:45 2009 PDT suhler

update: samples/simple/config.scan, samples/simple/scan.html
added more examples
Wed Jun 3 10:58:03 2009 PDT suhler

update: sunlabs/WebMountHandler.java
- added timeouts on server requests
- added option to add "path=/" to all rewritten cookie requests
Wed Jun 3 10:56:40 2009 PDT suhler

update: handlers/templates/BSLTemplate.java
added "track" options to track (some) variable settings on the console
Wed Jun 3 10:53:02 2009 PDT suhler

update: util/LexML.java
javadochttp status codes apichanged some variable scoping to make it easier for subclasses
to modify behavior
Wed Jun 3 10:51:41 2009 PDT suhler

update: request/HttpRequest.java
Added setTimeout() to limit the time spent fetching a response from the server
Wed May 27 12:29:41 2009 PDT suhler

create: samples/simple/config.scan, samples/simple/scan.html
update: samples/simple/Makefile, samples/simple/README
add sample use of "ScanTemplate"
Wed May 27 12:07:34 2009 PDT suhler

create: sunlabs/ScanHtml.java, sunlabs/ScanTemplate.java
Created the ScanTemplate for manipulating HTML documents
Wed May 13 14:11:51 2009 PDT suhler

update: sunlabs/PipeTemplate.java
Add "id"'s to processes along with the ability to kill them
Tue May 12 10:34:29 2009 PDT suhler

update: sunlabs/WebMountHandler.java
add "configurationChanged" property to allow on-the-fly
configuration changes
Tue May 12 07:37:45 2009 PDT suhler

update: sunlabs/InstallHttpsHandler.java, sunlabs/TrustMeHandler.java
- Add "trust all SSL hosts" capability to the InstallHttpsHandler
- Add docs to InstallHttpsHandler, and TrustMeHandler
Wed Apr 22 11:59:21 2009 PDT suhler

update: util/StringMap.java
add toString() arg to specify item delimiter for neater output
Wed Apr 22 11:52:14 2009 PDT suhler

create: sunlabs/MapHrefTemplate.java
update: sunlabs/Makefile
add MapHrefTemplate to allow template based url rewriting
Wed Apr 22 11:50:09 2009 PDT suhler

update: handlers/templates/DebugTemplate.java
fixed output selection
Wed Apr 22 11:47:49 2009 PDT suhler

update: sunlabs/MiscTemplate.java
elide tailing tag
Wed Apr 22 11:46:55 2009 PDT suhler

update: sunlabs/WebMountHandler.java
Add support for cookie path rewriting
(this needs to be refactored)
Fri Apr 3 13:27:40 2009 PDT suhler

update: server/Main.java, util/MatchString.java
Allow the default MatchString prefix to be changed globally
Fri Apr 3 13:26:45 2009 PDT suhler

update: proxy/ProxyHandler.java, server/Request.java
Add "tansparent mode to proxy, expose request protocol via public method
Fri Mar 27 09:21:46 2009 PDT suhler

update: filter/SessionFilter.java
lint
Fri Mar 27 09:19:35 2009 PDT suhler

update: filter/ReFilter.java
fixed bogus comparison (bug fix)
Fri Mar 27 08:56:14 2009 PDT suhler

update: filter/ReplaceFilter.java
add "capture" option to retain previous content in a request property
Fri Mar 27 08:09:52 2009 PDT suhler

update: filter/TemplateFilter.java
remove Accept-encodings from client request (we don't handle them properly)
Thu Feb 12 14:44:36 2009 PDT suhler

update: sunlabs/MapHtmlUrl.java
documentation enhancements
Thu Feb 12 14:06:57 2009 PDT suhler

update: handlers/templates/SetTemplate.java
Document "track" attribute of <set>, change output from stdout to stderr
Thu Feb 12 14:03:13 2009 PDT suhler

update: util/Format.java
added convenience method: stringToInt
Thu Feb 12 10:42:35 2009 PDT suhler

create: sunlabs/InstallHttpsHandler.java
Install "https" into HttpRequest
Thu Feb 12 10:15:26 2009 PDT suhler

update: sunlabs/WebMountHandler.java
- add getheaders param to add response headers to request
- add doStyle to enable URL rewrites in inline styles
Thu Feb 12 10:12:05 2009 PDT suhler

update: filter/FilterHandler.java
add typePrefix param to restrict filtering to specified document types
Fri Jan 30 16:41:29 2009 PDT suhler

update: sunlabs/JSONTemplate.java
nit
Fri Jan 30 16:40:09 2009 PDT suhler

update: sunlabs/FetchTemplate.java
doc changes -> deprecated
Fri Jan 30 16:39:46 2009 PDT suhler

update: sunlabs/WebMountHandler.java
changes for HttpRequest rewrite
Fri Jan 30 16:39:28 2009 PDT suhler

update: sunlabs/ListTemplate.java
innerclass -> static
Fri Jan 30 16:22:11 2009 PDT suhler

update: request/HttpRequest.java, request/Makefile
delete: request/HttpSocketPool.java, request/HttpSocket.java, request/HttpsRequest.java
HttpSocket and HttpSocket pool => inner classes in HttpRequest
HttpsRequest replaced by InstalHttpsHandler: we no longer subclass HttpRequest, but install a new socketPool.
Fri Jan 30 16:20:32 2009 PDT suhler

update: util/Calculator.java, util/Makefile, util/Sort.java
delete: util/SocketFactory.java
SocketFactory is no longer (use HttpRequest.SocketPool instead)
Fixed stupid typo in Sort.java
make "innerclass" in Calculator
Tue Jan 20 14:07:08 2009 PDT suhler

create: request/HttpsRequest.java
update: sunlabs/Makefile, request/HttpRequest.java, request/Makefile
rationalize HttpsRequest integration
Fri Jan 16 16:34:58 2009 PDT suhler

create: sunlabs/MapHtmlUrl.java
update: sunlabs/WebMountHandler.java, sunlabs/Makefile
Refactored MapPage - its now MapHtmlUrl
Changed WebMountHandler to use MapHtmlUrl and rewrite links
in stylesheets
Mon Dec 15 13:21:37 2008 PDT suhler

create: sunlabs/WebMountHandler.java
update: sunlabs/Makefile
Added "WebMountHandler", a simplified version of the MultiProxyHandler:
 - it handles https as well as http
 - it uses the JDK's http stack, so it doesn't do connection cacheing
 - it has a simplified configuration syntax
Mon Dec 15 13:19:25 2008 PDT suhler

update: sunlabs/MiscTemplate.java
add <replace> tag as a simplified version of <extract>
for doing regular expression substititutions
Mon Dec 15 13:17:42 2008 PDT suhler

update: handlers/templates/TemplateTemplate.java
add option to allow result to be put into a variable instead of inline
Fri Nov 7 11:51:17 2008 PDT suhler

update: handlers/SimpleSessionHandler.java
expose query parameters in ${..} substitutions for "extract" parameter
this makes it easier to user query parameters (either GET or POST) in
session id calculations
Fri Oct 24 10:09:20 2008 PDT suhler

update: handlers/templates/IncludeTemplate.java
Fix documentation for "NoClientHeaders"
Thu Sep 11 10:17:41 2008 PDT suhler

create: sunlabs/DeCommentTemplate.java
update: sunlabs/Makefile, sunlabs/MiscTemplate.java, sunlabs/FetchTemplate.java
- Add DeCommentTemplate - this uses a different strategy than the other one
- Fix documentation for FetchTemplate.java
- <append ...> now uses namespaces consistently
Wed Aug 20 08:07:09 2008 PDT suhler

update: sunlabs/ExecTemplate.java
add timelimit attribute to <exec ..>
Mon Aug 18 15:09:53 2008 PDT suhler

create: docs/packages/sunlabs.brazil.exif.package.html, docs/packages/sunlabs.brazil.xmpp.package.html
just added
Mon Aug 18 14:57:01 2008 PDT suhler

create: xmpp/IMTemplate.java, xmpp/Makefile, xmpp/README
initial pass at XMPP client template using "smack"
Thu Aug 14 16:03:06 2008 PDT suhler

create: sunlabs-external/EXIFTemplate.java, sunlabs-external/Makefile, sunlabs-external/README
added EXIFTemplate for extracting metadata ourt of JPEG images
Tue Jul 29 15:42:45 2008 PDT suhler

update: servlet/BrazilServlet.java
reduce log level of servlep path not empty WARNING -> INFORMATIONAL
Tue Jul 29 15:39:02 2008 PDT suhler

update: server/FileHandler.java, server/Request.java, server/Server.java
- be more generous when considering POST data to be www-form-encoded
- add "strict" mime type (FileHandler)
- Diagnostic fixes (Server)
Fri Jul 25 07:28:24 2008 PDT suhler

update: sql/SqlTemplate.java, sunlabs/MiscTemplate.java, sunlabs/PlainTemplate.java, sunlabs/ScriptServerTemplate.java
restore hr.accumulate() state
Fri Jul 25 07:26:56 2008 PDT suhler

update: python/PythonServerTemplate.java, sql/SqlTemplate.java, sunlabs/MiscTemplate.java, sunlabs/PlainTemplate.java, sunlabs/ScriptServerTemplate.java
restore hr.accumulate() state
Fri Jul 25 07:21:04 2008 PDT suhler

update: handlers/templates/BSLTemplate.java, handlers/templates/MacroTemplate.java, python/PythonServerTemplate.java, sql/SqlTemplate.java, sunlabs/MiscTemplate.java, sunlabs/PlainTemplate.java, sunlabs/ScriptServerTemplate.java
restor hr.accumulate() state properly
Fri Jul 25 07:18:47 2008 PDT suhler

update: groovy/GroovyServerTemplate.java, handlers/templates/BSLTemplate.java, handlers/templates/MacroTemplate.java, python/PythonServerTemplate.java, sql/SqlTemplate.java, sunlabs/MiscTemplate.java, sunlabs/PlainTemplate.java, sunlabs/ScriptServerTemplate.java
restor hr.accumulate() state properly
Thu Jul 24 16:52:07 2008 PDT suhler

update: beanshell/BeanShellServerTemplate.java, groovy/GroovyServerTemplate.java, handlers/templates/BSLTemplate.java, handlers/templates/MacroTemplate.java, python/PythonServerTemplate.java, sql/SqlTemplate.java, sunlabs/MiscTemplate.java, sunlabs/PlainTemplate.java, sunlabs/ScriptServerTemplate.java, tcl/TclServerTemplate.java
Make sure templates that change the token accumulation state
(e.g. hr.accumulate(false)) set it back to its prior state, instead of
assuming it should be true.
 
This allows the JSONTemplate to work properly in conjunction with these
templates without the addition of gratuitous whitespace
Thu Jul 24 10:06:32 2008 PDT suhler

update: sunlabs/JSONTemplate.java
- require explicit <json> ... </json> to activate
- rename tags, eliminating json prefix
Wed Jul 23 17:57:26 2008 PDT suhler

create: sunlabs/JSONTemplate.java
The start of a real JSON template
Wed Jul 2 15:22:05 2008 PDT suhler

create: sunlabs/ServerPropsTemplate.java
update: sunlabs/Makefile
Template to change intrinsic server settings that are (till now) settable only on server startup
Wed Jun 25 15:18:05 2008 PDT suhler

create: sunlabs/LogTemplate.java
Template for simple logging to files
Tue Jun 24 11:49:55 2008 PDT suhler

update: handlers/templates/QueueTemplate.java
add <queueinfo max=nnn> to set the max number of queued items
Tue Jun 24 10:45:36 2008 PDT suhler

update: handlers/UrlMapperHandler.java
do more useful ${} substitutions in replace ment strings.
E.G.
  match=(.*)
  replace=https://${hostname}\\1
  redirect=true
Will map uniformly from http -> https
Thu Jun 19 13:24:06 2008 PDT suhler

update: sunlabs/FetchTemplate.java
support arbitrary HTTP methods
Thu Jun 19 13:22:13 2008 PDT suhler

update: asterisk/AsteriskHandler.java
- bug fix: multiple connections to Asterisk could happen
- added EventID to each reported event
Wed Jun 11 09:01:45 2008 PDT suhler

update: sunlabs/MiscTemplate.java
added <stringop strip=xxx>
Wed Jun 11 08:56:36 2008 PDT suhler

update: samples/simple/misc.html, sunlabs/MiscTemplate.java
Added "strip" option to "Stringop"
Mon Jun 2 14:32:50 2008 PDT suhler

update: sunlabs/TrustMeHandler.java
fix diagnostic messages
Mon Jun 2 14:31:50 2008 PDT suhler

update: handlers/templates/DeCommentTemplate.java
require log=6 for full diagnostics
Mon Jun 2 12:11:47 2008 PDT suhler

update: sunlabs/FetchTemplate.java
added "trustHost" to trust ssl hosts whose identity we can't verify
Mon May 12 13:23:38 2008 PDT suhler

create: sunlabs/RoundRobinSessionHandler.java
update: sunlabs/Makefile
Add the RoundRobinSessionHandler
Wed Mar 19 14:18:08 2008 PDT suhler

create: sunlabs/PipeTemplate.java
update: sunlabs/Makefile
Added the PipeTemplate to start and run a co-process that communicates
via its stdin and stdout.
Thu Mar 6 10:49:42 2008 PDT suhler

update: sunlabs/BasicSSLHandler.java, sunlabs/ScriptHandler.java
- it's not an error for the BasicSslHandler not to be enabled
- code cleanup on ScriptHandler
Thu Mar 6 10:48:43 2008 PDT suhler

update: Makefile.common, sunlabs/Makefile, handlers/Makefile
convert from java version checks to capabilities
Thu Mar 6 09:30:07 2008 PDT suhler

update: handlers/SslPollHandler.java
Move to ssl package, and do a bit-o code cleanup
Wed Mar 5 16:15:37 2008 PDT suhler

create: handlers/SslPollHandler.java
update: handlers/Makefile
added sslPollHandler to allow polling over https directly
Tue Mar 4 11:27:31 2008 PDT suhler

update: handlers/BasicAuthHandler.java
more javadoc fixes
Tue Mar 4 11:27:10 2008 PDT suhler

update: sunlabs/XmlTree.java, handlers/BasicAuthHandler.java
more javadoc fixes
Tue Mar 4 11:26:57 2008 PDT suhler

update: util/StringMap.java, sunlabs/XmlTree.java, handlers/BasicAuthHandler.java
more javadoc fixes
Tue Mar 4 11:02:48 2008 PDT suhler

update: handlers/templates/FormClientTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/NoImageTemplate.java, handlers/templates/QueueTemplate.java, handlers/templates/TemplateRunner.java, handlers/ReflectHandler.java, handlers/HtmlRewriter.java, handlers/GenericProxyHandler.java, proxy/CookieFilter.java, server/FileHandler.java, servlet/BServletServerSocket.java, sunlabs/ValidateTemplate.java, sunlabs/XmlTree.java, util/http/HttpUtil.java, util/Base64.java, util/LexHTML.java, util/StringMap.java
fix javadoc warnings
Tue Mar 4 10:59:59 2008 PDT suhler

update: asterisk/AsteriskHandler.java, handlers/templates/FormClientTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/NoImageTemplate.java, handlers/templates/QueueTemplate.java, handlers/templates/TemplateRunner.java, handlers/ReflectHandler.java, handlers/HtmlRewriter.java, handlers/GenericProxyHandler.java, proxy/CookieFilter.java, server/FileHandler.java, servlet/BServletServerSocket.java, sunlabs/ValidateTemplate.java, sunlabs/XmlTree.java, util/http/HttpUtil.java, util/Base64.java, util/LexHTML.java, util/StringMap.java
fix javadoc warnings
Tue Mar 4 09:56:59 2008 PDT suhler

update: sunlabs/ScriptServerTemplate.java, sunlabs/ScriptHandler.java
Diagnostic and documentation fixes
Tue Mar 4 09:55:29 2008 PDT suhler

update: samples/simple/README, samples/simple/config.interp
Add example configuration for ScriptHandler
Tue Mar 4 09:53:44 2008 PDT suhler

update: samples/simple/misc.html, samples/simple/config.misc
Add example of plugin string converters, using JSON escaper
Mon Mar 3 16:16:41 2008 PDT suhler

create: sunlabs/ScriptHandler.java
update: sunlabs/Makefile
Add ScriptHandler to invoke a javax.script engine to process a page.
Mon Mar 3 14:54:56 2008 PDT suhler

update: sunlabs/Makefile, sunlabs/ScriptServerTemplate.java
redo
Mon Mar 3 14:44:43 2008 PDT suhler

create: samples/simple/config.interp, samples/simple/interp.html
update: samples/simple/README, samples/simple/Makefile, sunlabs/Makefile, sunlabs/ScriptServerTemplate.java
Add example for ScriptServerTemplate (javascript, php, ruby) and improve its
operation
Wed Feb 27 16:40:12 2008 PDT suhler

create: sunlabs/ScriptServerTemplate.java
Template to interface with the javax.scripting stuff in java 1.6
Thu Feb 21 10:00:18 2008 PDT suhler

update: sunlabs/FetchTemplate.java
Add additional tag attributes:
- nofollow: don't follow redirects
- addclientheaders: pass client HTTP headers through
- addheaders: add additional http headers
Wed Feb 20 15:13:07 2008 PDT suhler

update: handlers/templates/IncludeTemplate.java
add "showheaders" attribute to display all target http headers on stderr
Wed Feb 20 13:09:34 2008 PDT suhler

update: server/Server.java, handlers/CgiHandler.java, sunlabs/FetchTemplate.java, handlers/templates/IncludeTemplate.java
Add "Server.version" string to use for adding to HTTP headers.
Tue Feb 19 11:39:25 2008 PDT suhler

update: asterisk/AsteriskHandler.java
Allow empty strings to be used in lieu of null for "context" and
"serverName" in "<register...>".  this makes it easier to build
register commands dynamically
Tue Feb 19 11:14:16 2008 PDT suhler

create: sunlabs/JSONConverter.java
update: sunlabs/Makefile, sunlabs/MiscTemplate.java
Replace the <stringop escape=..> option with pluggable string converters
of the form <stringop convert=xxxx> where xxxx.class implements the
plugin converter.
 
Add JSONConverter as a sample conversion plugin to implement JSON
String conversions
Fri Feb 15 16:18:16 2008 PDT suhler

update: filter/FilterHandler.java, filter/MD5Filter.java, filter/SessionFilter.java
The FilterHandler now manages the MatchString() properties for
all of it's filters, allowing them to be applied selectively based
on the URL.
 
You will need to modify any filters that use the MatchString
properties (prefix, suffix, regexp, glob, invert, ignoreCase) that
in an incompatible way
Fri Feb 15 15:53:51 2008 PDT suhler

update: util/MatchString.java
the "invert" options wasn't working (dohh!)
Mon Feb 11 13:58:39 2008 PDT suhler

update: samples/simple/misc.html
add <stringop escape=xxx> to add \'s in front of characters
Mon Feb 11 13:52:51 2008 PDT suhler

update: sunlabs/MiscTemplate.java, samples/simple/misc.html
add "escape" option to <stringop> to '\' escape stuff
Tue Feb 5 16:00:53 2008 PDT suhler

update: asterisk/AsteriskHandler.java
Re-applied missing "isConnected" changes
Mon Feb 4 15:22:52 2008 PDT suhler

update: sunlabs/IdUniquificationTemplate.java
none
Mon Feb 4 15:04:11 2008 PDT suhler

update: sunlabs/AfterTemplate.java
add "id" attribute to change the SessionID the "after" markup runs in
Mon Feb 4 14:03:13 2008 PDT suhler

update: proxy/CookieFilter.java
allow javacode to use this class (for future expansion)
Mon Feb 4 13:59:07 2008 PDT suhler

update: handlers/templates/ContentTemplate.java
gather up all externally referenced javascript sources
Mon Feb 4 13:56:50 2008 PDT suhler

update: asterisk/AsteriskHandler.java
Use StringMap.append() call instead of copy loop
Mon Feb 4 13:53:32 2008 PDT suhler

update: servlet/BServletRequest.java
Make sure "url.orig" is set properly
Mon Feb 4 13:51:26 2008 PDT suhler

update: request/HttpRequest.java
Don't import "Server".  This allows HttpRequest to be used in different
contexts (e.g. stand-alone) easier
Mon Feb 4 13:49:27 2008 PDT suhler

update: ldap/LDAPTemplate.java
- add timeout option
- add ldap passwords readable from a file or stdin
Mon Feb 4 13:40:17 2008 PDT suhler

update: handlers/GenericProxyHandler.java
rewrite set-cookie header domains properly for proxying
Mon Feb 4 13:37:25 2008 PDT suhler

update: handlers/templates/AddHeaderTemplate.java
Allow variable substitutions in attribute names, to allow header
names (in http) to be generated dynamically
Mon Feb 4 13:33:51 2008 PDT suhler

create: sunlabs/TrustMeHandler.java
update: sunlabs/Makefile
Add trustme handler to allow unverifyablse hosts to be used
with the FetchTemplate
Mon Jun 25 11:25:18 2007 PDT suhler

update: request/HttpRequest.java, sunlabs/HighlightFilter.java
- make getEncoding() a public static in HttpRequest.  This also
  changes the semantics of getEncoding() to be more inline with the
  HTTP spec (e.g. getEncoding returns the HTTP default encoding
  "ISO-8859-1" instead of null if no encoding was found)
- HighlightFilter does proper charset decoding/encoding, and deals with
  "empty" re's properly
Thu Jun 21 16:44:10 2007 PDT suhler

create: samples/simple/config.highlight, samples/simple/highlight.html
update: samples/simple/Makefile, samples/simple/README
Add "highlighting" example. Demonstrates using a proxy (with digest
authentication) whose functionallity can be customized per user.  This
example implements a "find all" search capability for the entire web.
Thu Jun 21 16:22:43 2007 PDT suhler

create: sunlabs/HighlightFilter.java
update: sunlabs/Makefile
Add "HighlightFilter".  this filter allows for html content to
be rewritten based on regular expression substitutions.  Unlike
the ReFilter, which process the content as a single String, this
filter is aware of the html markup, and only does substitutions
where html can be safetly modified
Thu Jun 21 16:02:49 2007 PDT suhler

update: sunlabs/DigestAuthHandler.java
- Add option to perfom proxy authentication
- more robust URI checking in challenge/response
- support dynamic account generation
Thu Jun 21 15:37:17 2007 PDT suhler

update: server/Request.java, filter/FilterHandler.java
Bug fix: when filtering content that was retrieved via chunked
encoding, sometimes sendResponse() was re-chunking the content before
handing it to the filters, which were getting "chunked" content.
 
- added canChunk() method to HttpOuputStream, which is overrided in
  the FilterHandler to prevent rechunking to be filtered content.
Thu Apr 19 15:58:39 2007 PDT suhler

create: samples/conman/misc/sample.conf
update: samples/conman/misc/Makefile, samples/conman/misc/README, samples/conman/misc/conf2.conf, samples/conman/README, samples/conman/config.conman, samples/conman/config.server, samples/conman/index.html
delete: samples/conman/misc/iax.conf, samples/conman/misc/extensions.conf
documentation fixes
Wed Apr 18 10:06:18 2007 PDT suhler

create: docs/html/highlights.html, docs/packages/sunlabs.brazil.asterisk.package.html, docs/scripts/de-inner.tcl
update: docs/overview.html, docs/Makefile, docs/html/intro.html
documentation updates
Wed Apr 18 08:25:55 2007 PDT suhler

create: samples/simple/config.nat
update: samples/simple/README
added "config.nat" example to demo simple "reverse proxy" operation
Mon Apr 16 15:19:52 2007 PDT suhler

update: samples/README, samples/conman/misc/Makefile, samples/conman/misc/conf2.conf, samples/conman/misc/checkbsl, samples/conman/misc/dumpastdb.tcl, samples/conman/misc/freetts, samples/conman/misc/loadastdb.tcl, samples/conman/Makefile, samples/conman/README, samples/conman/conf.html, samples/conman/config.conman, samples/conman/confadmin-advanced.html, samples/conman/confadmin-simple.html, samples/conman/config.debug, samples/conman/config.help, samples/conman/config.server, samples/conman/config.title, samples/conman/createconf.html, samples/conman/credentials, samples/conman/db.html, samples/conman/debug.html, samples/conman/debug.template, samples/conman/index.html, samples/conman/init.macros, samples/conman/login.html, samples/conman/logout.html, samples/conman/main.template, samples/conman/min.template, samples/conman/monitor.html, samples/conman/poll.html, samples/conman/process.html, samples/conman/props.html, samples/conman/server.html, samples/conman/run, samples/conman/signup.html, samples/conman/std.js, samples/conman/style.css, samples/conman/userprefs.html
- added (c) notices to all files
- removed references to internal names and passwords
Wed Apr 11 15:48:40 2007 PDT suhler

create: samples/conman/admin/ast.html, samples/conman/admin/conf.html, samples/conman/admin/command.html, samples/conman/admin/db.html, samples/conman/admin/eval.html, samples/conman/admin/confadmin-advanced.html, samples/conman/admin/debug.html, samples/conman/admin/msg.html, samples/conman/admin/getconfs.html, samples/conman/admin/index.html, samples/conman/admin/meetmeadmin.html, samples/conman/admin/monitor.html, samples/conman/admin/monkey.html, samples/conman/admin/mute.html, samples/conman/admin/props.html, samples/conman/admin/namespaces.html, samples/conman/admin/putconfs.html, samples/conman/admin/server.html, samples/conman/admin/system.html, samples/conman/admin/validate.html, samples/conman/admin/webusers.html, samples/conman/admin/Makefile, samples/conman/images/Makefile, samples/conman/images/README, samples/conman/images/baby_mute.gif, samples/conman/images/BrazilPowered.gif, samples/conman/images/baby_off.gif, samples/conman/images/baby_on.gif, samples/conman/images/beer_mute.gif, samples/conman/images/beer_off.gif, samples/conman/images/beer_on.gif, samples/conman/images/boot3.gif, samples/conman/images/cdog_mute.gif, samples/conman/images/cdog_off.gif, samples/conman/images/cdog_on.gif, samples/conman/images/dog_mute.gif, samples/conman/images/dog_off.gif, samples/conman/images/dog_on.gif, samples/conman/images/face_mute.gif, samples/conman/images/face_off.gif, samples/conman/images/face_on.gif, samples/conman/images/reset.gif, samples/conman/images/lock.gif, samples/conman/images/kbd_mute.gif, samples/conman/images/kbd_off.gif, samples/conman/images/kbd_on.gif, samples/conman/images/loud.gif, samples/conman/images/quiet.gif, samples/conman/images/monkey.gif, samples/conman/images/turkey_mute.gif, samples/conman/images/turkey_off.gif, samples/conman/images/turkey_on.gif, samples/conman/images/unlock.gif, samples/conman/misc/Makefile, samples/conman/misc/iax.conf, samples/conman/misc/README, samples/conman/misc/app_meetme.c, samples/conman/misc/conf2.conf, samples/conman/misc/extensions.conf, samples/conman/misc/checkbsl, samples/conman/misc/dumpastdb.tcl, samples/conman/misc/freetts, samples/conman/misc/loadastdb.tcl, samples/conman/Makefile, samples/conman/README, samples/conman/TODO, samples/conman/conf.html, samples/conman/config.conman, samples/conman/confadmin-advanced.html, samples/conman/confadmin-simple.html, samples/conman/config.debug, samples/conman/config.help, samples/conman/config.server, samples/conman/config.title, samples/conman/createconf.html, samples/conman/credentials, samples/conman/db.html, samples/conman/debug.html, samples/conman/debug.template, samples/conman/favicon.ico, samples/conman/index.html, samples/conman/init.macros, samples/conman/message.html, samples/conman/login.html, samples/conman/logout.html, samples/conman/main.template, samples/conman/newpass.html, samples/conman/min.template, samples/conman/monitor.html, samples/conman/nocookies.html, samples/conman/notfound.html, samples/conman/poll.html, samples/conman/process.html, samples/conman/props.html, samples/conman/run, samples/conman/server.html, samples/conman/signup.html, samples/conman/std.js, samples/conman/style.css, samples/conman/userprefs.html
update: samples/README, samples/Makefile
Add conference manager to the set of Naws sample applications.
Distibuting the conferencing application this way seems easier, paperwork wise
that the alternatives I can think of
Wed Apr 4 15:05:57 2007 PDT suhler

update: server/Main.java, server/Request.java
better error diagnostics
Wed Apr 4 15:03:03 2007 PDT suhler

update: sunlabs/PutHandler.java
doc fixes
Wed Apr 4 15:00:49 2007 PDT suhler

update: sunlabs/BasicSSLHandler.java
remove the password from the properties if it was entered directly
Wed Apr 4 14:58:25 2007 PDT suhler

update: handlers/templates/AddHeaderTemplate.java
allow "last-modified" to take a time, in ms since the epoch
Wed Apr 4 14:56:42 2007 PDT suhler

update: handlers/RestartingMultiHostHandler.java
lint
Wed Apr 4 14:55:09 2007 PDT suhler

update: handlers/SMTPHandler.java
lint
Wed Apr 4 14:53:22 2007 PDT suhler

update: handlers/RePollHandler.java
lint
Wed Apr 4 14:51:15 2007 PDT suhler

update: handlers/MultiProxyHandler.java
rewrite to conform with the new GenericProxyHandler url mapping semantics
Wed Apr 4 14:49:07 2007 PDT suhler

update: handlers/MultiHostHandler.java
lint
Wed Apr 4 14:46:18 2007 PDT suhler

update: handlers/MapPage.java
- allow mapping tables to be cleared
Wed Apr 4 14:40:29 2007 PDT suhler

update: handlers/GenericProxyHandler.java
- added passHost flag to pass the origin http "host" header instead of the
  target one
- added noErrorReturn flag.  If set, the handler returns false instead of
  returning an error code to the client
- reworked the way the pageMapper works, so sub-classes are no longer required
Mon Mar 26 13:53:29 2007 PDT suhler

update: request/HttpRequest.java
add main() to HttpRequest(), allowing it to function as a stand-alone
batch http URL fetcher (ala wget or curl, but with fewer options).
Mon Mar 26 10:29:46 2007 PDT suhler

update: handlers/UrlMapperHandler.java
- add remappinging arbitrary http request header (instead of just a url)
- enable access to all http headers for ${} substitutions
Sun Jan 14 15:40:49 2007 PDT suhler

update: util/StringMap.java, handlers/GenericProxyHandler.java, sunlabs/XmlTree.java
- add get(key, default) method for StringMap
- add better diagnostics for GenericProxyHandler
- add getRoot() to XmlTree to allow programatic access
Tue Jan 9 10:13:26 2007 PDT suhler

create: contrib/dotvim.tar
update: contrib/Makefile, contrib/README
added sample vim Brazil template syntax highlighting
Mon Jan 8 15:23:16 2007 PDT suhler

update: docs/Makefile, docs/scripts/ps.template
update 2006 -> 2007
Mon Jan 8 15:18:05 2007 PDT suhler

update: handlers/templates/SetTemplate.java
add <unimport> tag to reverse the effects of <import>.  This
should probably be done using <import> .... </import>, but this preserves
backward compatibility.
Mon Jan 8 15:16:56 2007 PDT suhler

update: server/FileHandler.java, handlers/templates/TemplateHandler.java
add static method to set the "lastModified" property, and call it.
Mon Dec 18 15:15:05 2006 PDT suhler

update: samples/README, samples/Makefile
remove "im" and "email" sample applications.  They haven't kept
up with reality
Mon Dec 18 15:05:25 2006 PDT suhler

create: samples/simple/after.html, samples/simple/config.after, sunlabs/AfterTemplate.java
update: samples/simple/Makefile, samples/simple/README, handlers/templates/RewriteContext.java, util/LexML.java, sunlabs/Makefile
> - Add "AfterTemplate" to allow markup to be run after the content has
>   been delivered to the client
> - add snarfTillClose() to RewriteContext to allow templates to snarf
>   all content 'till the matching closing tag
> - minor bug fix in LexML.isSingleton()
Wed Dec 13 15:41:43 2006 PDT suhler

update: sunlabs/ValidateTemplate.java
doc fixes (more are needed)
Tue Dec 12 16:39:02 2006 PDT suhler

create: samples/simple/config.validate, samples/simple/validate.html, sunlabs/ValidateTemplate.java, tests/sunlabs.brazil.sunlabs.ValidateTemplate.test
update: samples/simple/Makefile, samples/simple/README, sunlabs/Makefile
Add ValidateTemplate, along with sample and tests
(thanks Tony)
Mon Dec 11 14:48:27 2006 PDT suhler

update: handlers/PollHandler.java
- allow URL's to be relative (the current server is implied)
- fix code to match the documentation
  ** WARNING ** potential incompatibility.
  no properties are returned unless "prepend" is set.  Although
  the documentation claimed this was the case, it wasn't.  In addition
  "prepend" is prepended to the property names in all cases.
Sun Dec 10 11:28:27 2006 PDT suhler

update: samples/simple/config.builtin
built-in config file now serves built-in sources as well as javadocs
Sun Dec 10 11:27:40 2006 PDT suhler

create: samples/simple/chat.html, samples/simple/config.chat
update: samples/simple/Makefile, samples/simple/README
Add "chat" system example
Sun Dec 10 11:23:20 2006 PDT suhler

update: handlers/templates/QueueTemplate.java
Documented previously undocumentet "glob" option
Added "delim" to make recipient list more flexible
Mon Dec 4 10:48:10 2006 PDT suhler

update: docs/scripts/exportMakefile.front
bump to correct version this time
Mon Dec 4 10:46:03 2006 PDT suhler

update: Makefile, docs/Makefile, docs/scripts/TERMS.moz, docs/scripts/label.tcl, docs/scripts/exclude.txt, docs/scripts/exportMakefile.front, docs/scripts/src_lns.tcl
bump version 2.2 -> 2.3
Mon Dec 4 08:10:25 2006 PDT suhler

update: sunlabs/MiscTemplate.java
add format="<DecimalFormatDpecifier>" to <expr> to permit formatting
of numerical results
Tue Nov 21 13:42:48 2006 PDT suhler

create: docs/scripts/src_lns.tcl
Create cross links to source file from html docs
Mon Nov 20 17:44:10 2006 PDT suhler

create: handlers/MatchString.java
update: handlers/Makefile
put a deprecated version of MatchString.java back in this package
for backward compatibility.  It dispatches to the version in "util"
Mon Nov 20 17:42:30 2006 PDT suhler

update: sunlabs/TitleTemplate.java
Use Session Manager to store titles
Mon Nov 20 17:42:07 2006 PDT suhler

create: sunlabs/PutHandler.java
update: sunlabs/Makefile
New handler to handle PUT and DELETE requests
Fri Nov 17 15:48:56 2006 PDT suhler

update: sunlabs/TitleTemplate.java
read in title text from a separate file
Thu Nov 16 15:44:22 2006 PDT suhler

update: handlers/SimpleSessionHandler.java
bug fix: "value" configuration parameter wasn't being initialized properly
Mon Nov 13 15:43:56 2006 PDT suhler

update: sunlabs/SubstPropsHandler.java
SCCS book-keeping
Mon Nov 13 15:41:18 2006 PDT suhler

update: handlers/templates/QueueTemplate.java
internal code shuffling in preparation for automatic Queue aging
Mon Nov 13 15:34:02 2006 PDT suhler

update: handlers/GenericProxyHandler.java
Pass target status code back to the client, allowing redirects and
authentication pass-thru
Mon Nov 13 15:32:13 2006 PDT suhler

update: slim/ATHandler.java, slim/AliceHandler.java, slim/TTSHandler.java, slim/TTSServerHandler.java
TTSServerHandler
Mon Nov 13 15:27:59 2006 PDT suhler

update: util/Format.java
add unsubst() to "escape" html, allowing it to be used in an attribute values (for future use)
Mon Nov 13 15:25:42 2006 PDT suhler

update: server/Request.java
small diagnostic improvements
Mon Nov 13 15:24:24 2006 PDT suhler

update: sunlabs/Makefile
add IdUniquificationTemplate and TitleTemplate
Mon Nov 13 15:23:54 2006 PDT suhler

create: sunlabs/TitleTemplate.java
new template to support "tool tips" in browsers using "title" attribute
Mon Nov 13 15:19:17 2006 PDT suhler

update: handlers/templates/SetTemplate.java
- start code rearrangement for conversions (this should be combined
  with the conversions in MiscTemplate, and made extensible)
- add "trim" and "lower" conversions
- add "track" attribute to track namespace changes on the console
Mon Nov 13 15:17:51 2006 PDT suhler

update: handlers/templates/RewriteContext.java, handlers/templates/ScriptEvalTemplate.java
add substAttributeValues() as a convenience method in RewriteContext
do ${...} substitutions in ScriptEvalTemplate tag attributes
Mon Nov 13 15:16:38 2006 PDT suhler

update: sunlabs/MiscTemplate.java
add "esc" attribute to <inline> to allow \X processing
Mon Nov 13 15:16:07 2006 PDT suhler

update: sunlabs/ListTemplate.java
add "track" attribute to print all property changes on the console
Mon Nov 13 15:14:36 2006 PDT suhler

update: handlers/templates/FormTemplate.java
do ${..} substitutions in all non-processed attribute values
Mon Nov 13 15:12:47 2006 PDT suhler

update: handlers/templates/ContentTemplate.java
preserver references to external script files
Mon Nov 13 15:10:50 2006 PDT suhler

update: util/Makefile, server/ChainHandler.java, handlers/BasicAuthHandler.java, handlers/CookieSessionHandler.java, handlers/SimpleSessionHandler.java, handlers/AclSwitchHandler.java, handlers/ResourceHandler.java, handlers/RolesHandler.java, handlers/DialogHandler.java, handlers/NotFoundHandler.java, handlers/DirectoryHandler.java, handlers/PublishHandler.java, handlers/PushHandler.java, handlers/SMTPHandler.java, handlers/PropertiesHandler.java, handlers/RestrictClientHandler.java, handlers/ExprPropsHandler.java, handlers/templates/TemplateHandler.java, handlers/Makefile, filter/FilterHandler.java, filter/MD5Filter.java, tcl/TclHandler.java, beanshell/BeanShellHandler.java, sunlabs/ResourceLimitHandler.java, sunlabs/DelayHandler.java, util/MatchString.java
rename: handlers/MatchString.java -> util/MatchString.java
- added MatchString() capability to ChainHandler
- moved MatchString from package "handler" to "util
- updated all consumers of MatchString to reflect new package
Mon Nov 13 14:24:48 2006 PDT suhler

update: handlers/templates/BSLTemplate.java
added "namespace" attribute to <foreach glob|match> to restrict matches
to specified namespace
Mon Nov 13 14:24:12 2006 PDT suhler

update: handlers/MatchString.java
- added "invert" attribute to invert sense of "glob" or "match"
Mon Nov 13 14:22:19 2006 PDT suhler

update: asterisk/AsteriskHandler.java
- added AMI name mapping
- cleaned up connection closing code
- fixed (sort of) race condition in tag_amicommand
Mon Nov 13 14:20:26 2006 PDT suhler

create: sunlabs/IdUniquificationTemplate.java
Template to create unique DOM id's for <div> and <span> tags per browser window
Wed Nov 8 10:27:51 2006 PDT suhler

update: proxy/ProxyHandler.java
- fixed stupid typo
- updated docs
- added rewriteHeaders() hook for subclasses
Tue Sep 5 14:53:28 2006 PDT suhler

update: samples/simple/asterisk.html
fix typo
Sun Aug 13 10:17:59 2006 PDT suhler

create: samples/simple/config.formhelp, samples/simple/formhelp.html, sunlabs/FormHelpTemplate.java
update: samples/simple/Makefile, samples/simple/README, sunlabs/Makefile
Added the FormHelpTemplate to allow easy integration of html form
with ajax-style field help
Mon Aug 7 16:37:46 2006 PDT suhler

create: sunlabs/LockTemplate.java
update: sunlabs/Makefile
Add the template: <lock name=xxx> .... </lock>
to add mutexes to templates.  Only one request can access a section
of template markup bracketted by <lock> for a given name.
 
This provides an alternative to using the SimplSessionManager to
do implicit locking by session management, and should make synchronized
logging in, etc. easier.
Mon Aug 7 16:37:15 2006 PDT suhler

update: sunlabs/DelayHandler.java
The documentation was wrong: change the code to match the docs.
Wed Aug 2 14:07:12 2006 PDT suhler

rename: samples/simple/agicommand.html -> samples/simple/amicommand.html, samples/simple/config.agicommand -> samples/simple/config.amicommand
wrong file names fixed
Wed Aug 2 14:05:29 2006 PDT suhler

update: asterisk/AsteriskHandler.java
version conolidation:  This is the meetme server version.  It has the newer AMI parsing semantice, but
no Q expiration stuff (that's next)
Wed Aug 2 13:46:56 2006 PDT suhler

update: sunlabs/Makefile, sunlabs/FetchTemplate.java
rename: sunlabs/IncludeTemplate.java -> sunlabs/FetchTemplate.java
rename IncludeTemplate to FetchTemplate to avoid confusion with the
IncludeTemplate in the template package
Tue Aug 1 14:11:45 2006 PDT suhler

update: handlers/templates/RewriteContext.java, handlers/templates/TemplateRunner.java, handlers/templates/SetTemplate.java, sunlabs/MiscTemplate.java
Bug Fix:
The MiscTemplate <mapnames> tag could map names into a namespace that
was supposed to be imported by the SetTemplate, but was empty at the time,
so it was scheduled for chaining later.  consequently, the newly mapped
names weren't showing up.
 
This [non-ideal] fix adds:
- doImport() to the SetTemplate, telling it to recheck namespaces scheduled
  for import (but empty at the time)
- adds templateFromTag() method to RewriteContext (and TemplateRunner) that
  allows templates to fetch references to other template objects that are
  active in the current page template
- Changes MiscTemplate to call the doImport() method of the SetTemplate,
  using templateFromTag() to find the right instance, when the MiscTemplate
  might create  previously empty imported namespace.
Mon Jul 31 15:01:05 2006 PDT suhler

update: sunlabs/MiscTemplate.java
added a bug note to the <mapnames> tag.
Mon Jul 31 14:46:04 2006 PDT suhler

update: properties/PropertiesList.java, sunlabs/MiscTemplate.java
added "removeProperties()" methods to propertylists that have the
same search semantics as getProperty().
 
added "remove=true" attribute to <mapnames> to allow the bulk
removeal of properties
Wed Jul 26 15:39:34 2006 PDT suhler

update: handlers/templates/BSLTemplate.java
add "map" attributes for <extract match=...> when all=false (it was inadvertently left out
Wed Jul 26 12:01:17 2006 PDT suhler

update: samples/simple/config.vote, samples/simple/vote.html
Updated demo to use the MiscTemplate instead of the Calculator.
Thu Jun 15 12:52:38 2006 PDT suhler

update: sunlabs/ListTemplate.java, sunlabs/XmlTreeTemplate.java, handlers/templates/SetTemplate.java
<namespace name=xxx> ... </namespace> now works with the <list> and
<xmltree> as the current namespace is exported as a request property
by the SetTemplate, and consumed by the List and XML templates.
Thu Jun 15 09:58:11 2006 PDT suhler

update: sunlabs/MiscTemplate.java
add "append=true" attribute to <inline> to append to existing
content
Thu Jun 15 09:54:39 2006 PDT suhler

update: handlers/templates/QueueTemplate.java
Added the ability to detect if queues are no longer active, and to
remove them.
Wed Jun 14 10:27:25 2006 PDT suhler

create: samples/simple/config.php
update: handlers/CgiHandler.java, samples/simple/Makefile, samples/simple/README
enhanced the CgiHandler to be able to run php (and other scripting
systems) designed to work with apache:
- allow files to be run through an specified interpreter instead of
  being executed directly
- make the cgi "mini headers" optional
Tue May 9 14:08:18 2006 PDT suhler

create: samples/simple/asterisk.html, samples/simple/config.asterisk
update: samples/simple/Makefile, samples/simple/README
Added sample for integrating the Asterisk manager api and ajax.  This
is the last planned change for release 2.2
Mon May 8 12:06:50 2006 PDT suhler

create: samples/simple/agicommand.html, samples/simple/config.agicommand
update: samples/simple/Makefile, samples/simple/README, samples/simple/config.smtp, samples/simple/smtp.html
- added Asterisk AMI example
- cleaned up Makefile and Readme
- added FormTemplate to smtp example
Mon May 8 10:28:52 2006 PDT suhler

update: asterisk/AsteriskAGIHandler.java
add "agi_host" pseudo header onto agi requests containing the * server's hostname
Mon May 8 10:00:19 2006 PDT suhler

update: asterisk/AsteriskAGIHandler.java
prefix session id (e.g. unique call id) with properties prefix
Thu May 4 22:30:48 2006 PDT suhler

update: samples/simple/agi.html, handlers/templates/SetTemplate.java
bug fix: <import namespace=foo> when foo doesn't yet exists, followed
by <namespace name=foo load=...> wasn't properly importing the namespace.
- removed the work-around frok  from agi.html
Thu May 4 17:40:06 2006 PDT suhler

create: samples/simple/agi.html, samples/simple/config.agi
update: samples/simple/Makefile, samples/simple/README
Added AGI example, demonstrating the Asterisk AGI handler
Mon May 1 15:41:56 2006 PDT suhler

create: samples/simple/ajax.html, samples/simple/config.ajax
update: samples/simple/Makefile
add brazil/ajax example
Fri Apr 28 16:17:17 2006 PDT suhler

update: handlers/ResourceHandler.java, server/Request.java
- The ResourceHandler now computes the content-lengh properly
- For calls to "sendResponse()" that have a status code of "204"
  no content, no content is delivered.  This is in better compliance
  with the http spec, but make debugging a bit harder
Wed Apr 26 16:51:44 2006 PDT suhler

update: Makefile
rename: exportMakefile.back -> docs/scripts/exportMakefile.back, exportMakefile.front -> docs/scripts/exportMakefile.front
moved export makefile header/footer into docs/scripts
Wed Apr 26 16:46:38 2006 PDT suhler

update: docs/scripts/props2.tcl, docs/scripts/ps.template, docs/scripts/tags.tcl, docs/scripts/depends.tcl
minor updates for documentation generation
Wed Apr 26 16:37:28 2006 PDT suhler

create: samples/simple/misc.html, samples/simple/config.misc
update: samples/simple/Makefile, samples/simple/README
Added MiscTemplate example.
I need to add the "Ajax" and "Asterisk" examples, then call it done
Tue Apr 25 14:55:03 2006 PDT suhler

update: asterisk/AsteriskHandler.java, asterisk/AsteriskAGIHandler.java
doc fixes
Tue Apr 25 14:39:04 2006 PDT suhler

update: asterisk/AsteriskHandler.java, asterisk/AsteriskAGIHandler.java
minor updates
Tue Apr 25 14:32:11 2006 PDT suhler

update: handlers/HtmlRewriter.java
add public "getMap" method to return a copy of a tag's attributes
Tue Apr 25 14:31:28 2006 PDT suhler

update: server/Main.java
add a couple more built-in mime types
Tue Apr 25 14:30:29 2006 PDT suhler

update: server/Connection.java, handlers/UrlMapperHandler.java
fix diagnostic messages
Tue Apr 25 14:23:02 2006 PDT suhler

update: handlers/ResourceHandler.java, handlers/templates/TemplateHandler.java, handlers/templates/DirectoryTemplate.java, handlers/templates/MultipartSetTemplate.java, proxy/JunkBusterHandler.java, server/FileHandler.java
Consolidate the file suffix -> mime type conversion into a single
place (fileHandler.getMimeType), and have all classes use the same
code.
 
enhance the mime type glob-matching capability such that:
  mimePatterns=*
  mime*=text/plain
  mime.hidden=unknown
Will cause all files with otherwise unspecified suffixes to be text/plain,
except files with the ".hidden" suffix, which will remain unknown (and thus
not be delivered).
Tue Apr 18 18:03:43 2006 PDT suhler

create: docs/scripts/depends.tcl
update: Makefile, Makefile.common, exportMakefile.back, exportMakefile.front
Redo the way the export makefile is created.
- The old scheme tried to javac [all java files] which only works if
  all the optional jar files are available, as javac bails out way too soon.
- In the new scheme, all java files are categorized by external jar file
  dependencies, so it is easy to only build the ones that you have the
  external jar files for.
- Now by default, all the java files with now external dependencies
  always get built
Notes:
* the target "make dependson" creates a table of java files and their
  external jar file dependencies
* the script "depends.tcl" reads the output of "dependson" and generates
  the guts of the makefile
* the same technique could be used with "ant", but I don't know ant
  well enough.
Mon Feb 6 15:44:05 2006 PDT suhler

update: asterisk/AsteriskHandler.java
changes motivated by testing on multiple servers at once:
- add <amicommand> to allow for synchronous AMI commands
- wait a random time before the first keep-alive to keep the keep alives
  for multiple servers out of step
- change lots of the diagnostic output to real log() messages
- add more documentation
Wed Feb 1 16:13:25 2006 PDT suhler

update: asterisk/AsteriskHandler.java
- Added "keepalives" to insure asterisk server is still up.  If the keep-alive
  fails, close and retry the connection
- QueueTemplate is now in the Templates package
- fix restarting when the connection dies
- code and doc cleanups
Fri Jan 27 08:48:10 2006 PDT suhler

create: handlers/templates/QueueTemplate.java
update: handlers/Makefile, handlers/templates/QueueTemplateOld.java
rename: handlers/templates/QueueTemplate.java -> handlers/templates/QueueTemplateOld.java
replace the old QueueTemplate with the experimental Asterisk version.
This changes Q items to be a collection of arbitrary name/value pairs
Fri Jan 20 10:32:32 2006 PDT suhler

update: sunlabs/MiscTemplate.java
added <random> tag for generation of random values (take 2)
Tue Jan 17 09:51:20 2006 PDT suhler

update: proxy/CookieFilter.java
fix typo
Tue Jan 17 09:49:59 2006 PDT suhler

update: sunlabs/PlainTemplate.java
doc fixes
Tue Jan 17 09:47:30 2006 PDT suhler

update: session/PJamaSessionManager.java, session/SerialPersist.java
doc fixes
Tue Jan 17 09:42:49 2006 PDT suhler

update: server/Request.java
doc fixes
Tue Jan 17 09:39:48 2006 PDT suhler

update: handlers/templates/ContentTemplate.java
Bug fix: computation of <head> section was incorrect, and the "prepend"
attribute wasn't always honored.
Fri Jan 6 16:46:20 2006 PDT suhler

create: samples/simple/config.smtp, samples/simple/smtp.html
update: handlers/SMTPHandler.java, samples/simple/README
Add an example of using the SMTPHandler as a template for sending email
Fri Jan 6 14:05:24 2006 PDT suhler

create: handlers/RestartingMultiHostHandler.java
update: handlers/MultiHostHandler.java, handlers/Makefile
- Enhancements to the MultiHostHandler.  Each virtual host on the same
  machine can now have it's own configuration file, and appear as if it
  is (almost) the only host running on the server
- New RestartingMultiHostHandler.  This allows a virtual host with it's
  own configuration file to be modified and restarted without effecting
  the other virual hosts using the same server.
Fri Jan 6 13:09:58 2006 PDT suhler

update: samples/simple/config.groovy, docs/packages/sunlabs.brazil.groovy.package.html
Update the documentation and examples to use a more recent version of Groovy
Fri Dec 23 19:55:45 2005 PDT suhler

update: handlers/SMTPHandler.java
eliminate bogus warning at end of page
Thu Dec 22 16:45:37 2005 PDT suhler

update: sunlabs/MiscTemplate.java
- added <map> example
- allow sequences of 0 or 1 elements
- make "name" optional in <expr> and <inline>
Thu Dec 22 16:43:42 2005 PDT suhler

update: handlers/MultiHostHandler.java
add "inherit" option to provide each sub-server its own properties
Wed Dec 21 13:34:44 2005 PDT suhler

create: docs/scripts/tags.tcl
update: docs/overview.html, docs/Makefile, docs/packages/sunlabs.brazil.template.package.html
automatically generate tag summary in documentation
Wed Dec 21 10:31:28 2005 PDT suhler

update: handlers/templates/DirectoryTemplate.java
allow "delimiter" attribute (in addition to request property)
Wed Dec 21 10:26:38 2005 PDT suhler

update: handlers/MultiHostHandler.java
don't include port #'s for host matching
Fri Dec 9 14:50:57 2005 PDT suhler

update: server/FileHandler.java
cleanup and document partial file delivery using the "range" header
Thu Dec 8 13:41:59 2005 PDT suhler

update: server/Connection.java, server/Request.java, util/http/MimeHeaders.java
Check for bogus http requests to alleviate DOS attacks
Mon Dec 5 14:01:47 2005 PDT suhler

update: handlers/VirtualHostHandler.java
- add "addlevel" attribute.  This allows both "virtual hosting" and
  "host wildcards" at the same time:
  http://a.b.c/foo.html maps to file [docroot]/a.b.c/foo.html
  http://x.a.b.c/foo.html maps to either:
     [docroot]/a.b.c/foo.html
     [docroot]/a.b.c/x/foo.html
  The "levels" attribute determines how many levels (.'s+1) to use for the
  virtual host, and "addlevel" causes all the least significant levels to
  be prepended onto the usr for "wildcard" matching
Mon Dec 5 13:04:18 2005 PDT suhler

update: handlers/VirtualHostHandler.java
- add "levels" option to allow host wild-card mappings within virtual hosts
- diagnistic cleanups
Mon Nov 28 09:15:35 2005 PDT suhler

update: handlers/templates/FormTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/SetTemplate.java
- added "prepend" option to <form> for FormTemplate to allow the property
  whose value is used as a field value to have the indicated prefix.
  example:  <form prepend=foo><input name=a value=b></form> will cause the
    initial value of form element "a" to be the current value of the request
    property "foo.a" (the default with no prepend would be property "a")
- minor code cleanups
Sun Nov 27 18:31:18 2005 PDT suhler

update: handlers/CgiHandler.java, handlers/DefaultFileHandler.java, server/Connection.java, server/FileHandler.java, server/Server.java
CgiHandler:  added "url=current|original" option to determine url to cgi mapping
Connection, Server: added better diagnostics
FileHAndler: fixed glob based mime-type matching
Wed Oct 19 14:36:36 2005 PDT suhler

update: handlers/LogHandler.java
fixed broken documentation
Thu Aug 25 10:53:57 2005 PDT suhler

update: handlers/templates/MacroTemplate.java
Added special variables "isSingleton" and "args" to the expansion of
macros.  This allows macros to know how they are called, and (with some
effort) inspect all the calling parameters.
 
You can, as an example:
<definemacro name=foo> ... </definemacro>
<definemacro name=/foo> ... <definemacro>
then tell the difference between:
<foo> ... </foo> and <foo />
Thu Aug 18 17:31:15 2005 PDT suhler

update: sunlabs/MiscTemplate.java
(this is the last set of capabilities planned for the MiscTemplate)
- added a "namespace" attribute to <stringop> so you can specify the
  destination namespace (instead of always using the local namespace)
- added <mapnames src=src-glob-pattern [dst=dst-name-pattern] [ stringop operations] [namespace=dst-namespace]>
  This allows mapping whole groups of names/value pairs from one namespace
  to another, while allowing both the names to be mapped and the values
  to be processed ala <stringop>
Wed Aug 17 15:09:47 2005 PDT suhler

update: sunlabs/MiscTemplate.java
Added the <stringop> tag to perfom string operations on property values:
Attributes:
  name=xxx	The property to operate on
  newname=xxx What to name the new value
  trim=left|right|both   Trims whitespace
  range=from,to	does substrings
  case=lower|upper|title  munges the case
  convert=html|url	another way to escape values for html or urls
Wed Jul 13 10:21:18 2005 PDT suhler

create: samples/simple/basicssl.html, samples/simple/config.basicssl, sunlabs/BasicSSLHandler.java
update: server/Main.java, sunlabs/Makefile, handlers/templates/SetTemplate.java
Add an SslHandler that creates basic SSL servers.  This requires jdk1.3+
see the "basicssl" examples in samples/simple for sample usage.
 
Added -D(elay) and "-x" options to Main.
  -x skips sourceing the default resource
  -D n  delays "n" seconds, for use with "-s" to allow time for a server
  to initialze before starting another one.
 
Added "headers.hostname" and "headers.hostport" to the SetTemplate "headers"
option, to make it easier to pre-parse hostnames and ports.
Tue Jul 12 10:39:52 2005 PDT suhler

update: handlers/CgiHandler.java, handlers/MapPage.java, filter/SessionFilter.java, filter/UrlSessionFilter.java, proxy/CookieFilter.java, proxy/ProxyHandler.java
Correct support for "https" as well as "http"
Tue Jun 28 12:30:52 2005 PDT suhler

update: docs/Makefile
Fixed pointers to online jdk docs, minor formatting corrections
Wed Jun 22 13:43:01 2005 PDT suhler

update: handlers/SimpleSessionHandler.java
Documentation improvements.
Don't do \n substitutions to value.  This makes it harder to include
special \x characters in session IDs, but avoids requiring regexp
sub-expression matches be double \'d
Fri Jun 17 15:52:50 2005 PDT suhler

update: util/Calculator.java, handlers/templates/BSLTemplate.java
added <if expr="..numeric expression.."> option to the BSLTemplate.
This allows the use of the Calulator's primitive logical expression
capability in "if" expressions.  
 
For example, you can now do:
  <if expr="port=8080 && query.form && ! query.x">
which (almost) does what you want.
Thu Jun 16 08:05:52 2005 PDT suhler

update: handlers/templates/BSLTemplate.java, handlers/templates/RewriteContext.java
Moved getNamespaceProperties from the BSLTemplate to the RewriteContext
to make it available to all templates that want to interact properly
with the SetTemplate
Thu Jun 16 08:02:20 2005 PDT suhler

update: util/Format.java, sunlabs/XmlTree.java, handlers/HtmlRewriter.java, handlers/templates/MacroTemplate.java
bug fix:  The MacroTemplate wasn't removing quotes from some tag names.
 - made the "deQuote" public static, and put it into Format
 - changed all classes that require dequoting to use the one in Format
Wed Jun 15 13:24:39 2005 PDT suhler

update: sunlabs/MiscTemplate.java
added <sequence> to generate a sequence of values
Mon Jun 13 13:59:06 2005 PDT suhler

create: sunlabs/MiscTemplate.java
update: sunlabs/Makefile
Added the "MiscTemplate", which adds a few useful string manipulation
functions that, although already possible using other mechanisms, provides
more convenient access.  They are:
<append name=nnn value=nnn [delim=nnn]>
  Appends a value to an existing variable, with an optional delimiter
<push name=nnn value=nnn>
<pop name=nnn>
  Maintains a stack of values for a particular variable
<increment name=nnn [incr=n>
  Increments (or decrements) a value.
<expr name=nnn value={an arithmetic expression}>
  Runs the calculator
<eval markup="....">
  "markup" as if it was present here in the input template
 
This is to make the dynamic-html macros easier to write and understand
Thu Jun 9 11:19:07 2005 PDT suhler

update: sunlabs/SourceTemplate.java
Added "resource=true" attribute to allow sourced file to be processed
as part of the template content after it is sourced.
Wed Jun 8 11:16:35 2005 PDT suhler

update: handlers/templates/SetTemplate.java
changed the pseudo property "headers.count" to use the server
requestCount instead of the acceptCount.
Wed Jun 8 11:16:09 2005 PDT suhler

update: proxy/ProxyHandler.java
added "proxylog" option to proxy handler to log all http headers
on stderr.
Mon Jun 6 21:07:20 2005 PDT suhler

create: asterisk/AsteriskHandler.java, asterisk/AsteriskAGIHandler.java
2 new handlers for Asterisk integration:
- AsteriskHandler: interface to the manager interface
- AsteriskAGIHandler: FAGI handler
Thu May 26 08:59:31 2005 PDT suhler

update: util/StringMap.java
add append() to combine 2 string maps (needed for Asterisk stuff)
Wed May 25 13:06:55 2005 PDT suhler

update: tests/README, tests/sunlabs.brazil.util.http.MimeHeaders.test, util/http/MimeHeaders.java
Add the ability to read new mime headers on top of exiting one, replacing
existing ones instead of adding to them (I even added a test case!)
Thu May 19 13:05:56 2005 PDT suhler

update: sunlabs/ExecTemplate.java, sunlabs/IncludeTemplate.java
- fix prefix handling in ExecTemplate
- only print stacktrace if log>3 in IncludeTemplate
Thu May 19 13:02:01 2005 PDT suhler

update: samples/simple/Makefile
added several new simple examples
Fri May 13 11:09:04 2005 PDT suhler

create: derby/DerbyServer.java, derby/Makefile, docs/packages/sunlabs.brazil.derby.package.html
update: samples/simple/config.derby, Makefile
added "Derby" package and the "DerbyServer" handler that turns-on
network access to the embedded derby server
Wed May 11 14:28:29 2005 PDT suhler

create: samples/simple/config.derby, samples/simple/derby.html
update: sql/SqlTemplate.java, docs/packages/sunlabs.brazil.sql.package.html
Add support for the Derby sql database in embedded mode
- added a sample of the Brazil version of the simple derby example
- enhanced the SqlTemplate:
  + added "type=system|query|update" to <sql> to permit running
    execute(), executeQuery() and executeUpdate() respectively
  + added "timeout=[seconds]"
  + fixed redundant '.'s in property names
Wed May 11 11:55:46 2005 PDT suhler

update: handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java
- added "namespace" attributes to <extract> and <if>.
  Which <extract>, any results are extracted to the specified
  namespace.  With <if> the "name" attribute is searched for in
  the specified namespace (instead of just request.props)
- Changed the defaule "sessionTable" property of the SetTemplate.
  it was "hr.prefix", it is now "hr.templatePrefix".  With the new
  behaviour, all templates (e.g. SetTemplate and BSLTemplate) run in
  the same Template handler/filter automatically share the same sessionTable,
  so the namespaces used with <set> and <import> match those used by
  <if> and <extract>
- If this proves to be useful, it's now easy to add "namespace"
  attributes to other tags.
Wed May 4 13:26:48 2005 PDT suhler

create: samples/simple/config.dhtml, samples/simple/dhtml.html
update: samples/simple/config.vote
- remove redundant stuff from config.vote
- new DHTML example
Wed Jan 26 22:48:55 2005 PDT suhler

update: sunlabs/ExecTemplate.java, sunlabs/SourceTemplate.java
- add killToken() to execTemplate
- doc fixes for SourceTemplate
Tue Jan 11 09:56:46 2005 PDT suhler

update: handlers/SMTPHandler.java
Don't look for <param> tags outside of <sendmail> ... </sendmail>
Thu Dec 30 13:44:39 2004 PDT suhler

update: groovy/GroovyServerTemplate.java
minor doc fixes
Thu Dec 30 13:30:34 2004 PDT suhler

update: docs/Makefile, docs/html/roadmap.html, docs/html/todo.html, docs/packages/sunlabs.brazil.groovy.package.html
minor doc improvements
Thu Dec 30 13:04:20 2004 PDT suhler

update: Makefile.common
propagate JVM_VERSION to sub-makefiles
Thu Dec 30 13:01:46 2004 PDT suhler

update: util/LexML.java, handlers/ExprPropsHandler.java, handlers/ResourceHandler.java, handlers/templates/BSLTemplate.java, handlers/templates/QueueTemplate.java, handlers/templates/TemplateHandler.java, filter/TemplateFilter.java, sunlabs/ClockFormat.java, sunlabs/ListTemplate.java, sunlabs/XmlTree.java, sunlabs/DigestAuthHandler.java
javadoc fixes
Thu Dec 30 13:00:04 2004 PDT suhler

update: util/regexp/Regexp.java, util/regexp/Regsub.java
better diagnostics, allow Regsub to return its Regexp object
Fri Dec 17 14:28:32 2004 PDT suhler

update: groovy/GroovyServerTemplate.java
Defer starting the groovy intepreter until the first time it's needed
Fri Dec 17 11:52:44 2004 PDT suhler

create: samples/simple/config.groovy, samples/simple/groovy.html, samples/simple/init.groovy
simple groovy example
Thu Dec 16 21:00:04 2004 PDT suhler

create: groovy/GroovyServerTemplate.java, groovy/Makefile, docs/packages/sunlabs.brazil.groovy.package.html
update: Makefile
Added <groovy>...</groovy> for Rinaldo.
Wed Dec 15 13:18:58 2004 PDT suhler

update: samples/simple/config.form, samples/simple/form.html
updated to match MultipartSetTemplate
Wed Dec 15 13:12:22 2004 PDT suhler

update: handlers/templates/MultipartSetTemplate.java
Implemented new mechanism for automatically saving uploaded files
to disk:
savePattern=[glob pattern] is used to specify which files on the form
   are automaticaly written to disk.
saveName=[file name with ${..}]
   is used to define the name used to save the file; field values
   can be used as part of the name
This is safer than the previous strategy, as it prevents malicious users
from creating arbitrary files.
Wed Dec 15 12:38:26 2004 PDT suhler

update: handlers/SimpleSessionHandler.java
make inner class static
Wed Dec 15 12:30:40 2004 PDT suhler

update: handlers/templates/BSLTemplate.java
When using <foreach ... list="stuff" delim=[regexp] sort=no>
then the matched delimiter and all of its sub-matches are made 
available in the scope of the foreach.
Tue Dec 7 09:47:24 2004 PDT suhler

update: sunlabs/SourceTemplate.java
Added name=xxx attribute to save source'd content to a property instead of
always incorporating it inline
Tue Nov 30 19:31:31 2004 PDT suhler

update: server/ChainHandler.java
better handling of invalid class errors for handlers
Tue Nov 30 15:27:18 2004 PDT suhler

create: docs/scripts/fix-version.tcl
script to fix the version strings in all the source files
Tue Nov 30 15:21:55 2004 PDT suhler

update: util/Calculator.java, util/Base64.java, util/SocketFactory.java, util/Format.java, util/Glob.java, util/Guid.java, util/LexHTML.java, util/LexML.java, util/StringMap.java, util/Sort.java, util/http/HttpInputStream.java, util/http/HttpUtil.java, util/http/MimeHeaders.java, util/regexp/Regexp.java, util/regexp/Regsub.java, properties/PropertiesList.java, server/ChainHandler.java, server/Connection.java, server/FileHandler.java, server/Handler.java, server/Main.java, server/Request.java, server/Server.java, request/HttpSocketPool.java, request/HttpRequest.java, filter/CopyContentFilter.java, filter/ExecFilter.java, filter/Filter.java, filter/FilterHandler.java, filter/MD5Filter.java, filter/PlainFilter.java, filter/ReFilter.java, filter/ReplaceFilter.java, filter/SessionFilter.java, filter/TemplateFilter.java, filter/UrlSessionFilter.java, proxy/HistoryFilter.java, proxy/CookieFilter.java, proxy/ProxyHandler.java, proxy/SunProxy.java, proxy/UseProxy.java, sql/SqlTemplate.java, tcl/TclFilter.java, tcl/TclRePollHandler.java, tcl/TclHandler.java, tcl/TclServerTemplate.java, tcl/TclTemplateChannel.java, tcl/TclUtil.java, python/PythonServerTemplate.java, beanshell/BeanShellServerTemplate.java, beanshell/BeanShellHandler.java, beanshell/BeanShellTemplate.java, sunlabs/DigestTemplate.java, sunlabs/ChownHandler.java, sunlabs/ExpContentTemplate.java, sunlabs/ExecTemplate.java, sunlabs/ResourceLimitHandler.java, sunlabs/ListTemplate.java, sunlabs/ServerProcess.java, sunlabs/SnarfTemplate.java, sunlabs/SubstAllTemplate.java, sunlabs/UrlMapFilter.java, sunlabs/RemoteHostTemplate.java, sunlabs/SubstPropsHandler.java, ldap/LDAPTemplate.java, servlet/BServletServerSocket.java, servlet/BServletRequest.java, servlet/BServletSocket.java, servlet/BrazilServlet.java, email/EmailTemplate.java, velocity/VelocityFilter.java, javascript/JavaScriptTemplate.java, ssl/CertHandler.java, ssl/SslHandler.java
fixed @version strings
Tue Nov 30 11:05:43 2004 PDT suhler

update: samples/simple/config.form, samples/simple/form.html, samples/simple/vote.html
sync samples/simple
- format updates
Tue Nov 30 11:01:15 2004 PDT suhler

update: handlers/Makefile, handlers/templates/AddHeaderTemplate.java, handlers/templates/MultipartSetTemplate.java, sunlabs/RestartHandler.java, ssl/SslHandler.java
sync everything (except samples)
- unified version handling for java versions in Makefiles
- direct file uploads and saves for MultiPartSetTemplate
- add "keep" flag for RestartHandler
- minor doc fixes
Mon Nov 29 16:10:27 2004 PDT suhler

update: sunlabs/Makefile
add RestartHandler to Makefile, after checking java version
Wed Nov 24 16:02:52 2004 PDT suhler

create: sunlabs/RestartHandler.java, samples/simple/restart.html, samples/simple/config.restart
Allow a server to restart when it gets a sigHUP.
This causes all the handlers to be reinitialized.
The restarted configuration can be supplied either by an external
configuration file, or the existing server.props can be reused.
Tue Nov 23 16:09:09 2004 PDT suhler

update: sunlabs/DigestAuthHandler.java
Credentials file can be re-read, allowing for the dynamic addition
of credentials.
Thu Nov 18 15:47:13 2004 PDT suhler

update: util/Glob.java
Allow null patterns in Glob.match() [always returns false]
Thu Nov 18 12:23:32 2004 PDT suhler

update: util/LexML.java
Initialze token type to STRING so getAttributes doesn't crash
if called before nextToken
Wed Nov 3 11:14:11 2004 PDT suhler

update: README
minor update (and test of the putback email distribution [1])
Wed Nov 3 10:36:03 2004 PDT suhler

update: sunlabs/DigestAuthHandler.java
use url.orig instead of request.url for uri checking
Wed Nov 3 08:36:20 2004 PDT suhler

update: handlers/HomeDirHandler.java, handlers/UrlMapperHandler.java, handlers/VirtualHostHandler.java, handlers/templates/PropsTemplate.java, handlers/templates/SetTemplate.java, server/Request.java
request.url is modified by various handlers to change the current notion
of what the current url is.  However, sometimes (as in redirects or
authentication), the original url is required.  For historical reasons,
"request.props("url.orig")" is the original URL, and request.url is the
current "virtual" url.
 
This changes has "url.orig" set when the request is first created, so
handlers/templates that change request.url don't have to check for it
first. Oh well.
Thu Oct 28 12:48:38 2004 PDT suhler

update: handlers/SMTPHandler.java, handlers/templates/DirectoryTemplate.java
update documentation to better reflect reality
Wed Oct 27 13:34:32 2004 PDT suhler

update: handlers/SMTPHandler.java
- better diagnostics (log level=5 displays xactionwith smtp server)
- better documentation
- proper handling of <param> and </sendmail> tag debugging
Tue Oct 26 11:30:37 2004 PDT suhler

create: sunlabs/AsteriskTemplate.java
update: sunlabs/Makefile, sunlabs/SubstPropsHandler.java
Add AsteriskTemplate, a simple interface to the Asterisk (pbx) management interface
doc fixes
Tue Oct 26 11:29:38 2004 PDT suhler

update: handlers/UrlMapperHandler.java, handlers/templates/BSLTemplate.java
UrlMapperHandler.java: Make sure "export" ends with '.' (bug fix)
BSLTemplate.java: doc updates
Sun Oct 24 17:33:26 2004 PDT suhler

update: handlers/VirtualHostHandler.java, handlers/templates/TemplateHandler.java
- VirtualHostHandler.java sets "url.orig" property
- TemplateHandler.java nos sets "fileName" not "FileName"
Tue Sep 14 13:48:29 2004 PDT suhler

update: server/Server.java
added "restart" method to enable server restarts with new configuration.
Mon Aug 30 10:30:01 2004 PDT suhler

update: handlers/templates/IncludeTemplate.java
don't emit inline post data into output stream
Mon Aug 30 09:03:07 2004 PDT suhler

update: handlers/ConfigFileHandler.java, handlers/PollHandler.java, handlers/PropertiesHandler.java, handlers/ProxyPropertiesHandler.java, server/Main.java, sql/SqlTemplate.java
"enum" became a reserved word, change to "enumer".
Fri Aug 13 09:20:43 2004 PDT suhler

update: handlers/templates/DirectoryTemplate.java
doc updates
Mon Jun 28 11:12:37 2004 PDT suhler

update: sunlabs/ListTemplate.java
<list max=nnn front=true> will trim items from the front of
the list instead of the end ("front" is new)
Wed Jun 9 15:16:41 2004 PDT suhler

update: handlers/templates/QueueTemplate.java
- bug fix: timeout=0 was waiting forever (now it waits for 1 ms)
- changed System.out.print... messages to log()
Fri May 28 10:34:21 2004 PDT suhler

update: handlers/templates/MacroTemplate.java, handlers/templates/ScriptEvalTemplate.java
- Macros in the "init" file can use ${..} substitutions from server.props
  in their definitions
- The ScriptEvalTemplate now handles both <script> and <style>, and
  allows for optional "\X" substitutions
Mon May 24 15:24:49 2004 PDT suhler

update: sunlabs/DelayHandler.java, sunlabs/IncludeTemplate.java, sunlabs/DigestAuthHandler.java
doc fixes (we can build the pdf docs again)
Mon May 24 15:22:29 2004 PDT suhler

update: samples/simple/README, samples/simple/config.vote, samples/simple/macro.html
doc fixes.  Fix to config.vote so the calculator now works
Mon May 24 15:16:50 2004 PDT suhler

update: docs/Makefile, docs/packages/sunlabs.brazil.javascript.package.html, docs/packages/sunlabs.brazil.python.package.html, docs/packages/sunlabs.brazil.sql.package.html, docs/packages/sunlabs.brazil.ssl.package.html, docs/packages/sunlabs.brazil.velocity.package.html
- remove files in scripts/exclude.txt from generated documentation
- doc fixes so the xml checker doesn't barf
Mon May 24 15:13:47 2004 PDT suhler

update: handlers/templates/BSLTemplate.java, handlers/templates/MacroTemplate.java
- added map= attribute to M<extract>
- remove spurious diagostics from MacroTemplate
Mon May 24 14:54:15 2004 PDT suhler

create: docs/scripts/exclude.txt
update: docs/scripts/README, docs/scripts/fixJavadocHtml.tcl
- added "exclude.txt" to exclude listed files from a distribution.
- Some scripts contain references to absolute file paths, that were
  pointing to non-existant files.
Mon May 24 14:51:26 2004 PDT suhler

update: handlers/ExprProps.java, handlers/ExprPropsHandler.java
Updated docs to explain how to use the calculator with <if> ... </if>
Fri May 21 12:28:50 2004 PDT suhler

update: handlers/templates/MacroTemplate.java
- The initial macros file is now interpreted as an xml template, and not
  a java properties format file [WARNING: backward un-compatibility]
- main() may be used to convert the old style macro initialization tables
  (which no one used 'cause they were too hadr to generate) into the new
  format.
Tue May 18 15:52:28 2004 PDT suhler

update: handlers/templates/IncludeTemplate.java
add diagnostics so we can track remote fetches at level 4
Mon May 3 11:58:25 2004 PDT suhler

update: handlers/templates/AddHeaderTemplate.java
doc fixes for previous putback
Mon May 3 11:48:40 2004 PDT suhler

update: handlers/templates/AddHeaderTemplate.java
in "location" headers, all reasonable url's are properly converted
into absolute url's
Wed Apr 28 16:20:58 2004 PDT suhler

update: contrib/Makefile


Wed Apr 28 16:17:38 2004 PDT suhler

update: docs/Makefile, docs/html/todo.html, docs/packages/sunlabs.brazil.servlet.package.html, docs/packages/sunlabs.brazil.ssl.package.html, docs/scripts/fixJavadocHtml.tcl, docs/scripts/label.tcl, docs/scripts/ps.template
-doc formatting fixes
-install path fixes
-date updates
Wed Apr 28 16:11:15 2004 PDT suhler

update: beanshell/BeanShellTemplate.java
doc fixes
Wed Apr 28 16:09:42 2004 PDT suhler

update: handlers/templates/IncludeTemplate.java
added attributes to facilitate sending query data
Wed Apr 28 16:09:19 2004 PDT suhler

update: handlers/templates/AddHeaderTemplate.java, handlers/templates/DeCommentTemplate.java
doc fixes
Wed Apr 28 16:08:40 2004 PDT suhler

update: handlers/templates/QueueTemplate.java
add methods to allow handler/templates to access queues directly
Wed Apr 28 16:06:14 2004 PDT suhler

update: handlers/HtmlRewriter.java
Change quoting rules (again) to always add quotes.  This is
more XMLish bahavior
Wed Apr 28 16:01:09 2004 PDT suhler

update: sunlabs/Makefile
Added additional handler/template
Wed Apr 28 16:00:31 2004 PDT suhler

update: util/StringMap.java
doc format fixes
Wed Apr 28 15:59:40 2004 PDT suhler

update: util/LexML.java
Added methods to allow for better error diagnostics (e.g. line #'s)
Wed Apr 28 15:58:45 2004 PDT suhler

update: util/Format.java
\s maps to [space] and \v maps to ' (\q was already taken)
Wed Apr 28 15:57:25 2004 PDT suhler

update: sql/SqlTemplate.java
added "na" and "zeroindex" attributes for specifying n/a values, and
either 0 or 1 based indexing for the table results
Wed Apr 28 15:51:58 2004 PDT suhler

update: session/CacheManager.java, session/SessionManager.java
Changed the default implementation of SessionManager from a
hashtable of hashtables to a concatenated key, using the CacheManager
key generation algorithm
Wed Apr 28 14:55:22 2004 PDT suhler

create: sunlabs/IncludeTemplate.java
Version of the IncludeTemplate that automatically handles
re-directs and ssl (but requires jdk1.4+)
Wed Apr 28 14:54:52 2004 PDT suhler

update: handlers/templates/PropsTemplate.java, handlers/templates/SetTemplate.java, sunlabs/DelayHandler.java, sunlabs/SubstPropsHandler.java, servlet/BrazilServlet.java
documentation formating fixes
Wed Apr 28 13:55:26 2004 PDT suhler

update: properties/PropertiesList.java, handlers/templates/BSLTemplate.java
Bug fix:  namespaces imported inside of <foreach> loops were being
lost after the </foreach>.
Tue Apr 27 14:55:20 2004 PDT suhler

create: sunlabs/SubstPropsHandler.java
A "smart properties" handler that allows pluggable mappings
of property dereferences.  For example, if ${foo} exists, then
${cnvt(foo)} will filter ${foo} through the "cnvt" filter to
obtain the value.  Multiple filters may be installed, and the
format of the filter syntax is configurable.
Fri Apr 23 15:28:47 2004 PDT suhler

create: sunlabs/DigestAuthHandler.java
update: sunlabs/Makefile
Added DigestAuthHandler.java that supports digest authentication
in (modern) versions of IE and mozilla.
Mon Apr 19 16:53:15 2004 PDT suhler

update: handlers/templates/DirectoryTemplate.java
> Forgot to remove once-only check; it doesn't make sense now
> that we have an "directory" attribute.  Added a "select=[!]<glob>"
> attribute fo file selection
> 
<
Mon Apr 19 15:19:02 2004 PDT suhler

update: handlers/templates/DirectoryTemplate.java
Fixed how the "directory" attribute is resolved:
- if it starts with "/", relative to the doc root
- otherwise, relative to the current directory
Fri Apr 2 10:06:50 2004 PDT suhler

create: sunlabs/checkbsl
update: sunlabs/XmlTree.java
Added better error checking to XmlTree
included sample "bsl checker" script
Fri Mar 26 10:48:22 2004 PDT suhler

create: sunlabs/RemoteHostTemplate.java
update: sunlabs/Makefile
Added template to convert remote host to a hostname (reverse DNS)
[needed for new experimentalstuff-dlc integration
]
Mon Mar 22 15:41:09 2004 PDT suhler

create: sunlabs/XmlTree.java, sunlabs/XmlTreeTemplate.java
update: sunlabs/StunnelHandler.java
added template to manipulate xml DOM's
fixes to StunnelHandler
Mon Mar 22 15:08:34 2004 PDT suhler

update: sunlabs/Makefile
added more templates
Mon Mar 22 15:05:12 2004 PDT suhler

create: sunlabs/SourceTemplate.java
New template to "source" documents into an existing template
<source src=xxxx eval=true|false [encoding=xxx]>
Wed Feb 18 09:30:01 2004 PDT suhler

update: handlers/VirtualHostHandler.java
Made this one more useful (The multiHostHandler is too complicated)
Tue Jan 27 17:21:54 2004 PDT suhler

update: sunlabs/ListTemplate.java
- bug fix: setting a max size never increases the size
- backward test when reading back sessions from PropertiesCacheManager
Tue Jan 27 17:20:11 2004 PDT suhler

update: ldap/LDAPTemplate.java
- fixed limit=nnn so it works
- fixed off-by-one error in "rows" property
- added rowCount property
- added errorCode property
Mon Oct 6 09:20:13 2003 PDT suhler

update: handlers/templates/BSLTemplate.java
bug fix for NPE when an extract is not found
Wed Sep 10 10:45:56 2003 PDT suhler

create: sunlabs/DelayHandler.java
update: sunlabs/ListTemplate.java, sunlabs/Makefile
- fixed bug in list handler:  max=n was broken
- added "DelayHandler" to intoduce latency into request handling
Fri Aug 1 16:36:54 2003 PDT suhler

update: docs/scripts/ps.template, docs/scripts/props2.tcl, docs/scripts/explode.tcl, docs/Makefile, docs/overview.html, docs/html/intro.html, docs/html/samples.html, docs/html/roadmap.html
update files for generating documentation for release 2.1
Fri Aug 1 16:32:44 2003 PDT suhler

update: README_EXPORT
changed to reflext removal of BasePRoperties
Fri Aug 1 16:27:43 2003 PDT suhler

update: samples/simple/config.bean, samples/simple/bean.html, samples/simple/form.html
change PUT to POST in form demo (for mozilla 1.4)
add dynamic beanshell tag to beanshell example
Fri Aug 1 16:24:36 2003 PDT suhler

create: tests/tcl.jar
add our modified version of "tcl.jar" to the tests to make
them possible to run outside of Sun
Fri Aug 1 16:22:19 2003 PDT suhler

update: util/Base64.java, util/Format.java, util/LexML.java, util/http/HttpUtil.java, server/Request.java, server/FileHandler.java, request/HttpRequest.java, handlers/SMTPHandler.java, handlers/ResourceHandler.java, handlers/NotFoundHandler.java, handlers/DefaultFileHandler.java, handlers/MapPage.java, handlers/BasicAuthHandler.java, handlers/templates/MultipartSetTemplate.java, handlers/templates/TemplateInterface.java, handlers/templates/AllowGtTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/TemplateHandler.java, handlers/templates/RewriteContext.java, proxy/CookieFilter.java, proxy/SunProxy.java, tcl/TclServerTemplate.java, python/PythonServerTemplate.java, beanshell/BeanShellServerTemplate.java, sunlabs/StunnelHandler.java, javascript/JavaScriptTemplate.java, tests/README, tests/Makefile, ssl/SslHandler.java
documentation fixes to remove javadoc warnings.
- add "protocol" option to StunnelHandler
- fix typo in SslHandler
Thu Jul 31 11:57:32 2003 PDT suhler

create: docs/packages/scrape.tcl
update: docs/packages/sunlabs.brazil.beanshell.package.html, docs/packages/sunlabs.brazil.email.package.html, docs/packages/tcl.lang.package.html, docs/packages/sunlabs.brazil.python.package.html, docs/packages/sunlabs.brazil.servlet.package.html, docs/packages/sunlabs.brazil.sql.package.html, docs/packages/sunlabs.brazil.ssl.package.html, docs/packages/sunlabs.brazil.tcl.package.html, docs/packages/sunlabs.brazil.velocity.package.html, docs/packages/sunlabs.brazil.javascript.package.html
* update package documentation for javadocs
* create script to auromatically extract external references
  in package descriptions.  This will be integrated into the Makefile
  someday to auto-generate the readme files in the distribution
Mon Jul 28 09:39:36 2003 PDT suhler

update: server/Handler.java, handlers/ExprPropsHandler.java, handlers/RolesHandler.java, handlers/templates/DebugTemplate.java, handlers/templates/DirectoryTemplate.java, handlers/templates/NoImageTemplate.java, handlers/templates/QueueTemplate.java, handlers/templates/TemplateHandler.java, filter/TemplateFilter.java, beanshell/BeanShellTemplate.java, sunlabs/Makefile, sunlabs/SubstAllTemplate.java, sunlabs/StunnelHandler.java, velocity/VelocityFilter.java, ssl/SslHandler.java
Document updates for all files, plus:
DirectoryTemplate:
  added directory=xxx attribute
Makefile
  PageTemplate removed (superceded by ListTemplate)
SSLHandler
  Add fingerprint to cert properties
Sat Jul 26 16:55:24 2003 PDT drach

update: proxy/ProxyHandler.java
Move return out of finally clause to eliminate warning about finally clause not able
to return normally.
Sat Jul 26 16:51:58 2003 PDT drach

create: exportbuild.xml
update: Makefile, exportMakefile.back, exportMakefile.front, README_EXPORT
Fix up export to handle non-versioned PropertiesList.  Also add a build.xml file
to build with ant if desired.
Fri Jul 25 16:38:26 2003 PDT drach

update: Makefile, Makefile.common
Make sure compiler is at least 1.2, but generate code for 1.1 VMs
Stop the build if a 1.1 compiler is used.  Change default tools to use
1.3.  Along the way, redid the versioning macro and the tests, as well
as add some output comments.
Fri Jul 25 16:36:48 2003 PDT drach

update: properties/Makefile, properties/PropertiesList.java
rename: properties/BasePropertiesList.java -> properties/PropertiesList.java
Remove need for versioned PropertiesList files.  Now there is only
one file.  Note, since it contains Java 2 API, it can only be
compiled with Java 2 compilers, but it can run on Java 1 VMs
if compiled with the "-target 1.1" option.
Fri Jul 25 16:31:20 2003 PDT drach

delete: properties/version1.1/PropertiesList.java, properties/version1.2/PropertiesList.java
Delete versioned PropertiesList.java files
Wed Jul 23 16:00:44 2003 PDT suhler

update: servlet/BrazilServlet.java
Stupid edditing error on last putback
Wed Jul 23 13:14:22 2003 PDT suhler

update: servlet/BrazilServlet.java, servlet/BServletRequest.java, servlet/Makefile
The servlet prefix is now stripped off the url at the beggining, and
added back for all text/html content (whose length is now recomputed
properly)
Thu Jul 17 10:44:45 2003 PDT suhler

update: servlet/BrazilServlet.java
Changed the way the servlet finds its config file and document root, by
viewing the "web.xml" file as a replacement for ...server.Main [args] and
modelling it the same way.
 
Always use the servlet context root to resolve "cwd()" as the directory
of the script that started the web container is almost never useful
Thu Jul 17 10:41:02 2003 PDT suhler

update: handlers/HtmlRewriter.java
change the quoting rules in quote() to err on the side of adding
quotes.
Thu Jul 10 09:25:33 2003 PDT suhler

update: util/Calculator.java, util/Format.java, handlers/templates/Template.java, handlers/templates/RewriteContext.java, handlers/templates/BSLTemplate.java
- Bug fix:  classes we all defining their own, inconsistant notions of
  what "true" and "false" meant.  They've all been consolidated into
  a single location: Format.isTrue()/Format.isFalse().
- Template.java checks for a debug flag using the template runner's prefix
  if "debug" is not found in the template's prefix.  This is now consistent
  with the behaviour of "tagPrefix"
Wed Jul 9 14:19:59 2003 PDT suhler

update: request/HttpRequest.java, handlers/DirectoryHandler.java, handlers/HtmlRewriter.java, handlers/ExprProps.java, handlers/templates/DebugTemplate.java, handlers/templates/MacroTemplate.java, handlers/templates/TOCTemplate.java, handlers/templates/QueueTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/RewriteContext.java, handlers/templates/BSLTemplate.java, sql/SqlTemplate.java, tcl/TclServerTemplate.java, python/PythonServerTemplate.java, beanshell/BeanShellServerTemplate.java, sunlabs/DateTemplate.java, sunlabs/PlainTemplate.java, sunlabs/StunnelHandler.java, javascript/JavaScriptTemplate.java
- fixed "tagPrefix" property so all Brazil tags may be prefixed properly.  This
  allows easy disambiguation of server/client evaluation for UCML examples.  Templates
  should no longer explicitly look for their closing tag.  Instead they should use
  RewriteContext.isClosingFor(), and RewriteContext.addClosingTag()
- no changes (or lint) made to: DateTemplate.java, HttpRequest.java, DirectoryHandler.java,
  ExprProps.java, 
- Minor bug fixes to: StunnelHandler.java
Thu May 29 16:47:39 2003 PDT drach

update: servlet/BrazilServlet.java
The server socket was not initialized.  It is now set to the server's
listen socket.
Tue May 13 16:34:54 2003 PDT suhler

update: handlers/templates/MacroTemplate.java
rewrite to new semantics
(I'm not sure why this wasn't put back a long time ago)
Tue May 13 14:01:34 2003 PDT suhler

update: sunlabs/ListTemplate.java
cosmetic changes
Mon May 12 16:36:47 2003 PDT suhler

create: sunlabs/PlainTemplate.java, sunlabs/StunnelHandler.java
update: sunlabs/Makefile
- added StunnelHandler to allow Brazil to use stunnel as an ssl gateway, 
  by "fixing" the protocol field of all redirects from sll gateways.  This
  uses the "serverProtocol" variable that was just added to Request.java
- added PlainTemplate to allow html pages to contain HTML to be displayed as
  HTML, without having to escape each special character.
Mon May 12 16:28:03 2003 PDT suhler

update: server/Request.java
added a "serverProtocol" variable to allow handlers to change the
protocol (e.g. http) the server claims to be using on a per-request basis.
If "serverProtocol" is unchanged (the default), then the Server.protocol
is used instead.
 
This is useful when fronting Brazil servers with ssl gateways; the protocol
can be changed from "http" to "https" to allow redirects to work
properly
Tue Apr 15 17:31:41 2003 PDT drach

update: request/HttpRequest.java
Add protected modifier to variable connected so subclasses outside
of package can access it.
Mon Jan 6 12:24:50 2003 PDT suhler

update: sunlabs/ListTemplate.java
New implementation uses a hashtable (in addition to a Vector) for
long lists to make isMember() checks fast
Thu Dec 19 11:41:08 2002 PDT suhler

update: sunlabs/ExecTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/SetTemplate.java
Bug fixes for Joe/Rinaldo:
ExecTemplate:
 process.exec(command) does not allow white space in arguments.  There
 is a new "usesh" flag that (on unix) will exec: /bin/sh -c "command"
 as a workaround
FormTemplate
 the "size" attribute of input tags gets processed through format.subst now
SetTemplate
 <namespace remove> is added.  It has the original semantices of
 <namespace clear>, that is the namespace is completely removed, instead
 of just having its elements cleared.  This allows namespaces to be
 generated dynamically (without bound) without overflowing memory
Mon Dec 2 15:47:43 2002 PDT suhler

create: slim/html/admin/admingroups.html, slim/html/fetchMIDP.html, slim/html/infoMIDP.html, slim/html/registerMIDP.html, slim/html/groups.html
update: slim/alice/s1.tcl, slim/html/admin/adminmain.html, slim/html/admin/adminnav.html, slim/html/admin/adminbot.html, slim/html/bottom.html, slim/html/chat.html, slim/html/chatwpref.html, slim/html/fetchBrowser.html, slim/html/index.html, slim/html/info.html, slim/html/prefs.html, slim/html/process.html, slim/html/register.html, slim/html/right.html, slim/html/sound_pref.html, slim/html/stats.html, slim/html/top.html, slim/html/config, slim/html/userprefs.html, slim/html/chatgroup.html, slim/html/about.html, slim/html/chatw.html, slim/Makefile, slim/run, slim/client-phone/im.tcl, slim/client-phone/im.pgm
Sync with workspace.
- this should be the current "Joe Ferrill" demo
- redo group operation; groups now owned by admins (more like chat rooms)
- redo group and bot variables to deal with scalability issues (e.g. don't import userd namespace)
- use new "Q" closed flag for more efficient Q management
 
About to redo user and group management to use the "ListTemplate".  Hopefully this will
increase the scalability by ~10x.
 
Hopefully the new bot stuff (from leo) didn't break in the process - I didn't test it.
Mon Dec 2 15:20:16 2002 PDT suhler

update: sunlabs/Makefile, sunlabs/ListTemplate.java
added the PageTemplate capability to the ListTemplate
PageTemplate is now obsolete
Wed Nov 27 10:58:28 2002 PDT suhler

update: sunlabs/Makefile, sunlabs/PageTemplate.java, sunlabs/ListTemplate.java
rename: slim/PageTemplate.java -> sunlabs/PageTemplate.java, slim/ListTemplate.java -> sunlabs/ListTemplate.java
Move PageTemplate and ListTemplate into "sunlabs" package from "slim" so
they appear in the docs.  Neither are SLIM specific.
Mon Nov 25 15:55:04 2002 PDT suhler

update: slim/ListTemplate.java
The PropertiesCacheManager now exports a "Saveable" interface to allow
 session objects other than "Properties" to have their state saved and 
 restored in a portable ASCII format.
Mon Nov 25 15:51:17 2002 PDT suhler

update: session/PropertiesCacheManager.java
The PropertiesCacheManager now exports a "Saveable" interface to allow
session objects other than "Properties" to have their state saved and 
restored in a portable ascii format
Mon Nov 25 13:35:39 2002 PDT drach

update: properties/BasePropertiesList.java
Minor cosmetic changes to BasePropertiesList
Mon Nov 25 12:36:43 2002 PDT suhler

create: slim/ListTemplate.java
update: slim/Makefile
first pass at a list "smart properties" to permit list manipulations
in html templates
Mon Nov 25 12:31:11 2002 PDT suhler

update: properties/BasePropertiesList.java
changed the semantics of getProperty() and getNames() to treat all wrapped dictionaries
as if they are properties objects, using get() and keys() instead of getProperty() and getNames() if the
wrapped object isn't a properties
Fri Nov 15 16:43:36 2002 PDT suhler

create: slim/PageTemplate.java
update: slim/Makefile
Added "PageTemplate".  This allows easy paging through long lists
of items, in anticipation of chat scaling issues
Thu Nov 14 14:50:57 2002 PDT suhler

create: beanshell/BeanShellTemplate.java
update: beanshell/Makefile, beanshell/BeanShellServerTemplate.java
Add the ability to create new template tags on-the-fly using beanshell
Thu Nov 14 14:29:32 2002 PDT suhler

update: handlers/templates/ContentTemplate.java, handlers/templates/MacroTemplate.java
bug fix: empty Html bodies were causing null pointer exceptions
Wed Nov 6 10:06:59 2002 PDT drach

update: Makefile
Use only one versioning mechanism to decide which dirs to include.
Tue Nov 5 15:15:38 2002 PDT suhler

create: samples/simple/config.macro, samples/simple/macro.html
update: handlers/templates/MacroTemplate.java, samples/simple/README
New macro template with examples.  This one should work a lot better
Tue Nov 5 11:19:58 2002 PDT suhler

update: contrib/RunAsHandler.java
Must do "setGid" before "setUid", or the "setGid" will fail.
doh!
Tue Nov 5 10:44:24 2002 PDT suhler

update: filter/SessionFilter.java
Remove diagnostic output
Mon Nov 4 14:02:21 2002 PDT suhler

update: handlers/PollHandler.java
fixed previous putback (sorry)
Mon Nov 4 13:56:08 2002 PDT suhler

update: handlers/PollHandler.java
move check for redundant poll into the right place
Mon Nov 4 13:54:03 2002 PDT suhler

update: handlers/templates/SetTemplate.java
don't try to clear a non-existant namespace
Mon Oct 28 22:40:22 2002 PDT lc138592

update: slim/html/admin/adminbot.html, slim/AliceHandler.java, slim/AliceResponse.java
Adds further support for dynamic creation and deletion of bots, also allows login and logout of existing bots.
Thu Oct 24 15:37:23 2002 PDT suhler

update: handlers/templates/SetTemplate.java
- <namespace clear> now "clears" the table, but does not un-link it
- better attribute checking in corner cases
Mon Oct 21 21:48:38 2002 PDT lc138592

update: slim/html/admin/adminbot.html, slim/AliceResponse.java
Putback the basic stuff I have for getting bot create and delete to work, still have to work out the bugs with the new bots not actually having any data scripting files to work with, its a bit tricky.
Mon Oct 21 14:02:25 2002 PDT suhler

update: Makefile
Add jdk1.1 conditional include for "ssl"
Fri Oct 18 16:38:06 2002 PDT drach

update: Makefile
Build slim only if using a 1.4 compiler
Fri Oct 18 15:04:59 2002 PDT drach

update: server/Request.java
Add shared props after Request.props rather than before server.props
Tue Oct 1 16:43:44 2002 PDT suhler

update: beanshell/BeanShellServerTemplate.java, beanshell/Makefile, beanshell/test.bsh, beanshell/BeanShellHandler.java, contrib/README, contrib/Makefile, contrib/ApplyXslServerTemplate.java, contrib/LDAPTemplate.java, contrib/RunAs.c, contrib/RunAsHandler.java, contrib/libsunlabs_brazil_sunlabs_RunAsHandler.so-solaris, contrib/ReXXShell.java, docs/packages/README, docs/packages/sunlabs.brazil.handler.package.html, docs/packages/sunlabs.brazil.server.package.html, docs/packages/sunlabs.brazil.template.package.html, docs/packages/sunlabs.brazil.util.package.html, docs/packages/tcl.lang.package.html, docs/packages/sunlabs.brazil.util.regexp.package.html, docs/packages/com.sun.server.package.html, docs/packages/link-doc.tcl, docs/packages/sunlabs.brazil.beanshell.package.html, docs/packages/sunlabs.brazil.email.package.html, docs/packages/sunlabs.brazil.filter.package.html, docs/packages/sunlabs.brazil.ldap.package.html, docs/packages/sunlabs.brazil.properties.package.html, docs/packages/sunlabs.brazil.proxy.package.html, docs/packages/sunlabs.brazil.python.package.html, docs/packages/sunlabs.brazil.servlet.package.html, docs/packages/sunlabs.brazil.session.package.html, docs/packages/sunlabs.brazil.sql.package.html, docs/packages/sunlabs.brazil.ssl.package.html, docs/packages/sunlabs.brazil.sunlabs.package.html, docs/packages/sunlabs.brazil.tcl.package.html, docs/packages/sunlabs.brazil.util.http.package.html, docs/packages/sunlabs.brazil.velocity.package.html, docs/packages/sunlabs.brazil.contrib.package.html, docs/packages/sunlabs.brazil.javascript.package.html, docs/scripts/convert.tcl, docs/scripts/explode.tcl, docs/scripts/link-doc.tcl, docs/scripts/list_packages.tcl, docs/scripts/gen-apidocs, docs/scripts/README, docs/scripts/props.tcl, docs/scripts/props2.tcl, docs/scripts/jImport, docs/scripts/history.tcl, docs/scripts/protect_code.tcl, docs/scripts/label.tcl, docs/scripts/classpath.tcl, docs/scripts/diff.tcl, docs/scripts/fixJavadocHtml.tcl, docs/scripts/ps.template, docs/scripts/Main.txt, docs/scripts/TERMS.moz, docs/scripts/Jindent.properties, docs/images/brazilicon.gif, docs/README, docs/overview.html, docs/Makefile, docs/FAQ, docs/package-lists/servlet/package-list, docs/package-lists/activation/package-list, docs/package-lists/jdk1.2/package-list, docs/package-lists/README, docs/package-lists/velocity/package-list, docs/html/README, docs/html/todo.html, docs/html/bsl.html, docs/html/build.html, docs/html/intro.html, docs/html/javasource.html, docs/html/tut.template, docs/html/samples.html, docs/html/roadmap.html, docs/html/use-guide.html, docs/html/tut/README, docs/html/tut/SampleHandler1.java, docs/html/tut/SampleHandler2.java, docs/html/tut/sample1.config, docs/html/tut/sample1.template, email/Makefile, email/EmailTemplate.java, filter/doc/index.html, filter/doc/sample.txt, filter/doc/a.html, filter/doc/b.html, filter/doc/h1.html, filter/doc/missing.html, filter/doc/line1.jpg, filter/doc/logo.gif, filter/doc/de-link.tcl, filter/Filter.java, filter/Makefile, filter/README, filter/PlainFilter.java, filter/config, filter/config2, filter/TemplateFilter.java, filter/config-session, filter/config3, filter/ReplaceFilter.java, filter/config-large, filter/config.copy, filter/CopyContentFilter.java, filter/FilterHandler.java, filter/UrlSessionFilter.java, filter/SessionFilter.java, filter/ReFilter.java, filter/ExecFilter.java, filter/MD5Filter.java, handlers/AclSwitchHandler.java, handlers/GenericProxyHandler.java, handlers/CgiHandler.java, handlers/PollHandler.java, handlers/HomeDirHandler.java, handlers/ReflectHandler.java, handlers/MultiProxyHandler.java, handlers/SupplyHandler.java, handlers/HtmlRewriter.java, handlers/PushHandler.java, handlers/Makefile, handlers/ProxyPropertiesHandler.java, handlers/PublishHandler.java, handlers/RolesHandler.java, handlers/ChainSawHandler.java, handlers/README, handlers/SMTPHandler.java, handlers/SunNetAuthHandler.java, handlers/DialogHandler.java, handlers/ExprProps.java, handlers/LogHandler.java, handlers/SimpleSessionHandler.java, handlers/MapPage.java, handlers/NotFoundHandler.java, handlers/DirectoryHandler.java, handlers/RePollHandler.java, handlers/VirtualHostHandler.java, handlers/BasicAuthHandler.java, handlers/ConfigFileHandler.java, handlers/PropertiesHandler.java, handlers/ResourceHandler.java, handlers/MatchString.java, handlers/MultiHostHandler.java, handlers/UrlMapperHandler.java, handlers/DefaultFileHandler.java, handlers/DynamicConfigHandler.java, handlers/CookieSessionHandler.java, handlers/DeferredHandler.java, handlers/RestrictClientHandler.java, handlers/ExprPropsHandler.java, handlers/templates/UrlNavBarTemplate.java, handlers/templates/ChangedTemplate.java, handlers/templates/README, handlers/templates/RedirectTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/NoImageTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/TOCTemplate.java, handlers/templates/BSLTemplate.java, handlers/templates/Template.java, handlers/templates/TemplateHandler.java, handlers/templates/SetTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/QueueTemplate.java, handlers/templates/RewriteContext.java, handlers/templates/DirectoryTemplate.java, handlers/templates/HighlightTemplate.java, handlers/templates/DebugTemplate.java, handlers/templates/ModifiedTemplate.java, handlers/templates/TemplateInterface.java, handlers/templates/MacroTemplate.java, handlers/templates/TemplateTemplate.java, handlers/templates/ScriptEvalTemplate.java, handlers/templates/MultipartSetTemplate.java, handlers/templates/DeCommentTemplate.java, handlers/templates/AllowGtTemplate.java, javascript/Makefile, javascript/JavaScriptTemplate.java, ldap/LDAPTemplate.java, ldap/Makefile, properties/Makefile, properties/BasePropertiesList.java, properties/version1.1/PropertiesList.java, properties/version1.2/PropertiesList.java, proxy/ProxyHandler.java, proxy/UseProxy.java, proxy/SunProxy.java, proxy/Makefile, proxy/CookieFilter.java, proxy/HistoryFilter.java, proxy/JunkBusterHandler.java, python/python.html, python/config.python, python/PythonServerTemplate.java, python/Makefile, request/HttpSocket.java, request/HttpRequest.java, request/HttpSocketPool.java, request/Makefile, samples/README, samples/Makefile, samples/email/body.html, samples/email/pref.html, samples/email/compose.html, samples/email/headers.html, samples/email/config, samples/email/colors.html, samples/email/index.html, samples/email/Makefile, samples/email/run, samples/email/README, samples/email/config.pref, samples/email/debug.html, samples/email/filter-list.html, samples/email/filter.html, samples/email/frameset.html, samples/email/menubar.html, samples/email/kill_filters.html, samples/email/process.html, samples/email/msgwindow.html, samples/email/welcome.html, samples/email/props.html, samples/email/reply.html, samples/email/pref-list.html, samples/email/search.html, samples/email/timeout.html, samples/email/checkpoint.html, samples/email/aliases.html, samples/simple/README, samples/simple/form.html, samples/simple/config.form, samples/simple/config.proxy, samples/simple/proxy.html, samples/simple/bean.html, samples/simple/config.builtin, samples/simple/config.cgi, samples/simple/config.bean, samples/simple/calendar.html, samples/simple/config.calendar, samples/simple/config.extract, samples/simple/sql.html, samples/simple/config.resource, samples/simple/config.sql, samples/simple/extract.html, samples/simple/resource.html, samples/simple/config.vote, samples/simple/vote.html, samples/simple/config.sort, samples/simple/sort.html, samples/simple/Makefile, samples/simple/config.translate, samples/simple/translate.html, samples/simple/config.rexx, samples/simple/rexx.html, samples/stock/config, samples/stock/README, samples/stock/config.stock, samples/stock/index.html, samples/stock/select.html, samples/stock/stock.html, samples/stock/value.html, samples/stock/Makefile, samples/stock-basic/config, samples/stock-basic/README, samples/stock-basic/config.stock, samples/stock-basic/index.html, samples/stock-basic/my_reauth.html, samples/stock-basic/my_select.html, samples/stock-basic/my_stock.html, samples/stock-basic/my_value.html, samples/stock-basic/register.html, samples/stock-basic/Makefile, samples/template/images/b.gif, samples/template/images/brazilicon.gif, samples/template/images/Makefile, samples/template/dir/index.html, samples/template/dir/Makefile, samples/template/exp/index.html, samples/template/exp/Makefile, samples/template/config.map, samples/template/index.html, samples/template/customize.html, samples/template/meta.html, samples/template/notfound.html, samples/template/see.html, samples/template/main.template, samples/template/printing.template, samples/template/config, samples/template/README, samples/template/config.persist, samples/template/Makefile, samples/template/data/Makefile, samples/im/Makefile, samples/im/config, samples/im/bottom.html, samples/im/README, samples/im/chat.html, samples/im/index.html, samples/im/info.html, samples/im/logout.html, samples/im/notify.java, samples/im/prefs.html, samples/im/process.html, samples/im/register.html, samples/im/right.html, samples/im/stats.html, samples/im/top.html, samples/im/admin/Makefile, samples/im/data/cowbell.au, samples/im/data/bark.au, samples/im/data/bird.au, samples/im/data/bong.au, samples/im/data/break.au, samples/im/data/clink.au, samples/im/data/cow.au, samples/im/data/cuckoo.au, samples/im/data/duck.au, samples/im/data/frog.au, samples/im/data/gong.au, samples/im/data/ouch.au, samples/im/data/splat.au, samples/im/data/Makefile, samples/im/data/BrazilPowered.gif, server/ChainHandler.java, server/Connection.java, server/FileHandler.java, server/Handler.java, server/Main.java, server/Request.java, server/Server.java, server/README, server/Makefile, servlet/BServletRequest.java, servlet/BServletServerSocket.java, servlet/BServletSocket.java, servlet/BrazilServlet.java, servlet/Makefile, session/SerialPersist.java, session/Makefile, session/SessionManager.java, session/PJamaSessionManager.java, session/CacheManager.java, session/SerializableCacheManager.java, session/PropertiesCacheManager.java, slim/alice/conf/jetty.xml, slim/alice/conf/startup.xml, slim/alice/conf/predicates.xml, slim/alice/conf/sentence-splitters.xml, slim/alice/conf/substitutions.xml, slim/alice/aiml/JavaONE.aiml, slim/alice/aiml/yopy-IM.aiml, slim/alice/aiml/SearchBot.aiml, slim/alice/aiml/standard/std-65percent.aiml, slim/alice/aiml/standard/std-atomic.aiml, slim/alice/aiml/standard/std-botmaster.aiml, slim/alice/aiml/standard/std-brain.aiml, slim/alice/aiml/standard/std-connect.aiml, slim/alice/aiml/standard/std-dictionary.aiml, slim/alice/aiml/standard/std-disconnect.aiml, slim/alice/aiml/standard/std-dont.aiml, slim/alice/aiml/standard/std-errors.aiml, slim/alice/aiml/standard/std-gender.aiml, slim/alice/aiml/standard/std-geography.aiml, slim/alice/aiml/standard/std-gossip.aiml, slim/alice/aiml/standard/std-hello.aiml, slim/alice/aiml/standard/std-inactivity.aiml, slim/alice/aiml/standard/std-inventions.aiml, slim/alice/aiml/standard/std-knowledge.aiml, slim/alice/aiml/standard/std-login.aiml, slim/alice/aiml/standard/std-numbers.aiml, slim/alice/aiml/standard/std-personality.aiml, slim/alice/aiml/standard/std-pickup.aiml, slim/alice/aiml/standard/std-profile.aiml, slim/alice/aiml/standard/std-robot.aiml, slim/alice/aiml/standard/std-sports.aiml, slim/alice/aiml/standard/std-srai.aiml, slim/alice/aiml/standard/std-suffixes.aiml, slim/alice/aiml/standard/std-that.aiml, slim/alice/aiml/standard/std-turing.aiml, slim/alice/aiml/standard/std-yesno.aiml, slim/alice/README, slim/alice/explain.tcl, slim/alice/google.tcl, slim/alice/j1search.tcl, slim/alice/server.properties, slim/alice/s1.tcl, slim/html/admin/adminmain.html, slim/html/admin/adminnav.html, slim/html/admin/bot.html, slim/html/admin/clean.html, slim/html/admin/index.html, slim/html/admin/props.html, slim/html/admin/adminbot.html, slim/html/admin/adminaudio.html, slim/html/alice_query.html, slim/html/audio_trans.html, slim/html/blank.html, slim/html/bottom.html, slim/html/chat.html, slim/html/chatwpref.html, slim/html/fetchBrowser.html, slim/html/fetchTCL.html, slim/html/index.html, slim/html/info.html, slim/html/logout.html, slim/html/pref_message.html, slim/html/prefs.html, slim/html/process.html, slim/html/register.html, slim/html/right.html, slim/html/sound_pref.html, slim/html/stats.html, slim/html/top.html, slim/html/config, slim/html/userprefs.html, slim/html/chatgroup.html, slim/html/about.html, slim/html/chatw.html, slim/html/registerTcl.html, slim/html/data/Bell.au, slim/html/data/Creak.au, slim/html/data/Gun.au, slim/html/data/Knock.au, slim/html/data/Lamb.au, slim/html/data/Mortar.au, slim/html/data/bark.au, slim/html/data/Toaster.au, slim/html/data/bird.au, slim/html/data/bong.au, slim/html/data/break.au, slim/html/data/clink.au, slim/html/data/cow.au, slim/html/data/cow2.au, slim/html/data/cowbell.au, slim/html/data/cuckoo.au, slim/html/data/dog.au, slim/html/data/duck.au, slim/html/data/frog.au, slim/html/data/gong.au, slim/html/data/msg.au, slim/html/data/op.au, slim/html/data/ouch.au, slim/html/data/owl.au, slim/html/data/splat.au, slim/html/data/toot.au, slim/html/data/zoom.au, slim/html/data/slim.jpg, slim/html/data/BrazilPowered.gif, slim/INSTALL, slim/README, slim/ATHandler.java, slim/AliceHandler.java, slim/AliceResponse.java, slim/BasicAudioTools.java, slim/MenuTemplate.java, slim/TTSHandler.java, slim/Makefile, slim/TTSServerHandler.java, slim/SLIM-Client-HOWTO, slim/robot-notes, slim/run, slim/client-tcl/bin/playlin, slim/client-tcl/bin/playmu, slim/client-tcl/bin/recordmu, slim/client-tcl/sounds/msg.au, slim/client-tcl/sounds/op.au, slim/client-tcl/sounds/bark.au, slim/client-tcl/README, slim/client-tcl/im.tcl, slim/client-tcl/im-tts.tcl, slim/client-tcl/im.ui.tcl, slim/client-tcl/login.ui.tcl, slim/client-tcl/pref.ui.tcl, slim/client-phone/sounds/clink.au, slim/client-phone/greeting.tcl, slim/client-phone/ans.pgm, slim/client-phone/Makefile, slim/client-phone/record.pgm, slim/client-phone/audio.c, slim/client-phone/stdin.tcl, slim/client-phone/ivr_stim.tcl, slim/client-phone/im.tcl, slim/client-phone/im.pgm, slim/client-phone/README, slim/client-phone/b2i.c, slim/client-phone/http.tcl, slim/client-phone/run, slim/client-phone/stim.tcl, slim/client-phone/xgetidle.c, slim/client-phone/INSTALL, slim/client-phone/README-demo, slim/client-phone/TODO, slim/client-test/README, slim/client-test/stdin.tcl, slim/client-test/auto.tcl, sql/Makefile, sql/README, sql/config, sql/SqlTemplate.java, sql/index.html, ssl/Makefile, ssl/README, ssl/config, ssl/SslHandler.java, ssl/index.html, ssl/run-ssl, ssl/CertHandler.java, ssl/req.html, sunlabs/UrlMapFilter.java, sunlabs/README, sunlabs/Makefile, sunlabs/ClockFormat.java, sunlabs/DateTemplate.java, sunlabs/ServerProcess.java, sunlabs/libcom_sun_server_ServerProcess.so, sunlabs/ChownHandler.java, sunlabs/SnarfTemplate.java, sunlabs/SubstAllTemplate.java, sunlabs/ExecTemplate.java, sunlabs/ExpContentTemplate.java, sunlabs/ClockScan.java, sunlabs/DigestTemplate.java, sunlabs/ResourceLimitHandler.java, tcl/TclHandler.java, tcl/test.tcl, tcl/subst.tcl, tcl/Makefile, tcl/README, tcl/TclFilter.java, tcl/index.html, tcl/switch.tcl, tcl/testSwitch.html, tcl/count.tcl, tcl/stock.tcl, tcl/virtual.tcl, tcl/virtual2.tcl, tcl/TclRePollHandler.java, tcl/TclTemplateChannel.java, tcl/TclServerTemplate.java, tcl/TclUtil.java, tests/README, tests/Makefile, tests/all, tests/TestHandler.java, tests/TestServer.java, tests/TestInputStream.java, tests/defs, tests/sunlabs.brazil.util.http.HttpInputStream.test, tests/sunlabs.brazil.server.Connection.test, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.util.Glob.test, tests/sunlabs.brazil.util.http.HttpUtil.test, tests/sunlabs.brazil.util.regexp.Regexp.test, tests/TestRequest.java, tests/sunlabs.brazil.util.http.MimeHeaders.test, tests/sunlabs.brazil.util.StringMap.test, tests/sunlabs.brazil.server.FileHandler.test, tests/sunlabs.brazil.server.ChainHandler.test, tests/sunlabs.brazil.handler.BasicAuthHandler.test, tests/sunlabs.brazil.template.PropsTemplate.test, tests/sunlabs.brazil.template.BSLTemplate.test, tests/TestTemplate.java, tests/sunlabs.brazil.sunlabs.DateTemplate.test, tests/sunlabs.brazil.sunlabs.SnarfTemplate.test, tests/sunlabs.brazil.template.TemplateRunner.test, tests/sunlabs.brazil.util.Format.test, tests/sunlabs.brazil.template.SetTemplate.test, tests/sunlabs.brazil.template.SetTemplate.compat.test, tests/sunlabs.brazil.templates.ScriptEval.test, tests/sunlabs.brazil.handler.MatchString.test, tests/sunlabs.brazil.handler.RePollHandler.test, tests/sunlabs.brazil.properties.ExprProps.test, tests/sunlabs.brazil.email.EmailTemplate.test-broken, tini/DecodeGe.java, tini/Makefile, tini/PT.java, tini/Ge.java, tini/README, tini/Random.java, tini/Run.java, tini/Server.java, tini/Split.java, tini/Tini.java, tini/DecodeGe2.java, tini/PTServe.java, tini/camera.a51, tini/camera.java, tini-env/tini/README, tini-env/tini/kill.html, tini-env/tini/chmod.html, tini-env/tini/getext.html, tini-env/tini/ls.html, tini-env/tini/ps.html, tini-env/tini/mkdir.html, tini-env/tini/put.html, tini-env/tini/ram.html, tini-env/tini/rm.html, tini-env/tini/version.html, tini-env/micro/README, tini-env/micro/Tini.java, tini-env/micro/Server.java, tini-env/README, tini-env/dops.html, tini-env/bottom.html, tini-env/config.tini, tini-env/put.html, tini-env/index.html, tini-env/middle.html, tini-env/run, tini-env/top.html, tools/README, tools/jImport, tools/jMkdirs, util/Makefile, util/README, util/Glob.java, util/Sort.java, util/Format.java, util/StringMap.java, util/regexp.test, util/defs, util/LexHTML.java, util/SocketFactory.java, util/LexML.java, util/Base64.java, util/ErrorMsg.java, util/Guid.java, util/Calculator.java, util/regexp/Regexp.java, util/regexp/Regsub.java, util/http/MimeHeaders.java, util/http/HttpInputStream.java, util/http/HttpUtil.java, velocity/Makefile, velocity/VelocityFilter.java
Updated the version numbers of all files to 2.1
Wed Sep 11 16:49:15 2002 PDT suhler

update: slim/client-phone/ivr_stim.tcl, slim/client-phone/im.tcl, slim/client-phone/im.pgm
- refresh user list as needed
- stop playing when a tone is recvd
- play message for incorrect password
- don't play incoming messages while recording
- remove "after nnn" attempts to fix a bug introduced by closing
  the wrong files
- fix up messages a bit
Wed Sep 11 09:15:32 2002 PDT suhler

create: slim/run, slim/client-phone/INSTALL, slim/client-phone/README-demo, slim/client-phone/TODO
update: slim/html/admin/adminmain.html, slim/html/bottom.html, slim/html/fetchBrowser.html, slim/html/process.html, slim/html/config, slim/html/userprefs.html, slim/INSTALL, slim/README, slim/client-phone/ivr_stim.tcl, slim/client-phone/README, slim/client-phone/run
Integrated changes from SunNetworkDemo version
- added log level, altavista enable from "admin" console
- use environemt variables to set servers and proxies
- added additional documentation
- cleaned up debugging messages
Tue Sep 10 11:55:22 2002 PDT suhler

create: slim/html/registerTcl.html, slim/robot-notes, slim/client-test/README, slim/client-test/stdin.tcl, slim/client-test/auto.tcl
update: slim/alice/conf/startup.xml, slim/alice/conf/predicates.xml, slim/alice/aiml/JavaONE.aiml, slim/alice/aiml/SearchBot.aiml, slim/alice/README, slim/alice/explain.tcl, slim/alice/google.tcl, slim/alice/j1search.tcl, slim/alice/server.properties, slim/alice/s1.tcl, slim/html/admin/adminmain.html, slim/html/admin/adminnav.html, slim/html/admin/index.html, slim/html/admin/adminbot.html, slim/html/admin/adminaudio.html, slim/html/bottom.html, slim/html/chat.html, slim/html/fetchBrowser.html, slim/html/index.html, slim/html/info.html, slim/html/process.html, slim/html/register.html, slim/html/top.html, slim/html/config, slim/html/userprefs.html, slim/INSTALL, slim/README, slim/ATHandler.java, slim/MenuTemplate.java, slim/client-phone/im.tcl, slim/client-phone/README, slim/client-phone/run
- added "testing" client for load testing
- merged in sun one demo changes
Mon Aug 26 14:30:03 2002 PDT suhler

create: slim/alice/s1.tcl
update: slim/alice/google.tcl
fixed google, add "sun1 network site search
Mon Aug 26 09:35:05 2002 PDT suhler

update: slim/html/bottom.html, slim/html/fetchBrowser.html, slim/html/top.html
bottom.html: send "message.replace" and not "message" to TTS
fetchBrowser.html: lost <script>...</script> around focus() call
top.html: add "admin" link
Sat Aug 24 18:16:39 2002 PDT lc138592

create: slim/html/admin/adminaudio.html
forgot to add to workspace (sau)
Fri Aug 23 17:59:27 2002 PDT lc138592

create: slim/html/admin/adminbot.html
adminbot was not part of the sccs files for some unknown reason
Fri Aug 23 16:11:09 2002 PDT lc138592

update: slim/html/about.html
Not much - merely a change in about
Wed Aug 21 18:31:33 2002 PDT suhler

update: tests/README
Added testing release notes that indicate:
-tests work on 1.1 and 1.2
-tests break on 1.3
-tests mostly work on 1.4
Wed Aug 21 18:26:22 2002 PDT suhler

update: docs/html/todo.html, tests/sunlabs.brazil.util.http.HttpUtil.test, server/Request.java, slim/README
Misc:
- doc changes to Request.java, Readme, todo
- test fixes for jdk 1.4
Wed Aug 21 15:38:13 2002 PDT suhler

update: handlers/templates/TemplateHandler.java, filter/TemplateFilter.java
add "outputEncoding" parameter to specify the String -> byte[] conversions
This allows for the handling of non-western character sets.
Tue Aug 20 12:13:50 2002 PDT suhler

create: slim/client-phone/sounds/clink.au, slim/client-phone/greeting.tcl, slim/client-phone/ans.pgm, slim/client-phone/Makefile, slim/client-phone/record.pgm, slim/client-phone/audio.c, slim/client-phone/stdin.tcl, slim/client-phone/ivr_stim.tcl, slim/client-phone/im.tcl, slim/client-phone/im.pgm, slim/client-phone/README, slim/client-phone/b2i.c, slim/client-phone/http.tcl, slim/client-phone/run, slim/client-phone/stim.tcl, slim/client-phone/xgetidle.c
telephone client for SLIM
Thu Aug 15 14:52:59 2002 PDT lc138592

create: slim/client-tcl/bin/playlin, slim/client-tcl/bin/playmu, slim/client-tcl/bin/recordmu, slim/client-tcl/sounds/msg.au, slim/client-tcl/sounds/op.au, slim/client-tcl/sounds/bark.au, slim/client-tcl/README, slim/client-tcl/im.tcl, slim/client-tcl/im-tts.tcl, slim/client-tcl/im.ui.tcl, slim/client-tcl/login.ui.tcl, slim/client-tcl/pref.ui.tcl
update: slim/html/config, slim/ATHandler.java, slim/AliceHandler.java, slim/AliceResponse.java
Fixed some stuff with voicing and SLIM.
Added the tcl client in the client-tcl subdirectory.
Wed Aug 14 10:23:25 2002 PDT lc138592

create: contrib/ReXXShell.java, samples/simple/config.rexx, samples/simple/rexx.html
update: contrib/README, contrib/Makefile, samples/simple/README
Added the ReXXShell template to the contrib directory.  Also added a (very) simple
example to the samples/simple directory of how to use the rexxshell template.
Mon Aug 12 15:37:11 2002 PDT lc138592

update: slim/html/config, slim/TTSServerHandler.java
Changed TTSServerHandler to a more sensical configuation schema.  Changed the config file to match this new schema.  Added Javadocs to TTSServerHandler.  Fixed the PCM16 audio issues with TSServerHandler.  Fixed the wave header issues in TTSServerHandler.
Mon Aug 12 13:30:47 2002 PDT suhler

update: handlers/ProxyPropertiesHandler.java
process ${...} constructs in the URL on a per-request basis
Wed Aug 7 16:38:16 2002 PDT lc138592

update: slim/html/config, slim/BasicAudioTools.java, slim/TTSServerHandler.java
Added the ability to scale the mulaw sound level dynamically
Wed Aug 7 14:51:22 2002 PDT lc138592

update: slim/html/config, slim/BasicAudioTools.java, slim/TTSServerHandler.java
Minor changes, PCM works again with .au, still uncertain with .wav
PCM8 no longer a encoding option, sampling is specified in the config file at
server start for the TTSServerHandler, configure multiple such for different
sampling rates (this fits with the FreeTTS multiple diphone database structure)
Tue Aug 6 17:57:10 2002 PDT lc138592

create: slim/SLIM-Client-HOWTO
update: slim/BasicAudioTools.java, slim/TTSServerHandler.java
Added the HOWTO file.
Attempt to Fix the Wav transmission - doesn't work.  Wav and Au in ML8 work fine, but
nothing but garbage for PCM8 and PCM16.  Tried byte swapping and whatnot - no use.
Tue Aug 6 11:25:22 2002 PDT suhler

update: slim/ATHandler.java, slim/AliceResponse.java, slim/BasicAudioTools.java, slim/MenuTemplate.java, slim/Makefile, slim/TTSServerHandler.java, slim/AliceHandler.java, slim/TTSHandler.java
rename: slim/TTSHandle.java -> slim/TTSHandler.java
- remove "*" imports
- fix typos
- rename ..Handle to ..Handler
- add "mustHave" option to TTSServerHandler
Tue Aug 6 10:08:55 2002 PDT suhler

update: slim/AliceHandler.java
rename: slim/AliceHandle.java -> slim/AliceHandler.java
delete: slim/AliceHandler.java
fixed (i hope) ws to reflect the AliceHandle to AliceHandler name change
Tue Aug 6 09:48:28 2002 PDT lc138592

create: slim/AliceHandler.java
update: slim/html/bottom.html, slim/html/chat.html, slim/html/top.html, slim/html/config, slim/html/userprefs.html, slim/html/chatgroup.html, slim/ATHandler.java, slim/AliceResponse.java, slim/BasicAudioTools.java, slim/MenuTemplate.java, slim/TTSHandle.java, slim/Makefile, slim/TTSServerHandler.java
Some minor bug changes.  AliceHandler from AliceHandle.  Javadocs added
Mon Aug 5 15:12:30 2002 PDT suhler

update: tests/sunlabs.brazil.handler.RePollHandler.test, tests/sunlabs.brazil.util.http.HttpUtil.test
All tests are now working (with Solaris_JDK_1.2.2_07a)
Mon Aug 5 14:20:52 2002 PDT suhler

update: docs/Makefile
another attempt at getting the tutorial to end up in the correct location
Mon Aug 5 12:39:38 2002 PDT suhler

update: util/Sort.java, util/Base64.java, util/LexML.java, proxy/ProxyHandler.java, tcl/TclHandler.java, tcl/TclFilter.java, sunlabs/UrlMapFilter.java, sunlabs/SnarfTemplate.java, sunlabs/ExpContentTemplate.java, sunlabs/ChownHandler.java, sunlabs/ClockScan.java, tests/TestServer.java, tests/TestRequest.java, tests/TestTemplate.java, server/Main.java, server/FileHandler.java, filter/ReplaceFilter.java, filter/SessionFilter.java, filter/FilterHandler.java, filter/PlainFilter.java, session/SessionManager.java, session/PropertiesCacheManager.java, slim/alice/google.tcl, slim/Makefile
entirely doc fixes, except
slim google script works again (for now)
Mon Aug 5 11:59:48 2002 PDT suhler

create: docs/html/roadmap.html
update: docs/Makefile, docs/overview.html, docs/html/tut.template
- try to make the tutorial build in the right place
- add the beginnings of a "class roadmap"
Thu Aug 1 13:47:59 2002 PDT suhler

update: handlers/VirtualHostHandler.java, handlers/RePollHandler.java, handlers/MultiProxyHandler.java, handlers/NotFoundHandler.java, handlers/RolesHandler.java, handlers/DirectoryHandler.java, handlers/PushHandler.java, handlers/LogHandler.java, handlers/HtmlRewriter.java, handlers/PropertiesHandler.java, handlers/GenericProxyHandler.java, handlers/BasicAuthHandler.java, handlers/ConfigFileHandler.java, handlers/templates/DebugTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/DirectoryTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/DeCommentTemplate.java, handlers/templates/MacroTemplate.java, handlers/templates/UrlNavBarTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/QueueTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/BSLTemplate.java
lots of little documentation fixes
Wed Jul 31 14:01:06 2002 PDT lc138592

create: slim/TTSServerHandler.java
update: slim/alice/aiml/SearchBot.aiml, slim/html/bottom.html, slim/html/config, slim/BasicAudioTools.java, slim/Makefile
Added WAV and RAW file support for the Brazil based TTS Server.  Also fixed a minor change in bottom.html (SLIM package) to properly remove state regarding the existence of a new message.  <br/> was made into <br /> in the aiml files.
Tue Jul 30 16:23:01 2002 PDT suhler

update: handlers/PollHandler.java
Polling failed when using certain combinations of "match", "format", and
"interval"
Tue Jul 30 12:06:15 2002 PDT suhler

update: slim/html/bottom.html
remove bogus addheader directive
Mon Jul 29 15:32:55 2002 PDT suhler

update: handlers/PollHandler.java, handlers/templates/IncludeTemplate.java, util/http/HttpUtil.java
calls to HttpRequest were sending bogus (or no) "Host:" header.
if no "host" header is found, derive one from the URL
- Added utilities for extracting portions of URL's to HttpUtil
Fri Jul 26 21:45:05 2002 PDT suhler

create: slim/alice/aiml/standard/std-65percent.aiml, slim/alice/aiml/standard/std-atomic.aiml, slim/alice/aiml/standard/std-botmaster.aiml, slim/alice/aiml/standard/std-brain.aiml, slim/alice/aiml/standard/std-connect.aiml, slim/alice/aiml/standard/std-dictionary.aiml, slim/alice/aiml/standard/std-disconnect.aiml, slim/alice/aiml/standard/std-dont.aiml, slim/alice/aiml/standard/std-errors.aiml, slim/alice/aiml/standard/std-gender.aiml, slim/alice/aiml/standard/std-geography.aiml, slim/alice/aiml/standard/std-gossip.aiml, slim/alice/aiml/standard/std-hello.aiml, slim/alice/aiml/standard/std-inactivity.aiml, slim/alice/aiml/standard/std-inventions.aiml, slim/alice/aiml/standard/std-knowledge.aiml, slim/alice/aiml/standard/std-login.aiml, slim/alice/aiml/standard/std-numbers.aiml, slim/alice/aiml/standard/std-personality.aiml, slim/alice/aiml/standard/std-pickup.aiml, slim/alice/aiml/standard/std-profile.aiml, slim/alice/aiml/standard/std-robot.aiml, slim/alice/aiml/standard/std-sports.aiml, slim/alice/aiml/standard/std-srai.aiml, slim/alice/aiml/standard/std-suffixes.aiml, slim/alice/aiml/standard/std-that.aiml, slim/alice/aiml/standard/std-turing.aiml, slim/alice/aiml/standard/std-yesno.aiml, slim/html/chatw.html
update: slim/html/about.html, slim/MenuTemplate.java, slim/Makefile
files missing from distribution:
 - alice std aiml files
 - chatw.html
MenuTemplate was using String.replaceAll() a 1.4 feature, breaking
  compatibility with jdk1.1 gatuitously
Makefile dependancy ordering was incorrect
run script is missing
Fri Jul 26 15:52:30 2002 PDT lc138592

update: slim/html/admin/adminnav.html, slim/html/admin/index.html, slim/html/index.html, slim/html/process.html, slim/html/right.html, slim/html/config, slim/html/userprefs.html, slim/html/chatgroup.html, slim/AliceResponse.java, slim/MenuTemplate.java, slim/Makefile
New Features: 
   Beanshell Support for new Admin Pages
   Audio Tasks in Admin
   Chat Groups
   Fixed MenuTemplate
   Fixed Audio Transmission Support
   Added ability to edit bot predicates in the admin pages.. more to come
Wed Jul 24 10:52:17 2002 PDT suhler

update: Makefile
Add "javascript" to the list of dependencies
Tue Jul 23 08:31:32 2002 PDT suhler

update: request/HttpRequest.java
check for missing content-type header
Mon Jul 22 15:58:20 2002 PDT drach

update: docs/Makefile
Remove bogus destination for tutorial.html
Mon Jul 22 14:00:53 2002 PDT suhler

create: docs/package-lists/velocity/package-list
velocity external class links for javadoc
Mon Jul 22 12:04:39 2002 PDT suhler

create: docs/html/tut.template
template for creating the (unfinished) tutorial
Mon Jul 22 12:04:03 2002 PDT suhler

create: README_EXPORT
README installed in srcs directory of release
Mon Jul 22 11:24:26 2002 PDT suhler

create: license.terms.spl
sun public license terms
Fri Jul 19 17:01:57 2002 PDT drach

update: javascript/JavaScriptTemplate.java
Fixed up some errors in the documentation.
Fri Jul 19 16:39:21 2002 PDT suhler

create: docs/packages/sunlabs.brazil.javascript.package.html
update: docs/Makefile
Added javascript package to the makfile
Created a "stub" describing the javascript package (needs to be filled out still).
Fri Jul 19 16:18:37 2002 PDT suhler

create: slim/html/about.html
update: slim/html/index.html
add an "about" link
Fri Jul 19 16:13:03 2002 PDT drach

create: javascript/Makefile, javascript/JavaScriptTemplate.java
Add JavaScript via Rhino to template capability.  Have fun!
JavaScript is cool.  Especially with the LiveConnect feature.
Fri Jul 19 15:52:51 2002 PDT lc138592

create: slim/alice/conf/jetty.xml, slim/alice/conf/startup.xml, slim/alice/conf/predicates.xml, slim/alice/conf/sentence-splitters.xml, slim/alice/conf/substitutions.xml, slim/alice/aiml/JavaONE.aiml, slim/alice/aiml/yopy-IM.aiml, slim/alice/aiml/SearchBot.aiml, slim/alice/README, slim/alice/explain.tcl, slim/alice/google.tcl, slim/alice/j1search.tcl, slim/alice/server.properties, slim/html/admin/adminmain.html, slim/html/admin/adminnav.html, slim/html/admin/bot.html, slim/html/admin/clean.html, slim/html/admin/index.html, slim/html/admin/props.html, slim/html/alice_query.html, slim/html/audio_trans.html, slim/html/blank.html, slim/html/bottom.html, slim/html/chat.html, slim/html/chatwpref.html, slim/html/fetchBrowser.html, slim/html/fetchTCL.html, slim/html/index.html, slim/html/info.html, slim/html/logout.html, slim/html/pref_message.html, slim/html/prefs.html, slim/html/process.html, slim/html/register.html, slim/html/right.html, slim/html/sound_pref.html, slim/html/stats.html, slim/html/top.html, slim/html/config, slim/html/userprefs.html, slim/html/chatgroup.html, slim/html/data/Bell.au, slim/html/data/Creak.au, slim/html/data/Gun.au, slim/html/data/Knock.au, slim/html/data/Lamb.au, slim/html/data/Mortar.au, slim/html/data/bark.au, slim/html/data/Toaster.au, slim/html/data/bird.au, slim/html/data/bong.au, slim/html/data/break.au, slim/html/data/clink.au, slim/html/data/cow.au, slim/html/data/cow2.au, slim/html/data/cowbell.au, slim/html/data/cuckoo.au, slim/html/data/dog.au, slim/html/data/duck.au, slim/html/data/frog.au, slim/html/data/gong.au, slim/html/data/msg.au, slim/html/data/op.au, slim/html/data/ouch.au, slim/html/data/owl.au, slim/html/data/splat.au, slim/html/data/toot.au, slim/html/data/zoom.au, slim/html/data/slim.jpg, slim/html/data/BrazilPowered.gif, slim/INSTALL, slim/README, slim/ATHandler.java, slim/AliceHandle.java, slim/AliceResponse.java, slim/BasicAudioTools.java, slim/MenuTemplate.java, slim/TTSHandle.java, slim/Makefile
First pass entry of SLIM (Sun Labs Instant Messenger).  Basic Functionality.
Fri Jul 19 14:24:58 2002 PDT suhler

update: beanshell/BeanShellServerTemplate.java
Request object reference wasn't being reset on each request
Thu Jul 18 14:06:39 2002 PDT suhler

update: python/PythonServerTemplate.java
"eval" only does ${...} substitutions, but leaves \X's alone
Thu Jul 18 14:03:59 2002 PDT suhler

update: beanshell/BeanShellServerTemplate.java
Make the "eval" attribute do ${...} substitutions, but leave all\X's alone
Thu Jul 11 15:37:46 2002 PDT suhler

update: request/HttpRequest.java
add encoding diagnostics to displayAllHeaders
Thu Jul 11 15:04:37 2002 PDT suhler

update: tcl/TclRePollHandler.java, request/HttpRequest.java, handlers/RePollHandler.java, handlers/PollHandler.java, handlers/templates/IncludeTemplate.java
- Added getEncoding() and getContent() methods to HttpRequest to
  deal with HTTP charset encodings
- Changed PollHandler.fillProps() sig. to pass HttpRequest object instead of
  an inputstream, so enable access to the new convenience methods
- Changed RePollHandler and IncludeTemplate to use the getContent() convenience
  method in HttpRequest, for unified charset encoding treatment
- fixed TclRePollHandler to use new fillProps() sig.
Wed Jul 10 11:33:09 2002 PDT suhler

update: server/ChainHandler.java, server/Request.java
- fixed misleading diagnostic message in ChainHandler
- Don't override content type in sendHeaders() if it is already set.
Wed Jul 10 11:29:41 2002 PDT suhler

create: contrib/libsunlabs_brazil_sunlabs_RunAsHandler.so-solaris
update: contrib/Makefile, contrib/RunAs.c, contrib/README
Add "RunAs" handler.  This supercedes the "ChownHandler".
The RunAs handler contains native code for invoking setuid() and setgid().
the native code library the "ChownHandler" uses stopped working
(and I don't have the sources)
Wed Jul 10 11:28:15 2002 PDT suhler

update: handlers/RePollHandler.java, handlers/ExprProps.java, handlers/PollHandler.java, handlers/templates/TemplateHandler.java, handlers/templates/IncludeTemplate.java, sunlabs/ExecTemplate.java, filter/TemplateFilter.java
Added "encoding" option to be applied when converting bytes into
Strings.  This is the 1st pass attempt to handle other than default
language encodings; its incomplete
Mon Jun 24 15:51:41 2002 PDT suhler

update: handlers/templates/TemplateRunner.java, handlers/templates/TemplateHandler.java, handlers/templates/QueueTemplate.java, filter/SessionFilter.java
- Better diagnostics when Template class is bogus
- QueueTemplate handles multiple recipients
- SessionFilter does set-cookie header paths properly
Tue Jun 18 11:34:01 2002 PDT suhler

create: docs/scripts/Jindent.properties
update: Makefile
Added a rule "reindent" to reindent the export sources using Jindent
Mon Jun 17 11:03:04 2002 PDT suhler

update: handlers/templates/QueueTemplate.java
-Make QueueItem public, so other classes can interact with the Queues
-Add "meta" data field to the queue item, in anticipation of multi-language
 support
Sun Jun 16 10:33:32 2002 PDT suhler

create: contrib/RunAs.c, contrib/RunAsHandler.java
update: contrib/README, contrib/Makefile
The "ChownHandler" doesn't work on Solaris9.  Create a
"RunAsHandler" as a replacement, that includes the sources for the
nativve code.  It should be fairly straight forward to make this
work on most flavors of Unix
Thu Jun 13 18:00:00 2002 PDT suhler

update: sunlabs/ExpContentTemplate.java
bug fix: wasn't calling super.init() properly
Thu Jun 13 17:58:14 2002 PDT suhler

update: handlers/SimpleSessionHandler.java, handlers/PollHandler.java
- SimpleSessionHAndler extract= does ${..} substitutions by looking
  in http headers first, and then in request props
- removed bogus poll interval startup messages
Thu Jun 13 10:49:38 2002 PDT suhler

create: samples/simple/config.translate, samples/simple/translate.html
update: samples/simple/README
Added sample "screen scraping" demo that uses google to do language
translation
Tue Jun 11 17:47:20 2002 PDT suhler

update: handlers/SimpleSessionHandler.java, handlers/templates/IncludeTemplate.java, sunlabs/ChownHandler.java
- add inverse match to SimpleSessionHandler.  This makes it easier
  to detect robots (e.g. NOT IE|Mozilla|Opera...)
- add "status" pseudo header to "getheaders" (IncludeTemplate) to
  make it easier to do error recovery
- fixed a typo in the ChownHandler (GrooupName - groupName)
Fri Jun 7 09:19:47 2002 PDT suhler

update: handlers/templates/IncludeTemplate.java
- added "addheaders" attribute to permit the additon of http headers
  to the target request
- added "getheaders" attribute to permit the extraction and return
  of all htt response headers
This premits a (clumbsy) mechanism of negotiating session or login
state with a server (such as dealing with redirects and cookie
requests) using only BSL.
Thu Jun 6 20:55:29 2002 PDT suhler

update: handlers/templates/IncludeTemplate.java
Added "post" attribute to IncludeTemplate, to make it easier
to use for the IM language translation services
Wed Jun 5 16:15:54 2002 PDT suhler

update: session/PropertiesCacheManager.java, session/CacheManager.java
Added "defer" option to PropertiesCacheManager.java that allows the
loading of saved sessions as needed instead of at server startup
Wed Jun 5 14:37:27 2002 PDT suhler

update: samples/simple/bean.html, samples/simple/config.bean, beanshell/BeanShellServerTemplate.java
A new bsh.Interp was beeing created for each new session weather it
was being used or not.  Only create one if actually used.
Update bsh example to demo per-session persistence
Wed Jun 5 13:43:52 2002 PDT suhler

create: samples/im/data/cowbell.au, samples/im/data/bark.au, samples/im/data/bird.au, samples/im/data/bong.au, samples/im/data/break.au, samples/im/data/clink.au, samples/im/data/cow.au, samples/im/data/cuckoo.au, samples/im/data/duck.au, samples/im/data/frog.au, samples/im/data/gong.au, samples/im/data/ouch.au, samples/im/data/splat.au, samples/im/data/Makefile, samples/im/data/BrazilPowered.gif
update: samples/im/Makefile
More files that got left out, sorry
Wed Jun 5 13:36:55 2002 PDT suhler

create: samples/im/config, samples/im/bottom.html, samples/im/README, samples/im/chat.html, samples/im/index.html, samples/im/info.html, samples/im/logout.html, samples/im/notify.java, samples/im/prefs.html, samples/im/process.html, samples/im/register.html, samples/im/right.html, samples/im/stats.html, samples/im/top.html
These files got lost somehow
Wed Jun 5 15:36:29 2002 EDT rinaldo
- deleted more unused files
- added "contrib" to list of "other" files included in the release
- minor doc updates
Tue Jun 4 18:53:01 2002 PDT suhler

create: tools/README, tools/jImport, tools/jMkdirs
update: Makefile, proxy/SunProxy.java, contrib/README, contrib/Makefile
delete: samples/email/.deleted/bye.html, samples/email/.deleted/folders.html, samples/email/.deleted/goodbye.html, samples/email/.deleted/headerMenu.html, samples/email/.deleted/error.html, samples/email/.deleted/oops.html
- deleted more unused files
- added "contrib" to list of "other" files included in the release
- minor doc updates
Fri May 31 16:40:48 2002 PDT suhler

delete: .deleted/docs/new.gif, .deleted/docs/sample.html, .deleted/docs/seen.gif, .deleted/docs/b.html, .deleted/docs/never.gif, .deleted/docs/index.html, .deleted/docs/a.html, .deleted/docs/touch.cgi, .deleted/diff.tcl, .deleted/Makefile, .deleted/config, .deleted/config.bookmark, .deleted/run-save, .deleted/README, .deleted/config.cookie, .deleted/tutorial.html, .deleted/tutorial-frame.html, .deleted/brazilserver.template, .deleted/config.hack, .deleted/config.proxy, .deleted/de-log.tcl, .deleted/fixJavadocHtml.tcl, .deleted/label.tcl, .deleted/protect.tcl, .deleted/TERMS, .deleted/cgi-scripts/README, .deleted/cgi-scripts/jserv.cgi, .deleted/cgi-scripts/reflect.cgi, .deleted/cgi-scripts/av2xml.cgi, .deleted/cgi-scripts/stock.cgi, .deleted/cgi-scripts/stock2.cgi, .deleted/explode/samples.html, .deleted/explode/props.tcl
more workspace cleanup
All "deleted" files are now in the .deleted_files directory
Fri May 31 16:37:59 2002 PDT suhler

delete: handlers/bsl.html, handlers/bsl2.html, handlers/bsl3.html, handlers/bsl4.html, handlers/mail.html, handlers/push.html, handlers/data.credentials, handlers/dir.template, handlers/config.bsl, handlers/config.cgi, handlers/config.clientTemplate, handlers/config.config, handlers/config.dialog, handlers/config.forbade, handlers/config.formTemplate, handlers/config.host, handlers/config.includeTemplate, handlers/config.mail, handlers/config.mapSite, handlers/config.new, handlers/config.new_dir, handlers/config.publish, handlers/config.push, handlers/config.sample, handlers/config.virtual, sunlabs/.deleted/Main.java, sunlabs/.deleted/FrameSetTemplate.java, tcl/config.tclserver, tcl/config.virtual2, tcl/browser-hj.gif, tcl/browser-ie.gif, tcl/browser-ns.gif, tcl/config, tcl/run, ge/doc_root/preferences/README, ge/doc_root/preferences/default.cfg, ge/doc_root/graph.html, ge/doc_root/conf.html, ge/doc_root/README, ge/doc_root/what.html, ge/doc_root/test.html, ge/doc_root/agenda.html, ge/doc_root/schematic.html, ge/doc_root/care.pdf, ge/doc_root/init.tcl, ge/doc_root/program.html, ge/doc_root/register.html, ge/doc_root/status.html, ge/doc_root/set.html, ge/doc_root/ge.tcl, ge/doc_root/fridge/ge/GetStatusState.html, ge/doc_root/fridge/ge/README, ge/doc_root/fridge/ge/GetStatusX.html, ge/doc_root/fridge/ge/GetStatus.html, ge/doc_root/fridge/ge/GetStatusL.html, ge/README, ge/gemeeting.ppt, ge/config.ge, ge/Makefile, handlers/config-test/README, handlers/config-test/form2.html, handlers/config-test/index.html, handlers/config-test/test.cfg, handlers/config-test/ok.html, handlers/config-test/form1.html
more workspace cleanup
Fri May 31 11:41:17 2002 PDT suhler

rename: FAQ -> docs/FAQ
delete: diff.tcl, brazilserver.template, config.hack, config.proxy, de-log.tcl, fixJavadocHtml.tcl, label.tcl, protect.tcl, TERMS, cgi-scripts/README, cgi-scripts/jserv.cgi, cgi-scripts/reflect.cgi, cgi-scripts/av2xml.cgi, cgi-scripts/stock.cgi, cgi-scripts/stock2.cgi, explode/samples.html, explode/props.tcl
workspace cleanup
Fri May 31 11:22:02 2002 PDT suhler

create: docs/scripts/TERMS.moz, docs/html/tut/README, docs/html/tut/SampleHandler1.java, docs/html/tut/SampleHandler2.java, docs/html/tut/sample1.config, docs/html/tut/sample1.template
update: Makefile, docs/scripts/protect_code.tcl, docs/scripts/label.tcl, docs/overview.html, handlers/templates/BSLTemplate.java
documentation fixes.
1st pass at the new "tutorial"
Wed May 29 16:30:49 2002 PDT suhler

create: docs/scripts/Main.txt, docs/Makefile
update: Makefile, docs/scripts/label.tcl, docs/scripts/fixJavadocHtml.tcl, docs/overview.html, docs/html/todo.html, handlers/templates/TemplateHandler.java, samples/simple/config.vote, samples/simple/vote.html, samples/template/images/Makefile, velocity/VelocityFilter.java
delete: docs/html/tutorial.html, docs/html/tutorial-frame.html
Added Makefile in docs to generate pdf documentation
Added "make release" target in Main makefile to build a release
added minor doc corrections
Fri May 24 17:02:35 2002 PDT suhler

rename: ps.template -> docs/scripts/ps.template
left out of previous putback
Fri May 24 17:01:23 2002 PDT suhler

create: exportMakefile.back, exportMakefile.front
update: Makefile, Makefile.common, tests/Makefile
The makefile in "docs" almost builds all the documentation automagically now
Fri May 24 15:42:56 2002 PDT suhler

create: docs/scripts/classpath.tcl, docs/scripts/diff.tcl, docs/scripts/fixJavadocHtml.tcl
update: docs/scripts/README
more script consolodation in preparation for integrating the pfd
file generation into the workspace
Thu May 23 11:53:02 2002 PDT suhler

create: tests/README, samples/Makefile, samples/simple/Makefile, samples/im/Makefile, samples/im/admin/Makefile, samples/email/Makefile, samples/stock/Makefile, samples/stock-basic/Makefile, samples/template/data/Makefile, samples/template/images/Makefile, samples/template/dir/Makefile, samples/template/exp/Makefile, samples/template/Makefile
update: Makefile, Makefile.common, util/Makefile, proxy/Makefile, tcl/Makefile, request/Makefile, sunlabs/Makefile, tests/Makefile, handlers/Makefile, handlers/templates/QueueTemplate.java, ssl/Makefile, sql/Makefile, server/Makefile, contrib/Makefile, filter/Makefile, session/Makefile, session/SessionManager.java, ldap/Makefile, python/Makefile, properties/Makefile, properties/version1.1/PropertiesList.java, servlet/Makefile, email/Makefile, beanshell/Makefile, velocity/Makefile
delete: persistent-server/docs/new.gif, persistent-server/docs/sample.html, persistent-server/docs/seen.gif, persistent-server/docs/b.html, persistent-server/docs/never.gif, persistent-server/docs/index.html, persistent-server/docs/a.html, persistent-server/docs/touch.cgi, persistent-server/Makefile, persistent-server/config, persistent-server/config.bookmark, persistent-server/run-save, persistent-server/README, persistent-server/config.cookie
More Makefile cleanup.  This include Makefiles to make it easier to
  distribute the tests and samples
removed more "dead" subprojects
created better diagnostic messages
Tue May 21 11:50:38 2002 PDT drach

update: ldap/Makefile, proxy/Makefile, python/Makefile, request/Makefile, session/Makefile, sql/Makefile, tcl/Makefile
This is a continuation of previous change.  Neglected to update these
make files in that change.  All fixed now.
Mon May 20 14:59:12 2002 PDT drach

create: Makefile.common
update: Makefile, tests/Makefile, filter/Makefile, handlers/Makefile, server/Makefile, util/Makefile, sunlabs/Makefile, servlet/Makefile, email/Makefile, properties/Makefile, ssl/Makefile, beanshell/Makefile, velocity/Makefile, contrib/Makefile
Put Makefile.common under workspace and SCCS.  Fix all Makefiles to point
to it.  Force use of Gnumake.
Mon May 20 13:38:07 2002 PDT suhler

update: Makefile, tests/Makefile
- add "tests" to DEPENDS
- running the tests in tests/Makefile is now a separate step (from
  building the test java files), and doesn't depend on jacl being installed:
  (it uses tcl.jar directly)
Fri May 17 09:44:27 2002 PDT drach

update: properties/BasePropertiesList.java, properties/version1.1/PropertiesList.java, velocity/VelocityFilter.java
Minor fixes so Brazil can still be compiled under Java 1.1
Thu May 16 11:18:16 2002 PDT suhler

create: docs/packages/sunlabs.brazil.contrib.package.html, docs/scripts/protect_code.tcl, docs/scripts/label.tcl, .deleted_files/.deleted/orgtool/index.html, .deleted_files/.deleted/orgtool/simple.html
update: Makefile, docs/scripts/history.tcl, docs/html/samples.html, sunlabs/DateTemplate.java, sunlabs/ExpContentTemplate.java, sunlabs/DigestTemplate.java, samples/simple/bean.html
delete: .deleted/Chars.java, .deleted/Token.java, .deleted/PJwrapper.java, docs/html/overview.html, .deleted/CountTemplate.java, tests/config.rewrite, config, config.easton, .deleted/assemble-doc/Makefile, .deleted/assemble-doc/README, .deleted/assemble-doc/pkgs-sts, .deleted/assemble-doc/overview.html, .deleted/assemble-doc/package-list, .deleted/assemble-doc/pkgs-server, .deleted/assemble-doc/srcs-sts, .deleted/assemble-doc/srcs-applets, .deleted/assemble-doc/srcs-server, .deleted/assemble-doc/extra/images/brazilicon.gif, .deleted/assemble-doc/extra/build.html, .deleted/assemble-doc/extra/tutorial.html, .deleted/assemble-doc/extra/javasource.html, .deleted/assemble-doc/extra/tutorial-frame.html, .deleted/assemble-doc/extra/tutorial/GenericX10Handler.html, .deleted/assemble-doc/extra/tutorial/GenericX10Handler.java, .deleted/assemble-doc/extra/tutorial/Makefile.txt, .deleted/assemble-doc/extra/tutorial/README, .deleted/assemble-doc/extra/tutorial/TwoWayHandler.html, .deleted/assemble-doc/extra/tutorial/TwoWayHandler.java, .deleted/assemble-doc/extra/tutorial/config.txt, .deleted/assemble-doc/extra/tutorial/control.html, .deleted/assemble-doc/extra/tutorial/pull.class, .deleted/assemble-doc/extra/tutorial/pull.html, .deleted/assemble-doc/extra/tutorial/pull.java, .deleted/assemble-doc/bin/README, .deleted/neil/Makefile, .deleted/neil/README, .deleted/neil/NeilPushHandler.java, .deleted/neil/config, .deleted/neil/push.html, pJama/Makefile, pJama/README, pJama/config.broken, pJama/config, pJama/index.html, pJama/default.cfg, pJama/run, pJama/Main.java, pJama/SessionManager.java, pJama/broken.html, services/asp/oleupi/server/doc/push.html, services/asp/oleupi/server/comole-src/COMAuthInfo.java, services/asp/oleupi/server/comole-src/COMBSTR.java, services/asp/oleupi/server/comole-src/COMExcepInfo.java, services/asp/oleupi/server/comole-src/COMClassObject.java, services/asp/oleupi/server/comole-src/COMDispParams.java, services/asp/oleupi/server/comole-src/COMException.java, services/asp/oleupi/server/comole-src/COMHResult.java, services/asp/oleupi/server/comole-src/COMIDispatch.java, services/asp/oleupi/server/comole-src/COMIMultiQI.java, services/asp/oleupi/server/comole-src/COMIUnknown.java, services/asp/oleupi/server/comole-src/COMSafeArray.java, services/asp/oleupi/server/comole-src/COMVariant.java, services/asp/oleupi/server/comole-src/GUID.java, services/asp/oleupi/server/DocToPDF.java, services/asp/oleupi/server/comco.jar, services/asp/oleupi/server/MSWordHandler.java, services/asp/oleupi/server/config.oleword, services/asp/oleupi/server/Makefile, services/signjar/Makefile, services/signjar/SignJarHandler.java, services/ci/doc/frcontent.html, services/ci/doc/index.html, services/ci/doc/main.html, services/ci/doc/run/index.html, services/ci/doc/run/runindexer.html, services/ci/doc/run/stopindexserver.html, services/ci/doc/run/runindexerstatus.html, services/ci/config, services/ci/Makefile, services/ci/RunProgramsHandler.java, services/ci/startindexer, services/util/ParseMultiPartForm.java, services/util/Makefile, services/pkcs/PKCSHandler.java, services/pkcs/SSLServer.java, services/pkcs/Makefile, services/pkcs/config, services/pkcs/config.test, services/pkcs/doc/q1, services/pkcs/doc/PKCSHandler.java.html, services/pkcs/doc/index.html, services/pkcs/doc/overview.html, services/pkcs/doc/p11src.zip, services/pkcs/doc/spec.html, services/pkcs/doc/JavaCardRSA.java.html, pcsdemo/dist/install.htm, pcsdemo/dist/brazilall.iap, pcsdemo/dist/solaris/configure, pcsdemo/dist/solaris/setpcsport, pcsdemo/dist/solaris/chmodtty, pcsdemo/dist/docs/brazilintro.txt, pcsdemo/dist/docs/README.txt, pcsdemo/dist/docs/installdirections.txt, pcsdemo/dist/images/brazilinstall.gif, pcsdemo/dist/images/brazilallclient.gif, pcsdemo/dist/images/brazilallserver.gif, pcsdemo/killpcs, pcsdemo/s, pcsdemo/Makefile.pcsdemo, pcsdemo/c, pcsdemo/config.demo-devices-client.darwin, pcsdemo/config.demo-server, pcsdemo/config.demo-devices-server, pcsdemo/config.smartcards, pcsdemo/runpcs, pcsdemo/config.demo-devices-client, pcsdemo/config.demo-client, pcsdemo/Makefile, pcsdemo/doc/demo/commerce/index.form, pcsdemo/doc/demo/commerce/pay.html, pcsdemo/doc/demo/commerce/pay.form, pcsdemo/doc/demo/commerce/ship.html, pcsdemo/doc/demo/commerce/shipupdate.form, pcsdemo/doc/demo/commerce/receipt.form, pcsdemo/doc/demo/atm/README, pcsdemo/doc/demo/atm/index.html, pcsdemo/doc/demo/atm/accounts.txt, pcsdemo/doc/demo/c1/accounts.txt, pcsdemo/doc/demo/download/frloader.html, pcsdemo/doc/demo/download/loader.html, pcsdemo/doc/demo/download/loaderfinalstatus.html, pcsdemo/doc/demo/download/loaderstatus.html, pcsdemo/doc/demo/javahome.html, pcsdemo/doc/demo/BrazilWorkingPrototypes.html, pcsdemo/doc/demo/main.form, pcsdemo/doc/demo/Ubiquitous.html, pcsdemo/doc/demo/bannerrightatr.html, pcsdemo/doc/demo/bannerrightother.html, pcsdemo/doc/demo/frbannerright.html, pcsdemo/doc/demo/frcontent.form, pcsdemo/doc/demo/index.html, pcsdemo/doc/demo/main.html, pcsdemo/doc/demo/supplierlogin.form, pcsdemo/doc/demo/update.form, pcsdemo/doc/demo/DEMO.html, pcsdemo/doc/demo/frbannerleft.form, pcsdemo/doc/demo/frbanner.html, pcsdemo/doc/demo/JINI/lib/reggie-dl.jar, pcsdemo/doc/demo/JINI/frindex.html, pcsdemo/doc/demo/JINI/result.html, pcsdemo/doc/demo/JINI/jiniintro.html, pcsdemo/doc/demo/JINI/index.html, pcsdemo/doc/demo/slb/access.html, pcsdemo/doc/demo/c2/accounts.txt, pcsdemo/doc/demo/personalize/result.html, pcsdemo/doc/demo/personalize/webcard.html, pcsdemo/doc/demo/personalize/index.html, pcsdemo/doc/demo/pin/changepin.html, pcsdemo/doc/demo/pin/frchangepin.html, pcsdemo/doc/demo/pin/frnewpin.html, pcsdemo/doc/demo/pin/newpin.html, pcsdemo/doc/demo/pin/result.html, pcsdemo/doc/demo/cyberflex/access.html, pcsdemo/doc/demo/cyberflex/fraccess.html, pcsdemo/doc/demo/cyberflex/apduresult.html, pcsdemo/doc/demo/test/echotest.html, pcsdemo/doc/demo/test/generic.html, pcsdemo/doc/demo/test/frccapdus.html, pcsdemo/doc/demo/test/frechotest.html, pcsdemo/doc/demo/test/frgeneric.html, pcsdemo/doc/demo/test/result.html, pcsdemo/doc/demo/test/ccapdus.html, pcsdemo/doc/demo/test/sts/decrypt.html, pcsdemo/doc/demo/test/sts/encrypt.html, pcsdemo/doc/demo/test/sts/frsignature.html, pcsdemo/doc/demo/test/sts/generateresult.html, pcsdemo/doc/demo/test/sts/validateresult.html, pcsdemo/doc/demo/test/sts/validateresultlocal.html, pcsdemo/doc/demo/test/sts/generatesignature.html, pcsdemo/doc/demo/test/sts/validatesignature.html, pcsdemo/doc/demo/test/sts/validatesignaturelocal.html, pcsdemo/doc/demo/test/sts/decryptresult.html, pcsdemo/doc/demo/test/sts/encryptresult.html, pcsdemo/doc/demo/test/sts/frciphers.html, pcsdemo/doc/demo/test/rsa/frindexrsa.html, pcsdemo/doc/demo/test/rsa/frrsa.html, pcsdemo/doc/demo/test/rsa/rsa.html, pcsdemo/doc/demo/test/rsa/set.html, pcsdemo/doc/applets/README, pcsdemo/doc/applets/Makefile, pcsdemo/doc/applets/x509.raw, pcsdemo/doc/applets/x509.cacert, pcsdemo/doc/applets/x509.cacert.p12, pcsdemo/doc/cardlets/dallas/CorporateCard.jib33, pcsdemo/doc/cardlets/dallas/CorporateCard.jibjavaone, pcsdemo/doc/cardlets/schlumberger/Echo.bin, pcsdemo/doc/cardlets/schlumberger/CorporateCard.bin, pcsdemo/doc/cardlets/schlumberger/CorporateCard.bin.beforeAccess.for.open16, pcsdemo/doc/cardlets/CreateDNL.java, pcsdemo/doc/cardlets/Makefile, pcsdemo/doc/images/about.jpg, pcsdemo/doc/images/bank.jpg, pcsdemo/doc/images/bye.jpg, pcsdemo/doc/images/error.jpg, pcsdemo/doc/images/devbye.jpg, pcsdemo/doc/images/devcorner.jpg, pcsdemo/doc/images/deverr.jpg, pcsdemo/doc/images/devinsert.jpg, pcsdemo/doc/images/devpin.jpg, pcsdemo/doc/images/Java.gif, pcsdemo/doc/images/insert.gif, pcsdemo/doc/images/sneterror.jpg, pcsdemo/doc/images/splash-small.gif, pcsdemo/doc/images/insert.gif.old, pcsdemo/doc/images/javalogo.gif, pcsdemo/doc/images/partner.jpg, pcsdemo/doc/images/passwd.gif, pcsdemo/doc/images/passwd.gifold, pcsdemo/doc/images/pure_java_logo.gif, pcsdemo/doc/images/sun-webserver1.gif, pcsdemo/doc/images/sun.gif, pcsdemo/doc/images/sun2.gif, pcsdemo/doc/images/sun3.gif, pcsdemo/doc/images/sunlogo.gif, pcsdemo/doc/images/supplierbye.jpg, pcsdemo/doc/images/usa.gif, pcsdemo/doc/images/visaactivationbye.jpg, pcsdemo/doc/images/wc3.gif, pcsdemo/doc/images/whats-hot.gif, pcsdemo/doc/images/homepg3.gif, pcsdemo/doc/images/paid.gif, pcsdemo/doc/images/sun-new-header.gif, pcsdemo/doc/supplier/login.html, pcsdemo/doc/supplier/roles, pcsdemo/doc/supplier/exit/bye.html, pcsdemo/doc/supplier/solectron/Solectron-001-SL.csv, pcsdemo/doc/supplier/solectron/Solectron-001-SL.html, pcsdemo/doc/supplier/solectron/Solectron-001_200_201-SL.html, pcsdemo/doc/supplier/solectron/Solectron-200-SL.csv, pcsdemo/doc/supplier/solectron/Solectron-200-SL.html, pcsdemo/doc/supplier/solectron/Solectron-201-SL.csv, pcsdemo/doc/supplier/solectron/Solectron-201-SL.html, pcsdemo/doc/supplier/solectron/Solectron.html, pcsdemo/doc/supplier/solectron/Solectron_Barno.html, pcsdemo/doc/supplier/solectron/about-inbrief.html, pcsdemo/doc/supplier/solectron/index.html, pcsdemo/doc/supplier/solectron/logo-ani0.gif, pcsdemo/doc/supplier/solectron/selectron.html, pcsdemo/doc/supplier/solectron/sl_dt.html, pcsdemo/doc/supplier/solectron/tbar-logo.gif, pcsdemo/doc/supplier/solectron/tbar-about.gif, pcsdemo/doc/supplier/solectron/Solectron-001_200_201-SL.csv, pcsdemo/doc/js/managecard.js, pcsdemo/doc/oc/index.html, pcsdemo/doc/oc/octest.html, pcsdemo/doc/oc/ocmain.html, pcsdemo/doc/oc/ocleft.html, pcsdemo/doc/oc/octestupper.html, pcsdemo/doc/Overview.jpg, pcsdemo/doc/whatiscardserver.html, pcsdemo/doc/signjarn, pcsdemo/doc/already.html, pcsdemo/doc/index.html, pcsdemo/doc/configure.form, pcsdemo/doc/signjarn.bat, pcsdemo/doc/welcome.html, pcsdemo/doc/certs/digiorgio.cac, pcsdemo/doc/certs/mack.cac, pcsdemo/doc/cv/login.html, pcsdemo/doc/cv/roles, pcsdemo/doc/cv/exit/bye.html, pcsdemo/doc/jini/lib/reggie-dl.jar, .samples-old/old/Palm/nametool/config.nametool, .samples-old/old/Palm/nametool/index.html, .samples-old/old/Palm/nametool/search.html, .samples-old/old/Palm/pqa/config.pqa, .samples-old/old/Palm/pqa/index.html, .samples-old/old/Palm/concept/concept.tcl, .samples-old/old/Palm/concept/file.tcl, .samples-old/old/Palm/concept/config.concept, .samples-old/old/Palm/concept/index.html, .samples-old/old/Palm/run, .samples-old/old/CookieProxy/register/index.html, .samples-old/old/CookieProxy/register/register.html, .samples-old/old/CookieProxy/ad.gif, .samples-old/old/CookieProxy/blockfile, .samples-old/old/CookieProxy/config.cookie, .samples-old/old/CookieProxy/cookies.html, .samples-old/old/CookieProxy/history.html, .samples-old/old/CookieProxy/index.html, .samples-old/old/portal/configure/preferences/default.cfg, .samples-old/old/portal/configure/README, .samples-old/old/portal/configure/set.html, .samples-old/old/portal/configure/default.template, .samples-old/old/portal/configure/print.template, .samples-old/old/portal/configure/configure.html, .samples-old/old/portal/Makefile, .samples-old/old/portal/README, .samples-old/old/portal/config, .samples-old/old/misc/sql.cfg, .samples-old/old/misc/sql.html, .samples-old/old/ldap/config.ldap, .samples-old/old/ldap/data.html, .samples-old/old/ldap/employee.html, .samples-old/old/ldap/index.html, .samples-old/old/ldap/manager.html, .samples-old/old/ldap/orgtool.html, .samples-old/old/ldap/reports.html, .samples-old/old/ldap/results.html, .samples-old/old/ldap/search.html, .samples-old/old/ldap/setup.tcl, .samples-old/old/ldap/blank.xbm, .samples-old/old/ldap/close.xbm, .samples-old/old/ldap/last.xbm, .samples-old/old/ldap/line.xbm, .samples-old/old/ldap/more.xbm, .samples-old/old/ldap/open.xbm, .samples-old/old/ldap/up.xbm, .samples-old/old/ldap/vert.xbm, .samples-old/old/orgtool/iplanet/Makefile, .samples-old/old/orgtool/iplanet/config.orgtool, .samples-old/old/orgtool/iplanet/FakeASessionHandler.java, .samples-old/old/orgtool/iplanet/CacheTemplate.java, .samples-old/old/orgtool/iplanet/docs/reports.html, .samples-old/old/orgtool/iplanet/docs/results.html, .samples-old/old/orgtool/iplanet/docs/search.html, .samples-old/old/orgtool/iplanet/docs/setup.tcl, .samples-old/old/orgtool/iplanet/docs/up.xbm, .samples-old/old/orgtool/iplanet/docs/open.xbm, .samples-old/old/orgtool/iplanet/docs/manager.html, .samples-old/old/orgtool/iplanet/docs/index.html, .samples-old/old/orgtool/iplanet/docs/employee.html, .samples-old/old/orgtool/iplanet/docs/data.html, .samples-old/old/orgtool/iplanet/docs/right.xbm, .samples-old/old/orgtool/iplanet/docs/clear.html, .samples-old/test-cal/config.date, .samples-old/test-cal/extract.html, .samples-old/test-cal/all.html, .samples-old/test-cal/cal.html, .samples-old/test-cal/README, .samples-old/im/bottom.html, .samples-old/im/config, .samples-old/im/index.html, .samples-old/im/top.html, .samples-old/im/README, .samples-old/im/process.html, .samples-old/im/stats.html, .samples-old/im/prefs.html, dist/corehandlers.iap, email/body.html, email/compose.html, email/folders.html, email/goodbye.html, email/headers.html, email/index.html, email/brazilicon.gif, email/folder.gif, email/mailbox.gif, email/config.email
first pass at workspace cleanup.  "delete" lots of old cruft
Wed May 15 11:04:34 2002 PDT suhler

update: contrib/ApplyXslServerTemplate.java
trim() script sent to transformer; it doesn't handle extra whitespace well
Tue May 14 22:22:57 2002 PDT suhler

create: contrib/LDAPTemplate.java
update: contrib/Makefile
Rinaldo's version of LDAPTemplate.
Its here (and not replacing the original one) because it needs
more documentation and cleanup.
Tue May 14 15:50:13 2002 PDT suhler

create: docs/scripts/history.tcl
update: docs/scripts/README
added "history.tcl" to extract the CodeManager history as a web page
Tue May 14 11:43:39 2002 PDT suhler

create: contrib/README, contrib/Makefile, contrib/ApplyXslServerTemplate.java
Started a "contrib" directory"
- started it off with Rinaldos "applyxslt" template
- Still needs work
Mon May 13 11:50:20 2002 PDT suhler

create: samples/simple/config.sort, samples/simple/sort.html
update: handlers/templates/BSLTemplate.java, samples/simple/README
Fixed sorting to look for numeric option when using the "glob" or "match" options.
Added "sample" config to test various sorting options
Mon May 13 10:07:57 2002 PDT suhler

update: handlers/templates/BSLTemplate.java
Fix <foreach glob=> to use the propertyNames(glob) of propertiesList
Fri May 10 15:19:16 2002 PDT suhler

create: util/Guid.java
update: util/Makefile, filter/UrlSessionFilter.java, filter/SessionFilter.java, handlers/CookieSessionHandler.java, handlers/SunNetAuthHandler.java
The "unique" values generated as session tokens aren't unique enough.
(I've had reports of different user's getting assigned to the same
session).
 
Solution:
- create a "GUID" generator everyone can use, and make the default
  implementation more unique than before
- Provide a mechanism to install new GUID generators at deployment time
- change all GUID generators to use the common implementation
Tue May 7 07:06:44 2002 PDT drach

update: server/Request.java, velocity/VelocityFilter.java
Enhance documentation for VelocityFilter.  Add capability for read
only access to public fields of Server and Request by the Velocity
template.
Fri May 3 19:59:36 2002 PDT suhler

update: samples/simple/config.vote, samples/template/config.persist
- doc changes
- typo fixes (the template example works again, with saveing state)
Fri May 3 16:55:52 2002 PDT suhler

create: samples/template/config.persist
update: samples/template/README
Added optional configuration to demonstrate how to use the Properties
CacheManager and the PollHandler to periodically save all session
state to disk
Fri May 3 11:47:12 2002 PDT suhler

create: samples/simple/config.vote, samples/simple/vote.html
update: samples/simple/README
Added new sample that demonstrates:
- how to build a "poll" site that allows users to vote
- how to build an entire site out of a single web page
Thu May 2 14:59:14 2002 PDT drach

update: velocity/Makefile, velocity/VelocityFilter.java, docs/packages/sunlabs.brazil.velocity.package.html
Added more extensive documentation.  Manage the BeanShell interpreter
by session.  Look for the script in the filesystem first, then the
classpath.  Pass the script through Format.subst before handing it to
the interpreter.
Thu May 2 13:09:28 2002 PDT drach

update: properties/version1.1/PropertiesList.java, properties/version1.2/PropertiesList.java, properties/BasePropertiesList.java, handlers/ExprPropsHandler.java
Update/fix documentation.  Hopefully remove EmailTemplate.test for good.
Thu May 2 11:15:48 2002 PDT suhler

update: handlers/CgiHandler.java
Tested auto-cd detection (it works); updated docs
Thu May 2 08:48:55 2002 PDT drach

update: handlers/CgiHandler.java
Choose Runtime.exec method at run time.
Wed May 1 11:31:19 2002 PDT suhler

update: handlers/PropertiesHandler.java, handlers/MapPage.java, handlers/HtmlRewriter.java, handlers/LogHandler.java, handlers/SMTPHandler.java, handlers/MatchString.java, handlers/ExprPropsHandler.java, handlers/templates/FormClientTemplate.java, handlers/templates/UrlNavBarTemplate.java, handlers/templates/ChangedTemplate.java, handlers/templates/TOCTemplate.java, handlers/templates/Template.java, handlers/templates/TemplateRunner.java, handlers/templates/NoImageTemplate.java, handlers/templates/RedirectTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/TemplateInterface.java, handlers/templates/MultipartSetTemplate.java
fix SCCS version strings
Wed May 1 11:06:52 2002 PDT drach

update: handlers/ExprPropsHandler.java
Add SCCS keywords back in
Wed May 1 10:32:53 2002 PDT suhler

update: ssl/Makefile
The ADDJARS macro got lost
Wed May 1 10:29:48 2002 PDT suhler

update: handlers/NotFoundHandler.java, handlers/ExprPropsHandler.java
The version of ExprPropsHandler I copied from
~drach/brazil/ws/handlers a few minutes ago (this one compiles)
Wed May 1 09:34:44 2002 PDT drach

update: handlers/ExprPropsHandler.java
Revert to old, stable ExprPropsHandler
Wed May 1 08:55:01 2002 PDT drach

update: properties/BasePropertiesList.java
Changed private methods to protected.
Wed May 1 08:50:29 2002 PDT drach

update: handlers/Makefile, properties/Makefile
rename: properties/ExprProps.java -> handlers/ExprProps.java
Move ExprProps from properties to handler, but leave in properties package.
Mon Apr 29 17:04:56 2002 PDT suhler

update: request/HttpRequest.java
added "public static boolean displayAllHeaders"
to enable http header debugging during development.
 
This can be enable from a script, as in:
<tcl>java::files sunlabs.brazil.util.http.HttpRequest displayAllHeaders true </tcl>
Mon Apr 29 14:16:42 2002 PDT drach

create: properties/version1.1/PropertiesList.java, properties/version1.2/PropertiesList.java
update: Makefile, tests/Makefile, server/Makefile, properties/Makefile
The build should be fixed again.  Several Makefiles changed to cause
properties to be built after util and before server.  This broke
the server "minimum" build.  Add a target to strip unnecessary files
out.  Added "versioned" PropertiesList classes.
Sat Apr 27 12:44:34 2002 PDT drach

update: handlers/ExprPropsHandler.java
rename: properties/ExprPropsHandler.java -> handlers/ExprPropsHandler.java, properties/PropertiesList.java -> properties/BasePropertiesList.java
Move some files around.  Also pass request.props to ExprProps rather
than request in ExprPropsHandler.
Fri Apr 26 15:45:30 2002 PDT suhler

create: sunlabs/ResourceLimitHandler.java
update: sunlabs/Makefile
I was at an arc review today, when I heard that the "resource
monitoring" capability of an (unnamed) web server-like product was going
to be pushed-back to the next release, because there wasn't enough time
to figure out how to do it.
 
Out of curiosity, I wanted to see if I could implement this functionallity
in Brazil in less time than it took to discuss it.
 
So, here it is.
Thu Apr 25 14:35:11 2002 PDT suhler

update: request/HttpRequest.java, handlers/Makefile, handlers/DirectoryHandler.java, handlers/templates/FormClientTemplate.java, handlers/templates/HighlightTemplate.java, handlers/templates/DirectoryTemplate.java, handlers/templates/RedirectTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/DeCommentTemplate.java, handlers/templates/AllowGtTemplate.java, handlers/templates/QueueTemplate.java
delete: handlers/templates/CountTemplate.java
-documentation fixes
-remove CountTemplate
Thu Apr 25 14:11:37 2002 PDT suhler

update: filter/ReplaceFilter.java, handlers/SMTPHandler.java
Replacefilter: looks for "Template" in resource if not found in file system
SMTPHandler: when used as a template, doesn't verify server connection on each page
Thu Apr 25 10:32:33 2002 PDT suhler

update: samples/README, samples/simple/README
rename: samples/configs/README -> samples/simple/README, samples/configs/form.html -> samples/simple/form.html, samples/configs/config.form -> samples/simple/config.form, samples/configs/config.proxy -> samples/simple/config.proxy, samples/configs/proxy.html -> samples/simple/proxy.html, samples/configs/bean.html -> samples/simple/bean.html, samples/configs/config.builtin -> samples/simple/config.builtin, samples/configs/config.cgi -> samples/simple/config.cgi, samples/configs/config.bean -> samples/simple/config.bean, samples/configs/calendar.html -> samples/simple/calendar.html, samples/configs/config.calendar -> samples/simple/config.calendar, samples/configs/config.extract -> samples/simple/config.extract, samples/configs/sql.html -> samples/simple/sql.html, samples/configs/config.resource -> samples/simple/config.resource, samples/configs/config.sql -> samples/simple/config.sql, samples/configs/extract.html -> samples/simple/extract.html, samples/configs/resource.html -> samples/simple/resource.html
directory rename
Wed Apr 24 14:21:45 2002 PDT suhler

create: docs/html/bsl.html, docs/html/build.html, docs/html/intro.html, docs/html/javasource.html, docs/html/overview.html, docs/html/samples.html, docs/html/tutorial-frame.html, docs/html/tutorial.html, docs/html/use-guide.html
The "missing" extra html docs that go with the javadocs
Feel free to update them
Wed Apr 24 14:21:04 2002 PDT suhler

create: docs/html/todo.html
TODO list of noever completed (or started) projects for Brazil
Wed Apr 24 13:41:35 2002 PDT suhler

update: filter/TemplateFilter.java, handlers/RestrictClientHandler.java, handlers/templates/TemplateHandler.java
TemplateFilter.java: defaults to "text/" (was "text/html")
RestrictClientHandler.java: changed log reporting level WARNING -> LOG
TemplateHandler.java: Checks for mime type starting with "text/"
Wed Apr 24 11:14:18 2002 PDT suhler

update: sunlabs/DigestTemplate.java
lost the "public" in front of "public void tag_digest" ..
Tue Apr 23 17:54:54 2002 PDT suhler

update: docs/scripts/gen-apidocs, docs/scripts/props.tcl
auxilliary html files now get added to javadoc output
The following files are now used to generate the javadoc output
- all the javadoc comments in the sources
- overview.html
- html/*.html (extra html file)
- packages/*.html (package documentation files)
Tue Apr 23 16:43:55 2002 PDT suhler

create: docs/images/brazilicon.gif, docs/scripts/gen-apidocs, docs/scripts/README, docs/scripts/props.tcl, docs/scripts/props2.tcl, docs/scripts/jImport, docs/README, docs/overview.html, docs/html/README, docs/package-lists/servlet/package-list, docs/package-lists/activation/package-list, docs/package-lists/jdk1.2/package-list, docs/package-lists/README
update: docs/scripts/explode.tcl
Stuff to generate the api docs
Tue Apr 23 14:56:56 2002 PDT suhler

rename: assemble-doc/bin/convert.tcl -> docs/scripts/convert.tcl, assemble-doc/bin/explode.tcl -> docs/scripts/explode.tcl, assemble-doc/bin/link-doc.tcl -> docs/scripts/link-doc.tcl, assemble-doc/bin/list_packages.tcl -> docs/scripts/list_packages.tcl
This stuff is obsolete.
after "rescuing" the helper scripts, this directory is going away.
The new version will be in the "docs" subdirectory, which will contain
both the procedure for building the javadocs as well as all additional documentation
that is added to the auto-generated stuff
Tue Apr 23 14:19:48 2002 PDT suhler

create: docs/packages/com.sun.server.package.html, docs/packages/link-doc.tcl, docs/packages/sunlabs.brazil.beanshell.package.html, docs/packages/sunlabs.brazil.email.package.html, docs/packages/sunlabs.brazil.filter.package.html, docs/packages/sunlabs.brazil.ldap.package.html, docs/packages/sunlabs.brazil.properties.package.html, docs/packages/sunlabs.brazil.proxy.package.html, docs/packages/sunlabs.brazil.python.package.html, docs/packages/sunlabs.brazil.servlet.package.html, docs/packages/sunlabs.brazil.session.package.html, docs/packages/sunlabs.brazil.sql.package.html, docs/packages/sunlabs.brazil.ssl.package.html, docs/packages/sunlabs.brazil.sunlabs.package.html, docs/packages/sunlabs.brazil.tcl.package.html, docs/packages/sunlabs.brazil.util.http.package.html, docs/packages/sunlabs.brazil.velocity.package.html
update: docs/packages/README, docs/packages/sunlabs.brazil.handler.package.html, docs/packages/sunlabs.brazil.server.package.html, docs/packages/sunlabs.brazil.template.package.html, docs/packages/sunlabs.brazil.util.package.html, docs/packages/tcl.lang.package.html, docs/packages/sunlabs.brazil.util.regexp.package.html
added package documentation files to the workspace.
The procedure for generating the api docs was never in the workspace;
its about to go there
Tue Apr 23 14:05:14 2002 PDT suhler

update: server/Request.java, tests/sunlabs.brazil.handler.BasicAuthHandler.test, tests/sunlabs.brazil.template.BSLTemplate.test
rename: tests/sunlabs.brazil.email.EmailTemplate.test -> tests/sunlabs.brazil.email.EmailTemplate.test-broken
- sync-up code with existing tests in preparation for "release"
- "removed" buggy Email tests (feel free to fix them guym if you like)
Mon Apr 22 17:45:45 2002 PDT suhler

create: .samples-old/test-cal/config.date, .samples-old/test-cal/extract.html, .samples-old/test-cal/all.html, .samples-old/test-cal/cal.html, .samples-old/test-cal/README, .samples-old/im/prefs.html
update: Makefile, explode/props.tcl
rename: .samples-old/old/im/bottom.html -> .samples-old/im/bottom.html, .samples-old/old/im/config -> .samples-old/im/config, .samples-old/old/im/index.html -> .samples-old/im/index.html, .samples-old/old/im/top.html -> .samples-old/im/top.html, .samples-old/old/im/README -> .samples-old/im/README, .samples-old/old/im/process.html -> .samples-old/im/process.html, .samples-old/old/im/stats.html -> .samples-old/im/stats.html
next pass at samples directory update
Mon Apr 22 17:33:23 2002 PDT suhler

create: samples/README
oops
Mon Apr 22 17:21:07 2002 PDT suhler

create: samples/configs/config.proxy, samples/configs/proxy.html, samples/configs/bean.html, samples/configs/config.builtin, samples/configs/config.cgi, samples/configs/config.bean, samples/configs/calendar.html, samples/configs/config.calendar, samples/configs/config.extract, samples/configs/sql.html, samples/configs/config.resource, samples/configs/config.sql, samples/configs/extract.html, samples/configs/resource.html
update: samples/email/README, samples/stock/config, samples/stock/README, samples/stock/config.stock, samples/stock/select.html, samples/stock/stock.html, samples/stock/value.html, samples/configs/README, samples/stock-basic/config, samples/stock-basic/README, testing/old/im/bottom.html, testing/old/im/config, testing/old/im/index.html, testing/old/im/top.html, testing/old/im/README, testing/old/im/process.html, testing/old/im/stats.html
rename: samples/Palm/nametool/config.nametool -> testing/old/Palm/nametool/config.nametool, samples/Palm/nametool/index.html -> testing/old/Palm/nametool/index.html, samples/Palm/nametool/search.html -> testing/old/Palm/nametool/search.html, samples/Palm/pqa/config.pqa -> testing/old/Palm/pqa/config.pqa, samples/Palm/pqa/index.html -> testing/old/Palm/pqa/index.html, samples/Palm/concept/concept.tcl -> testing/old/Palm/concept/concept.tcl, samples/Palm/concept/file.tcl -> testing/old/Palm/concept/file.tcl, samples/Palm/concept/config.concept -> testing/old/Palm/concept/config.concept, samples/Palm/concept/index.html -> testing/old/Palm/concept/index.html, samples/Palm/run -> testing/old/Palm/run, samples/CookieProxy/register/index.html -> testing/old/CookieProxy/register/index.html, samples/CookieProxy/register/register.html -> testing/old/CookieProxy/register/register.html, samples/CookieProxy/ad.gif -> testing/old/CookieProxy/ad.gif, samples/CookieProxy/blockfile -> testing/old/CookieProxy/blockfile, samples/CookieProxy/config.cookie -> testing/old/CookieProxy/config.cookie, samples/CookieProxy/cookies.html -> testing/old/CookieProxy/cookies.html, samples/CookieProxy/history.html -> testing/old/CookieProxy/history.html, samples/CookieProxy/index.html -> testing/old/CookieProxy/index.html, samples/portal/configure/preferences/default.cfg -> testing/old/portal/configure/preferences/default.cfg, samples/portal/configure/README -> testing/old/portal/configure/README, samples/portal/configure/set.html -> testing/old/portal/configure/set.html, samples/portal/configure/default.template -> testing/old/portal/configure/default.template, samples/portal/configure/print.template -> testing/old/portal/configure/print.template, samples/portal/configure/configure.html -> testing/old/portal/configure/configure.html, samples/portal/Makefile -> testing/old/portal/Makefile, samples/portal/README -> testing/old/portal/README, samples/portal/config -> testing/old/portal/config, samples/misc/sql.cfg -> testing/old/misc/sql.cfg, samples/misc/sql.html -> testing/old/misc/sql.html, samples/ldap/config.ldap -> testing/old/ldap/config.ldap, samples/ldap/data.html -> testing/old/ldap/data.html, samples/ldap/employee.html -> testing/old/ldap/employee.html, samples/ldap/index.html -> testing/old/ldap/index.html, samples/ldap/manager.html -> testing/old/ldap/manager.html, samples/ldap/orgtool.html -> testing/old/ldap/orgtool.html, samples/ldap/reports.html -> testing/old/ldap/reports.html, samples/ldap/results.html -> testing/old/ldap/results.html, samples/ldap/search.html -> testing/old/ldap/search.html, samples/ldap/setup.tcl -> testing/old/ldap/setup.tcl, samples/ldap/blank.xbm -> testing/old/ldap/blank.xbm, samples/ldap/close.xbm -> testing/old/ldap/close.xbm, samples/ldap/last.xbm -> testing/old/ldap/last.xbm, samples/ldap/line.xbm -> testing/old/ldap/line.xbm, samples/ldap/more.xbm -> testing/old/ldap/more.xbm, samples/ldap/open.xbm -> testing/old/ldap/open.xbm, samples/ldap/up.xbm -> testing/old/ldap/up.xbm, samples/ldap/vert.xbm -> testing/old/ldap/vert.xbm, samples/orgtool/iplanet/Makefile -> testing/old/orgtool/iplanet/Makefile, samples/orgtool/iplanet/config.orgtool -> testing/old/orgtool/iplanet/config.orgtool, samples/orgtool/iplanet/FakeASessionHandler.java -> testing/old/orgtool/iplanet/FakeASessionHandler.java, samples/orgtool/iplanet/CacheTemplate.java -> testing/old/orgtool/iplanet/CacheTemplate.java, samples/orgtool/iplanet/docs/reports.html -> testing/old/orgtool/iplanet/docs/reports.html, samples/orgtool/iplanet/docs/results.html -> testing/old/orgtool/iplanet/docs/results.html, samples/orgtool/iplanet/docs/search.html -> testing/old/orgtool/iplanet/docs/search.html, samples/orgtool/iplanet/docs/setup.tcl -> testing/old/orgtool/iplanet/docs/setup.tcl, samples/orgtool/iplanet/docs/up.xbm -> testing/old/orgtool/iplanet/docs/up.xbm, samples/orgtool/iplanet/docs/open.xbm -> testing/old/orgtool/iplanet/docs/open.xbm, samples/orgtool/iplanet/docs/manager.html -> testing/old/orgtool/iplanet/docs/manager.html, samples/orgtool/iplanet/docs/index.html -> testing/old/orgtool/iplanet/docs/index.html, samples/orgtool/iplanet/docs/employee.html -> testing/old/orgtool/iplanet/docs/employee.html, samples/orgtool/iplanet/docs/data.html -> testing/old/orgtool/iplanet/docs/data.html, samples/orgtool/iplanet/docs/right.xbm -> testing/old/orgtool/iplanet/docs/right.xbm, samples/orgtool/iplanet/docs/clear.html -> testing/old/orgtool/iplanet/docs/clear.html, samples/im/bottom.html -> testing/old/im/bottom.html, samples/im/config -> testing/old/im/config, samples/im/index.html -> testing/old/im/index.html, samples/im/top.html -> testing/old/im/top.html, samples/im/README -> testing/old/im/README, samples/im/process.html -> testing/old/im/process.html, samples/im/stats.html -> testing/old/im/stats.html
first pass at updateing the samples directory in preparation 
for the next last? Brazil release
Sun Apr 21 17:30:20 2002 PDT drach

update: ssl/Makefile, velocity/Makefile
Minor changes to allow building Brazil when not on local NFS network.
Fri Apr 19 15:39:12 2002 PDT drach

update: velocity/Makefile
Changed location of Velocity jar file
Fri Apr 19 15:26:33 2002 PDT drach

create: velocity/Makefile, velocity/VelocityFilter.java
update: Makefile
Added the Velocity template engine.  This is a first cut.  There is
no documentation yet.
Fri Apr 19 15:03:22 2002 PDT drach

update: server/Makefile, server/Main.java, servlet/BServletServerSocket.java
Removed Main's dependency on BServletServerSocket.java
Thu Apr 18 12:06:32 2002 PDT suhler

update: server/Makefile
added a temporary dependency on "servlet" so naws builds
Thu Apr 18 11:38:49 2002 PDT suhler

create: sunlabs/DigestTemplate.java
update: email/EmailTemplate.java, handlers/MultiHostHandler.java, handlers/PollHandler.java, handlers/templates/SetTemplate.java, handlers/templates/QueueTemplate.java, server/Request.java, server/Connection.java, ssl/SslHandler.java, sunlabs/Makefile, sunlabs/DateTemplate.java, util/http/HttpInputStream.java
lots of little cleanups:
- EmailTemplate: better failure diagnostics.  Added docs demonstrating
  additional (un-fixed) bugs
- MultiHostHandler - revert to previous behavior; glob matching was buggy
- PollHandler: allow ${...} in url names.  Permit additional target headers, 
  rationalize namespace interaction
- SetTemplate
  added "set" option to <get>: values can be converted and copied between
   namespaces
- QueueTemplate: added timestamps
- Request: added support in sendResponse() for head requests [might not
  be 100% yet]
- Connection: log-level changes: level "3" is more useful now
- SSl: added docs
- DateTemplate: doc fixes
- HttpInputStream: changed the semantics of copyTo() to better report the
  number of bytes read from the stream [this shouldn't break any existing uses]
- DigestTemplate: New [this should be an exprProps]
Tue Apr 2 17:51:46 2002 PDT drach

update: server/Main.java, servlet/BrazilServlet.java
Remove duplicate code from BrazilServlet and enhance Main.startServer
so BrazilServlet can use it.
Wed Mar 6 11:14:56 2002 PDT suhler

update: handlers/ChainSawHandler.java
Fixed output format as per Rinaldo's suggestions
Wed Mar 6 09:17:13 2002 PDT suhler

update: handlers/SMTPHandler.java
Bug fix.  When used as a template, <sendmail> was contacting the
server for each page (it doesn't anymore)
Wed Mar 6 09:06:31 2002 PDT suhler

update: email/EmailTemplate.java
Added better diagnostics.  Althought the race condition still exists
that causes sent mail to be lost, this "fix" at least allows the
user to be informed when the system malfunctions
Tue Mar 5 12:44:45 2002 PDT suhler

create: samples/im/bottom.html, samples/im/config, samples/im/index.html, samples/im/top.html, samples/im/README, samples/im/process.html, samples/im/stats.html, handlers/templates/QueueTemplate.java
update: handlers/Makefile, handlers/SimpleSessionHandler.java
Instant Messager client for Brazil example
- samples/im: The sample application
- QueueTemplate.java: the message Q template (should be in samples/im)
- SimpleSessionHandler.java: enhancements to permit multiple sessions/per user
Tue Feb 26 14:42:17 2002 PDT suhler

update: request/HttpRequest.java, handlers/SimpleSessionHandler.java
doc lint
Tue Feb 26 14:26:18 2002 PDT suhler

update: request/HttpRequest.java, handlers/PollHandler.java, handlers/SimpleSessionHandler.java
-added "addHeaders" convenience method for adding http headers from
properties objects (HttpRequest.java)
- added "namespace" property to PollHandler, making it distinct from "prepend"
- added "headers" property to pollHandler, allowing the addition of http headers
- rewrote the SimpleSessionHandler (hopefully) making it easier to use in
  applications such as robot or user-agent detection
Mon Feb 25 11:39:09 2002 PDT suhler

update: email/EmailTemplate.java
Log error on mail transmission failures (this is still a mess).
Mon Feb 25 08:59:06 2002 PDT suhler

update: handlers/CgiHandler.java
use "url.orig" instead of request.url if available to compute proper
environment variables.
Wed Feb 20 16:35:23 2002 PDT suhler

update: servlet/BrazilServlet.java
fix version skew wrt Server.java
Thu Feb 14 15:04:46 2002 PDT suhler

update: handlers/MultiHostHandler.java
fixed bug introduced by last Server.java putback (oops)
Thu Feb 14 15:03:59 2002 PDT suhler

create: beanshell/test.bsh, beanshell/BeanShellHandler.java
update: beanshell/Makefile
Added beanshellhandler
Tue Feb 12 09:18:34 2002 PDT suhler

update: server/Server.java
Bug fix: Server no longer dies quietly if it can't resolve the local
hostname.
Thu Feb 7 16:27:10 2002 PDT suhler

create: filter/MD5Filter.java
update: filter/Makefile
Added "MD5Filter" top add http digest header.
Large file transfers are being corrupted; this allows the
data integrity to be verified by the client.
Thu Feb 7 14:06:23 2002 PDT suhler

update: server/Request.java
sendResponse() now does the "right think" for HEAD requests.
(This is required by "smart" download clients that can fetch a
 large document in pieces using byte-range headers).
Wed Feb 6 13:25:02 2002 PDT drach

update: beanshell/BeanShellServerTemplate.java
Fix example so it displays correctly.
Tue Feb 5 11:42:16 2002 PDT suhler

update: handlers/RestrictClientHandler.java
Added a hostname based "deny" option.  This provides an easy way
of restricting access to portions of a site from "bad guys" with:
   xxx.deny=\\.(ir|iq|af|cu|ly|kp|sy|sd)$
[sigh!]
Mon Feb 4 14:35:14 2002 PDT suhler

create: handlers/templates/AllowGtTemplate.java
update: util/LexML.java, handlers/Makefile, handlers/UrlMapperHandler.java, handlers/templates/SetTemplate.java
REwrote the "allowGt" stuff:
- removed the functionallity from LexML; the behavior is now done
  via overriding findClose()
- Removes allowGt tag from SetTemplate (it doesn't belog there)
- Created AllowGtTemplate to demonstrate how to add new '>' functionality
 
Now "fixing" the "allowGt" behavior should be localized to the AllowGtTemplate
Tue Jan 29 15:08:44 2002 PDT suhler

update: tcl/TclFilter.java, tcl/TclRePollHandler.java, email/EmailTemplate.java, properties/ExprProps.java, properties/ExprPropsHandler.java, properties/PropertiesList.java, ssl/CertHandler.java
More comment updates for automatic documentation generation
Tue Jan 29 15:06:31 2002 PDT suhler

update: handlers/ConfigFileHandler.java, handlers/BasicAuthHandler.java, handlers/MatchString.java, handlers/SimpleSessionHandler.java, handlers/templates/ContentTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/MacroTemplate.java, handlers/templates/MultipartSetTemplate.java, filter/SessionFilter.java, filter/ExecFilter.java, session/PropertiesCacheManager.java
comment fixes for online document updates
Tue Jan 29 14:53:22 2002 PDT drach

update: beanshell/BeanShellServerTemplate.java
Add a simple example to the comments.
Tue Jan 29 14:17:00 2002 PDT suhler

update: change-log, Makefile
merge with beanshell
Tue Jan 29 10:09:29 2002 PDT suhler

update: util/LexML.java, handlers/templates/SetTemplate.java
Made the old behavior of >'s embedded in attributes the default; added
allowGt() [in LexML] to change the behavior on-the-fly.
 
Added <allowgt>...</allowgt> to the SetTemplate to turn on the behavior
in selected regions.  The following whould "work":
 <allowgt>
 <if name="${x > 4}"> ...
 </allowgt>
 <img src="foo.gif> ...
Mon Jan 28 14:43:43 2002 PDT drach

create: beanshell/BeanShellServerTemplate.java, beanshell/Makefile
update: Makefile, change-log
Added BeanShell template processing.
Wed Jan 23 11:50:08 2002 PDT suhler

update: util/LexML.java
Changed the default behavior of LexML to permit unescaped >'s inside
of quoted strings.
 - <set name=foo value="a > b && c > d">
   works as expected
 - <img src="foo.gif>
   which used to work, now breaks.
Both the new and old behaviors are supported.  I've set the
new behavior as the default (for now)  comments?
Fri Dec 7 14:26:45 2001 PDT suhler

update: handlers/templates/TemplateHandler.java
Bug fix:
Images were being delivered as text/html.
- replaced old prefix/suffix matching with MatchString
- Fixed directory and suffix checking so the TemplateHandler may
  be used by itself (bit-rot reduction)
Fri Dec 7 09:14:37 2001 PDT suhler

update: handlers/templates/SetTemplate.java, handlers/templates/IncludeTemplate.java
- fixed documentation in SetTemplate
- added proxy=host:port option to IncludeTemplate
Wed Nov 28 13:09:03 2001 PDT suhler

update: handlers/SMTPHandler.java, handlers/PollHandler.java, handlers/UrlMapperHandler.java, handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java, handlers/templates/IncludeTemplate.java
- doc fixes for pdf file generation
- better docs for UrlMapperHandler
Sun Nov 18 20:23:15 2001 PDT suhler

create: sunlabs/ClockScan.java
update: sunlabs/Makefile, sunlabs/DateTemplate.java
Add date scanning (stolen from jacl) to the DateTemplate.
We need this to generate calendars using BSL for rinaldo
Sun Nov 18 17:27:05 2001 PDT suhler

update: ssl/SslHandler.java
added IAIK copyright notice
Fri Nov 16 14:19:43 2001 PDT suhler

update: handlers/templates/IncludeTemplate.java
added "name=xxx" to include template to direct the result of
an "include" to a property instead of directly inline
Fri Nov 16 13:48:50 2001 PDT suhler

create: filter/ExecFilter.java
update: filter/Makefile
Created "ExecFilter" to call an external program to filter content.
This is required for the FIA project demo to on-the-fly convert
images to a smaller size
Tue Nov 13 11:41:17 2001 PDT suhler

update: handlers/templates/SetTemplate.java, sunlabs/DateTemplate.java
- added <namespace ... load=xxx> and <namespace ... store=xx> to allow
  namespaces to be read/written from files on the server
- added <date ms=nnn> to format times specified in ms (as well as sec) so
  "timestamps" may be used for date arithmetic.
Fri Oct 19 11:13:09 2001 PDT suhler

update: handlers/AclSwitchHandler.java
Rinaldo found a bug - using props prefix instead of url prefix.
Fri Oct 19 09:21:19 2001 PDT suhler

update: samples/email/body.html, samples/email/compose.html, samples/email/headers.html, samples/email/index.html, samples/email/README, samples/email/filter.html, samples/email/menubar.html, samples/email/process.html, samples/email/welcome.html, samples/email/reply.html, samples/email/.deleted/error.html
delete: samples/email/error.html, samples/email/oops.html
- added print button
- changed from "onError" to inline error handling
- consistent with suff on pn17.eng
Tue Oct 16 16:02:51 2001 PDT suhler

update: util/Format.java, ssl/SslHandler.java, ssl/run-ssl, filter/ReFilter.java, email/EmailTemplate.java
Minor cleanups
Sat Oct 6 17:42:33 2001 PDT suhler

update: handlers/SimpleSessionHandler.java
Added options for pulling SessionID out of http headers.
(For the YOPY "thin client" demo)
Wed Oct 3 13:55:00 2001 PDT suhler

update: handlers/templates/TemplateRunner.java, handlers/templates/RewriteContext.java, email/EmailTemplate.java
* added "tag counter" to rewriteContext to aid in debugging
* <folder list...> may be called on an arbitrary directory.
  - make a cursory check for "validity" before returning a folder
  - return folders in a single property to alleviate performance issues
    when querying large directories
  - add "glob=" to gain acceptable performance (the "validity" check on
    each folder can be expensive)
 
* handleFatalError doesn't provide sufficient debugging info for tracking
  down problems
  - added "Exception" argument, to centralize error tracking 
  - Changed "errmsg" on most calls to be more useful
  - moved call to log() into method, to provide better diagnostics
 
* Modified getMessageObjects
  - moved "startmsg" and "msglimit" processing inside, allowing us to add
    new options (such as searching) in only on spot
  - Getting message info for a single message was (sometimes)
    returning an array to lots of message objects, then ignoring all but the
    first.
 
* Not fixed: no check for never-supplied default directory
Thu Sep 27 10:13:41 2001 PDT suhler

update: samples/email/body.html, samples/email/pref.html, samples/email/compose.html, samples/email/headers.html, samples/email/config, samples/email/colors.html, samples/email/error.html, samples/email/oops.html, samples/email/filter.html, samples/email/frameset.html, samples/email/menubar.html, samples/email/process.html, samples/email/msgwindow.html, samples/email/reply.html, samples/email/aliases.html, samples/email/search.html
delete: samples/email/headerMenu.html
Hopefully, this is that last set of revisions for "version 1"
Thu Sep 27 09:53:56 2001 PDT suhler

update: email/EmailTemplate.java
Temporary patches:
- handleFatalError now takes an Exception as a parameter, to permit better
  diagnosing of errors
- Several places are checked for "ReadOnlyFolderExceptions" to prevent
  bogus "lost connection to server" errors
- Code added to detect a refile into a bad folder from tossing a bogus
  "lost connection to mail server" error
 
* Many (if not all) of the "lost connection to mail server" messages
  are erroneous, and could be more accurately detected by examining the
  exceptions.
Tue Sep 25 17:36:14 2001 PDT suhler

update: handlers/GenericProxyHandler.java, handlers/templates/SetTemplate.java, handlers/templates/DeCommentTemplate.java
GenericProxyHandler:  Added config option to add target http headers
SetTemplate: added "imports" config option to auto-import namespaces
DeCommentTemplate.java: "really stupid typo broke this
Tue Sep 25 13:56:03 2001 PDT suhler

update: email/EmailTemplate.java
Forgot to check message array for null before fetching messages
Thu Sep 20 13:38:58 2001 PDT guym

update: tests/sunlabs.brazil.email.EmailTemplate.test, email/EmailTemplate.java
Fixed an off-by-one-error in EmailTemplate.java (prevmsgnum) and also fixed an incorrect result in the test suite for 
EmailTemplate.
Thu Sep 20 11:23:46 2001 PDT guym

update: email/EmailTemplate.java
Rewrote getMessageObjects() - should be clearer, easier to debug, and probably faster.
Wed Sep 19 15:23:06 2001 PDT suhler

update: email/EmailTemplate.java
- Temporary patches to get past message-window bug
- make a "filter" so we can get our SessionID from the SessionFilter
  (this "fixes" the broken attachments)
Mon Sep 17 15:40:52 2001 PDT suhler

update: util/LexML.java
documentation lint
Mon Sep 17 15:39:04 2001 PDT suhler

create: samples/email/pref-list.html, samples/email/aliases.html, samples/email/welcome.html
update: samples/email/body.html, samples/email/pref.html, samples/email/compose.html, samples/email/headers.html, samples/email/index.html, samples/email/config, samples/email/README, samples/email/config.pref, samples/email/colors.html, samples/email/oops.html, samples/email/filter-list.html, samples/email/filter.html, samples/email/frameset.html, samples/email/menubar.html, samples/email/process.html, samples/email/props.html, samples/email/reply.html, samples/email/search.html
rename: samples/email/save_state.html -> samples/email/checkpoint.html
delete: samples/email/bye.html, samples/email/folders.html, samples/email/goodbye.html
Another checkpoint.
Mon Sep 17 14:50:44 2001 PDT guym

create: tests/sunlabs.brazil.email.EmailTemplate.test
update: email/EmailTemplate.java, tests/Makefile
The EmailTemplate has been updated per code review comments and suggestions.  The Makefile for the test suite had to be modified to include the proper JAR files in classpath for the EmailTemplate.
A new test file for the EmailTemplate was built with basic functionality tests only. It is setup to use the test IMAP server on pn17.eng, which answers on port 144.  The test file is fully configurable via properties at the top of the file.
Thu Sep 13 09:30:19 2001 PDT suhler

update: handlers/templates/ContentTemplate.java
added extraction property "all" that contains the entire content.
Thu Sep 13 09:29:40 2001 PDT suhler

update: handlers/templates/Template.java
remove debugging left in inadvertantly
Thu Sep 13 09:28:52 2001 PDT suhler

update: server/Connection.java, server/Request.java, handlers/RePollHandler.java, handlers/templates/RewriteContext.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/MultipartSetTemplate.java, handlers/templates/TemplateTemplate.java, filter/PlainFilter.java, sunlabs/DateTemplate.java, ldap/LDAPTemplate.java
remove unneeded imports
Wed Sep 12 16:41:52 2001 PDT suhler

update: handlers/RestrictClientHandler.java
"match" was being used both for url prefixes and ip addresses (duh).
changed "match" to "restrict" for ip addresses
Mon Sep 10 14:03:16 2001 PDT suhler

update: handlers/templates/Template.java, handlers/templates/FormTemplate.java
Bug fix:
- Keep Template.debug() from emitting nested html comments (which don't work)
- <input value=$...}> should do the right thing this time.
Fri Sep 7 10:52:51 2001 PDT guym

update: email/EmailTemplate.java
Fixed a bug in the getnewheaders functionality, where the last old msg pointer was getting into an inconsistent state.
For the getnewheaders action, you no longer have to pass a 'startmsg' parameter.  That state is being kept internally in the Java code.
Mon Sep 3 22:37:27 2001 PDT suhler

update: samples/email/body.html, samples/email/pref.html, samples/email/headers.html, samples/email/config, samples/email/config.pref, samples/email/colors.html, samples/email/menubar.html, samples/email/msgwindow.html
- re-organized colors and preferences
- got separate message window to work again
- escapded <> properly in <set> tags
Mon Sep 3 20:35:56 2001 PDT suhler

update: util/Format.java, handlers/templates/FormTemplate.java
- bug fix: FormTemplate wasn't processing ${...} properly
- bug fix: Forma wasn't processing \r properly
Fri Aug 31 16:01:06 2001 PDT guym

update: email/EmailTemplate.java
Fixed implementation of refilemsg so that pending messages to refile are actually refiled before a folder action=purge or the selection of a new folder.
Thu Aug 30 15:35:35 2001 PDT guym

update: email/EmailTemplate.java
Added support for alternate ports in the <email> tag - the specification for an alternate port is now 'server:port' in the 'server' paramater of the email tag.  If the port is left off, the default IMAP port will be used.  Also fixed a very annoying bug
that was causing the email client to 'lose' subjects mysteriously.
Wed Aug 29 13:26:38 2001 PDT guym

update: email/EmailTemplate.java
Re-architected the refile msg capability for increased performance and made all performance measurement diagnostics print using the LOG_DIAGNOSTIC type of hr.request.log().
Wed Aug 29 10:42:18 2001 PDT suhler

update: change-log
Added more change entries.  "change-log" is still missing
stuff. "make diffs" from .../brazil/naws should provide a "hint"
as to what is still missing
Wed Aug 29 10:16:50 2001 PDT guym

update: email/EmailTemplate.java
Broke up performance monitoring so that we can see the time it takes to get message objects, prefetch the headers, and populate the return properties.
Wed Aug 29 08:58:14 2001 PDT suhler

update: handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java
- Changed <if ... any> to use the PropertiesList glob enumerator.
  (The <foreach glob> should be similarly modified)
- Added <get ... max=nnn> to limit the length of a value.
Tue Aug 28 21:16:16 2001 PDT suhler

update: server/Makefile
Server now depends on PropertiesList which depends on Glob, so
glob needs to be added to the "required by server" list.
 
So much for building a "small" server these days.  Oh well..
Tue Aug 28 21:06:35 2001 PDT suhler

create: samples/email/bye.html, samples/email/colors.html, samples/email/debug.html, samples/email/error.html, samples/email/filter-list.html, samples/email/filter.html, samples/email/frameset.html, samples/email/headerMenu.html, samples/email/kill_filters.html, samples/email/menubar.html, samples/email/msgwindow.html, samples/email/oops.html, samples/email/process.html, samples/email/props.html, samples/email/reply.html, samples/email/save_state.html, samples/email/search.html, samples/email/timeout.html
update: samples/email/body.html, samples/email/pref.html, samples/email/compose.html, samples/email/headers.html, samples/email/index.html, samples/email/config, samples/email/run, samples/email/README, samples/email/config.pref
Snapshot of the Brazil email reader-sender.
All basic functionality is complete:
reading email with mime attachments
sending email with mime attachments
automatic "filtering" of incoming email
uploading/downloding email filters
 
The GUI still needs lots of work:
- dynamic stylesheets to select colors and highlighting
- re-layout of the preferences
- re-layout of the menubar
 
The key performance issue is refiling messages (~2 seconds/message -
a big deal when you have 1000's of email messages).
Tue Aug 28 21:00:23 2001 PDT suhler

create: handlers/templates/DeCommentTemplate.java, filter/ReFilter.java
update: handlers/Makefile, handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java, handlers/templates/FormTemplate.java, filter/Makefile, filter/FilterHandler.java, tests/sunlabs.brazil.template.BSLTemplate.test, tests/sunlabs.brazil.util.Format.test
- add DeCommentTemplate - strips comments out of html files
- add <if name=[glob pattern] any> ... </if> to see if any propery
  exists that matches a glob pattern
- add ReFilter - processes text-like content through a regsub
- add/fix <namespace name=...> ... </namespace> to SetTemplate.
  This makes it easier to delete entire namespaces
- Format.subst now maps \l\g\a to <>& to make it easier to include
  "funny" characters in values
- FormTemplate now processes value=${..} constructs if the "normal"
  behavior would leave the value un-set
- doc changes to FilterHandler
 
I needed this stuff to make the email reader more rational
Mon Aug 27 18:59:50 2001 PDT suhler

update: handlers/templates/SetTemplate.java
add "clear" option to import to clear a namespace
Mon Aug 27 17:05:38 2001 PDT guym

update: email/EmailTemplate.java
Fixed a problem with onError handling when no connHandle was found
Mon Aug 27 12:00:42 2001 PDT guym

update: handlers/HtmlRewriter.java, email/config.email, email/compose.html, email/EmailTemplate.java
First round of changes to support attachments in the email compose functionality.
Wed Aug 22 16:24:47 2001 PDT drach

update: server/Request.java, properties/PropertiesList.java
Add PropertiesList documentation to Request.  Change some methods in
PropertiesList so they correspond to the new documentation in Request. ;-)
Wed Aug 22 14:48:33 2001 PDT drach

update: properties/ExprPropsHandler.java, properties/PropertiesList.java
Added comments to PropertiesList.  Changed the implementation of a couple
methods.  Changed the signature of one method -- that's why ExprPropsHandler
changed also.
Tue Aug 21 12:22:21 2001 PDT guym

update: email/headers.html, email/EmailTemplate.java
Added additional javadoc documentation for the <sendmail> tag (handling attachments) and also now correctly keep track locally of user authentication state in EmailTemplate.java
Tue Aug 21 11:40:31 2001 PDT suhler

create: samples/configs/README, samples/configs/form.html, samples/configs/config.form
space for simple cofig files that work with a single
html file/template to demonstrate the operation of a single handler or template
Tue Aug 21 11:27:55 2001 PDT suhler

update: change-log, tests/sunlabs.brazil.server.Server.test, server/Handler.java, server/Request.java, server/Server.java, server/Main.java, handlers/templates/MultipartSetTemplate.java
fixed bug in MultipartSetTemplate.java, added limit on the
max size for form data
Mon Aug 20 20:42:32 2001 PDT suhler

create: handlers/templates/MultipartSetTemplate.java
update: handlers/Makefile, util/Base64.java, change-log
added MultipartSetTemplate, a sub-class of the SetTempalte that
processes form/multipart data and places the results into
the request props, optionally base64 encoding binary files
Fri Aug 17 17:24:47 2001 PDT drach

create: tests/sunlabs.brazil.properties.ExprProps.test
update: util/Calculator.java, properties/ExprProps.java
ExprProps was using a cached version of request.props that it acquired
at construction time, so variables stored by <foreach> weren't found.
The solution is to add a new method to Calculator that allows one to
use a symbol table for duration of calculation, and to have ExprProps
give the most recent request.props to Calculator on every calculation.
Fri Aug 17 16:34:42 2001 PDT suhler

update: tests/defs
bug in "template"; was using wrong value for $port
Thu Aug 16 14:01:33 2001 PDT guym

update: email/EmailTemplate.java
Fine-tuned the exception handling so that if fatal errors are returned from the EmailTemplate, we can guarantee that the user needs to re-authenticate with the email server. 
All other errors are returned in a seperate property.
Wed Aug 15 14:28:21 2001 PDT suhler

create: samples/template/images/b.gif, samples/template/images/brazilicon.gif, samples/template/dir/index.html, samples/template/exp/index.html, samples/template/config.map, samples/template/index.html, samples/template/customize.html, samples/template/meta.html, samples/template/notfound.html, samples/template/see.html, samples/template/main.template, samples/template/printing.template, samples/template/config, samples/template/README
Brazil example ala experimentalstuff that demonstrates re-writing
all content into user customizable templates
Wed Aug 15 13:21:21 2001 PDT suhler

update: tests/sunlabs.brazil.handler.BasicAuthHandler.test
fixes for sessionTable option
Tue Aug 14 17:50:53 2001 PDT guym

update: email/headers.html, email/EmailTemplate.java
Modified the 'getnewheaders' operation of EmailTemplate.java to return a list of the 'newly arrived' messages, as defined by messages after a certain count.  This operation now makes use of the
'startmsg' parameter to determine where to look in the folder for 'newly arrived' messages. It also returns a property, prefix.lastmsgnum, which can be passed repeatedly to 
the 'getnewheaders' operation to detect these messages.  If 'startmsg' is ommitted or
is the empty string (""), the operation will return *all* headers in this folder, potentially an expensive operation.
Tue Aug 14 16:47:15 2001 PDT suhler

update: handlers/SMTPHandler.java, handlers/SupplyHandler.java, handlers/MatchString.java, handlers/UrlMapperHandler.java, handlers/RePollHandler.java, handlers/SimpleSessionHandler.java, handlers/templates/ContentTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/TemplateTemplate.java
fixed javadoc comments.  The first sentence of every Class comment
*must* end with a period (.) to aid the automatic extraction of
handler summaries
Tue Aug 14 16:44:05 2001 PDT suhler

create: samples/stock-basic/config, samples/stock-basic/README, samples/stock-basic/config.stock, samples/stock-basic/index.html, samples/stock-basic/my_reauth.html, samples/stock-basic/my_select.html, samples/stock-basic/my_stock.html, samples/stock-basic/my_value.html, samples/stock-basic/register.html
update: tcl/TclServerTemplate.java, handlers/BasicAuthHandler.java, handlers/templates/TemplateHandler.java, handlers/templates/AddHeaderTemplate.java
created "stock" portfolio example using basic authentication
- added "eval" option to <tcl>
- modified BasicAuthHandler to interoperate with <set...>
- added <addHeader status=nnn> to change http result code
- fixed bug in TemplateHandler that was resetting the http status code
Mon Aug 13 16:23:15 2001 PDT suhler

update: handlers/PollHandler.java
The documentation for time formats was wrong.  I fixed thd docs by
allowing an option to specify the format used for matching.
Mon Aug 13 12:36:53 2001 PDT guym

update: email/headers.html, email/EmailTemplate.java
Fixed bug where creating folders in EmailTemplate.java was not working
Mon Aug 13 09:20:47 2001 PDT guym

update: email/EmailTemplate.java
Fixed compilation bug in EmailTemplate.java by changing the reference to hr.setRewriteState to 
hr.abort()
Mon Aug 13 09:12:44 2001 PDT drach

update: server/Request.java, server/Server.java, servlet/BServletRequest.java, properties/ExprPropsHandler.java
Change server.props back to Properties object.  This allows server.props
to be shared amongst Threads.  Created Request.serverProps as a
PropertiesList wrapper for server.props.  Each Request will have a
unique serverProps wrapping the shared server.props.
 
Note, you may need to remove all *.class files before rebuilding.
Fri Aug 10 16:39:14 2001 PDT guym

update: handlers/templates/BSLTemplate.java, tests/sunlabs.brazil.template.BSLTemplate.test
Finished test cases that demonstrate/test bug fixes from code review
Fri Aug 10 14:46:40 2001 PDT guym

update: handlers/templates/BSLTemplate.java, handlers/templates/RewriteContext.java, tests/sunlabs.brazil.template.BSLTemplate.test, tests/sunlabs.brazil.handler.RePollHandler.test
Per code review, changed the Abort, Break, and Continue flags to a single stateFlags enum.
Also fixed a bug where incrementing of the nestingLevel was in the wrong place.  Fixed a bug which was not restoring request.props back to its original state during an <abort>, <break>, or <continue>
Thu Aug 9 21:45:58 2001 PDT suhler

create: samples/stock/config, samples/stock/README, samples/stock/config.stock, samples/stock/index.html, samples/stock/select.html, samples/stock/stock.html, samples/stock/value.html
Stock portfolio example.  Demonstrates:
- RePollHandler
- ExprPropsHandler
Tue Aug 7 14:25:28 2001 PDT drach

update: server/Request.java, server/Server.java, properties/PropertiesList.java
Fix NullPointerException in PropertiesList debug code.  Also make the
code provide correct caller when PropertiesList invokes a PropertiesList
constuctor.  That is, we don't want PropertiesList to be listed as
caller -- we want method that initially invoked PropertiesList.
 
Move PropertiesList debug initiation to earliest possible point, before
the first PropertiesList object is created.
Tue Aug 7 11:47:44 2001 PDT suhler

update: handlers/templates/FormTemplate.java, handlers/DefaultFileHandler.java
minor bug fixes
Tue Aug 7 11:46:49 2001 PDT suhler

update: handlers/templates/Template.java, server/Handler.java, session/SessionManager.java
documentation updates
Mon Aug 6 17:48:28 2001 PDT suhler

update: handlers/RePollHandler.java, tests/Makefile, tests/sunlabs.brazil.handler.RePollHandler.test
Add "key" option to RePollHandler to allow one of the sub-matches to be
used as part of a property name instead of a numerical index
 
add ../properties to the depends list in the "test" directory
Mon Aug 6 16:32:46 2001 PDT guym

update: email/headers.html, email/EmailTemplate.java
Added support in EmailTemplate.java for per tag error handling (with the onError parameter).
Fri Aug 3 20:22:10 2001 PDT guym

update: handlers/templates/BSLTemplate.java, handlers/templates/RewriteContext.java, tests/sunlabs.brazil.template.BSLTemplate.test
Made BSLTemplate code thread-safe again after adding support for <abort>, <break>
and <continue> tags.
Also finished documentation for the <abort>, <break>, and <continue> tags.
Fri Aug 3 18:25:30 2001 PDT suhler

update: proxy/ProxyHandler.java, handlers/DeferredHandler.java, handlers/templates/TemplateRunner.java, sql/SqlTemplate.java, server/ChainHandler.java, filter/FilterHandler.java
class names in properties files with trailing whitespace are tough to find, 
so trim() all strings befor Class.forname()ing them.
Fri Aug 3 15:52:59 2001 PDT drach

create: properties/PropertiesList.java
update: handlers/templates/BSLTemplate.java, server/Makefile, server/Request.java, server/Server.java, servlet/BServletRequest.java, properties/Makefile, properties/ExprPropsHandler.java
Remove SharedProps and replace with PropertiesList
Fri Aug 3 10:57:47 2001 PDT guym

update: handlers/templates/BSLTemplate.java, tests/sunlabs.brazil.template.BSLTemplate.test
Fixed problems in BSLTemplate tests - don't use <set name=x value=foo> *inside* of
test bodies - use the set props {} tcl instead - this prevents namespace collisions
within tests further downstream.
Thu Aug 2 13:43:45 2001 PDT guym

update: email/index.html, email/headers.html, email/EmailTemplate.java
Added support for a <forcetimeout> tag in the EmailTemplate, to be used in testing/debugging
to allow HTML developers to programatically force a timeout/close event at the IMAP server.
Wed Aug 1 17:39:50 2001 PDT suhler

update: change-log, tests/sunlabs.brazil.templates.ScriptEval.test, tests/sunlabs.brazil.handler.RePollHandler.test, handlers/PollHandler.java, handlers/RePollHandler.java
allow PollHandler to extract to SessionManager properties, 
acessable via <set namespace=xxx>
Wed Aug 1 16:37:07 2001 PDT guym

update: handlers/templates/BSLTemplate.java, tests/sunlabs.brazil.template.BSLTemplate.test, email/config.email, email/EmailTemplate.java
Added support for <abort>, <break>, and <continue> in BSL - warning
only <abort> has passed all of the regression tests - use <break> and <continue> at your own
risk until they finish passing the tests.
Wed Aug 1 14:16:16 2001 PDT suhler

create: tests/sunlabs.brazil.handler.RePollHandler.test
update: handlers/RePollHandler.java
Completely changed the way properties are extracted.
OLD way:  Create a regular expression that turned the content into
          a java properties file, then "loaded" it
NEW way   Matches and sub-matches are automatically extracted into
          properties based on numerical indeces (or names)
 
To Do (still)
- RePollHandler and <extract> should share the same code
- PollHandler should accept session-table for properties, instead
  of dumping everything into server.props
Wed Aug 1 11:12:30 2001 PDT suhler

update: util/LexML.java
Even after nextToken() returns false, calls to getBody()...
return reasonable values instead of throwing exceptions
Wed Aug 1 11:10:00 2001 PDT suhler

create: handlers/SimpleSessionHandler.java
update: util/Base64.java, handlers/Makefile
Added SimpleSessionHandler (as a simple example to describe what
session handlers do).
Wed Aug 1 10:17:27 2001 PDT suhler

update: handlers/CookieSessionHandler.java
documented behavior of "prefix"; it maps to the PATH specifier on
the set-cookie header.
 
The sessionFilter always uses PATH=/ (which is probably a bug) so it
didn't have the same bug
Tue Jul 31 17:50:19 2001 PDT drach

update: handlers/CookieSessionHandler.java
Fix cookie path by adding a url prefix property.
Mon Jul 30 16:25:10 2001 PDT suhler

update: tests/sunlabs.brazil.handler.MatchString.test
rename: tests/sunlabs.brazil.handler.MatchUrl.test -> tests/sunlabs.brazil.handler.MatchString.test
changed MatchUrl to MatchString
Mon Jul 23 15:52:58 2001 PDT suhler

update: handlers/SMTPHandler.java
Changed <param...> implementation to use StringMap instead of Hashtable;
header order is now preservered (some smtp servers *require* mime-version
and content-type to be first, RFC822 non withstanding
Mon Jul 23 14:55:08 2001 PDT suhler

update: server/FileHandler.java, tests/sunlabs.brazil.server.FileHandler.test, change-log
Changed (undocumented) "allow" property to "getOnly" and reversed the
sense: any method is OK by default, specify "getOnly" to accept only
GET requests
Fri Jul 20 12:06:07 2001 PDT suhler

update: handlers/SMTPHandler.java
SMTP template <param> tag was broken
Fri Jul 20 11:45:34 2001 PDT suhler

update: change-log, tcl/TclHandler.java, tests/sunlabs.brazil.template.SetTemplate.test, handlers/PropertiesHandler.java, handlers/CookieSessionHandler.java, handlers/NotFoundHandler.java, handlers/RestrictClientHandler.java, handlers/RolesHandler.java, handlers/Makefile, handlers/AclSwitchHandler.java, handlers/DirectoryHandler.java, handlers/BasicAuthHandler.java, handlers/PushHandler.java, handlers/SMTPHandler.java, handlers/PublishHandler.java, handlers/DialogHandler.java, handlers/ResourceHandler.java, handlers/templates/SetTemplate.java, filter/FilterHandler.java, properties/ExprPropsHandler.java, handlers/MatchString.java
rename: handlers/MatchUrl.java -> handlers/MatchString.java
Changed all occurrences of "MatchUrl" to "MatchString"
Fri Jul 20 10:45:44 2001 PDT suhler

update: change-log, filter/SessionFilter.java, ssl/config, ssl/SslHandler.java, ssl/index.html, handlers/CookieSessionHandler.java
- SsslHandler has an option for asking for a client cert, and can use
  the cert ser# as a session key
- The other sessionHandlers don't ses a session key if it alreay exists,
  allowing cert id's or cookies, or url rewriting in the same server
Thu Jul 19 21:38:00 2001 PDT suhler

update: ssl/SslHandler.java, ssl/index.html, util/Format.java
- Format: fix javadoc warnings
- ssl: provide cert id, and update docs
Thu Jul 19 20:41:59 2001 PDT suhler

create: ssl/CertHandler.java, ssl/req.html
update: ssl/Makefile, ssl/README, ssl/config, ssl/index.html
First pass at the Certificate Authority handler.
Wed Jul 18 16:32:59 2001 PDT suhler

update: handlers/templates/SetTemplate.java
The deck got dropped, and the cards were out of order.  They're
now properly resequenced
Wed Jul 18 14:12:23 2001 PDT suhler

create: samples/email/body.html, samples/email/pref.html, samples/email/compose.html, samples/email/folders.html, samples/email/goodbye.html, samples/email/headers.html, samples/email/index.html, samples/email/config, samples/email/run, samples/email/README, samples/email/config.pref
first pass at an email client
Wed Jul 18 10:44:40 2001 PDT suhler

update: tests/sunlabs.brazil.util.Format.test, tests/sunlabs.brazil.templates.ScriptEval.test, util/Format.java, handlers/templates/ScriptEvalTemplate.java
Changed Format.subst to allow modifying \X behavior on a per-call basis.
Modified ScriptEvalTemplate.java to (mostly) leave \'s alone
Wed Jul 18 10:43:01 2001 PDT suhler

update: ssl/Makefile
Makefile now points to proper classpath
Tue Jul 17 18:42:48 2001 PDT suhler

update: handlers/templates/BSLTemplate.java, properties/ExprPropsHandler.java
doc fixes to remove javadoc warnings
Tue Jul 17 18:24:12 2001 PDT suhler

create: tests/sunlabs.brazil.templates.ScriptEval.test, handlers/templates/ScriptEvalTemplate.java
update: change-log, handlers/Makefile
Added ScriptEvalTemplate.  Allows ${...} substitutions in javascript
programs (<script>...</script>) if eval=true is in the "script" attribute.
Tue Jul 17 17:21:25 2001 PDT suhler

update: email/EmailTemplate.java
RewriteContenxt.hr.get() now has Format.subst() built in
Tue Jul 17 14:48:22 2001 PDT suhler

create: tests/sunlabs.brazil.util.Format.test, tests/sunlabs.brazil.handler.MatchUrl.test, tests/sunlabs.brazil.template.SetTemplate.test, tests/sunlabs.brazil.template.SetTemplate.compat.test, handlers/MatchUrl.java, handlers/templates/TemplateTemplate.java
update: change-log, util/Makefile, util/Format.java, util/Calculator.java, tcl/TclHandler.java, tcl/TclRePollHandler.java, sunlabs/DateTemplate.java, sunlabs/SubstAllTemplate.java, sunlabs/ExecTemplate.java, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.util.http.HttpUtil.test, tests/sunlabs.brazil.handler.BasicAuthHandler.test, tests/sunlabs.brazil.template.PropsTemplate.test, tests/sunlabs.brazil.template.BSLTemplate.test, handlers/PropertiesHandler.java, handlers/CookieSessionHandler.java, handlers/NotFoundHandler.java, handlers/RestrictClientHandler.java, handlers/RolesHandler.java, handlers/Makefile, handlers/AclSwitchHandler.java, handlers/DirectoryHandler.java, handlers/BasicAuthHandler.java, handlers/PushHandler.java, handlers/SMTPHandler.java, handlers/PublishHandler.java, handlers/MultiHostHandler.java, handlers/DialogHandler.java, handlers/HomeDirHandler.java, handlers/ResourceHandler.java, handlers/SunNetAuthHandler.java, handlers/RePollHandler.java, handlers/templates/ContentTemplate.java, handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java, handlers/templates/Template.java, handlers/templates/NoImageTemplate.java, handlers/templates/RewriteContext.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/MacroTemplate.java, explode/props.tcl, server/Server.java, filter/TemplateFilter.java, filter/FilterHandler.java, session/PJamaSessionManager.java, ldap/LDAPTemplate.java, python/PythonServerTemplate.java, properties/ExprProps.java, properties/ExprPropsHandler.java, email/Makefile
delete: util/Chars.java, handlers/Token.java, util/PJwrapper.java
- Added MatchUrl as a convenience method for handlers to decide if
  the url should be processded.  Changed most handlers to use it.
 
- Changed most Templates to use new convenience methods in RewriteContext
 
- Added TemplateTemplate to allow template processing of properties from
  within a template.
- Added initial definition file to MacroTemplate
- Moved "PropsTemplate" functionality to SetTemplate as "<get...>"
- Added <tag name=x> => <x  in SetTemplate
- Made sure all the existing tests still work; aded tests for
  "Format" and MatchUrl
- Format.subst() now deals with escapes (\) rationally.
- Moved several classes inside of their only consumers so they are
  not needlessly exposed in the filesystem.
Mon Jul 16 16:16:24 2001 PDT drach

update: properties/ExprProps.java, properties/ExprPropsHandler.java
Add comments to both.  Add get method to ExprProps.
Fri Jul 13 16:42:14 2001 PDT drach

update: util/Calculator.java, servlet/BrazilServlet.java
Add comments and a main program test driver to Calculator.
 
Fix spelling error in documentation in BrazilServlet.
Thu Jul 12 14:26:03 2001 PDT suhler

update: handlers/SMTPHandler.java
added the capability to do:
 <sendmail ...>
    <param name=.. value=...> ...
 </sendmail>
Thu Jul 12 14:09:26 2001 PDT guym

update: email/headers.html, email/body.html, email/EmailTemplate.java
Made the 'folder parameter a consistent name (foldername) within the <message> and
<folder> tags - also changed the implementation of the refilemsg, deletemsg, and
undeletemsg functionality - these now send requests to the server in one chunk - 
hopefully improving performance.
Thu Jul 12 11:59:37 2001 PDT suhler

update: email/EmailTemplate.java
use jdk1.1 compatible methods of Vector()
Wed Jul 11 20:16:56 2001 PDT suhler

create: handlers/templates/MacroTemplate.java
update: Makefile, change-log
Added a session based macro-processing template.
Wed Jul 11 16:02:32 2001 PDT drach

create: properties/Makefile, properties/ExprProps.java, properties/ExprPropsHandler.java
update: Makefile
Creation of properties directory and content, including ExprProps facility.
Wed Jul 11 09:39:52 2001 PDT suhler

update: handlers/PollHandler.java
make fields public so they may be accessed from tcl or python
Tue Jul 10 19:30:08 2001 PDT guym

update: email/headers.html, email/EmailTemplate.java
Added getnewheaders and undeletemsg operations to the <message> tag
Tue Jul 10 10:40:08 2001 PDT drach

update: server/Request.java
Changed SharedProps.addDict() and SharedProps.removeDict() to account for
semantic change to Dictionary.equals() between Java 1 and Java 2.
Fri Jun 29 13:29:56 2001 PDT guym

update: email/index.html, email/headers.html, email/body.html, email/EmailTemplate.java
Added support for a folder parameter in the <message> tag to allow for multiple windows to operate on different folders at the same time.  Also added support for  a new mode in the <message> tag - the ability retrieve only the new headers.
Fri Jun 29 11:25:15 2001 PDT suhler

update: handlers/SMTPHandler.java
The SMTPHandler will now work as a template:
  <sendmail from= to= body= subject= cc=>
Fri Jun 29 11:09:53 2001 PDT drach

create: util/Chars.java, util/Calculator.java
update: util/Format.java, util/Makefile
Changed variable substitution algorithm in Format to, hopefully, make
it easier to understand and to allow future additions.
   
Added Calculator class for general purpose arithmetic expression and
statement evaluation.
Thu Jun 28 11:46:58 2001 PDT suhler

update: email/EmailTemplate.java
changed timespamps from "ms" to "sec"
Mon Jun 25 20:26:35 2001 PDT guym

update: email/EmailTemplate.java
Added fix for the parturl property (attachment handling) so that a proper filename is 
provided for the 
'Save As' dialog - Also added fix for the msglimit 'off-by-one' bug.
Mon Jun 25 10:05:03 2001 PDT suhler

update: email/EmailTemplate.java
getMessages returns additional fields, making it easier to use in
the common cases.
Thu Jun 21 13:53:35 2001 PDT guym

update: email/headers.html, email/body.html, email/EmailTemplate.java
Added support for message ranges in deletemsg,refilemsg.  Fixed msgindex property to accurately reflect message number, put in support for pre-parsing addresses into rcf822 and
personal parts.  Implemented a msgcount in the folder tag to return total messages and new message counts. Put in support for pre-parsing date fields to return a string representation, as well as the number of seconds since the epoch for that date.
Mon Jun 18 08:43:05 2001 PDT suhler

update: email/EmailTemplate.java
<message action=getheaders startmsg="" ...> should do the right thing
Fri Jun 15 17:00:33 2001 PDT guym

update: email/body.html, email/EmailTemplate.java
Fixed support for multipart/ALTERNATIVE and multipart/DIGEST in message viewing.
Fri Jun 15 15:11:35 2001 PDT guym

update: email/index.html, email/headers.html, email/EmailTemplate.java
Added support for multiple open folder connections, and added a reconnect() routine to EmailTemplate.java to be used in case of FolderClosedExceptions.
Wed Jun 13 15:37:18 2001 PDT guym

update: email/EmailTemplate.java
Fixed performance problem in header retrieval and added support for querying the entire list of message headers.
Wed Jun 13 09:30:51 2001 PDT suhler

update: server/ChainHandler.java, handlers/HomeDirHandler.java
added url Prefix options, for consistency (and I needed them)
Tue Jun 12 17:24:47 2001 PDT guym

update: email/headers.html, email/EmailTemplate.java
Added support for 'D' and 'R' msg status flags in EmailTemplate.java
Tue Jun 12 12:46:36 2001 PDT guym

update: email/config.email, email/headers.html, email/body.html, email/EmailTemplate.java
Fixed various email example html files, plus fixed EmailTemplate.java's javadoc source.
Mon Jun 11 17:13:50 2001 PDT guym

update: util/http/HttpUtil.java
Fixed HttpUtil.java to correctly handle &#13; within convert=html
Mon Jun 11 17:08:09 2001 PDT suhler

update: Makefile
added "email" to depends list
Mon Jun 11 17:07:38 2001 PDT suhler

update: servlet/BServletRequest.java, servlet/BServletServerSocket.java, servlet/BServletSocket.java, servlet/BrazilServlet.java
fix javadoc warnings
Thu Jun 7 13:16:16 2001 PDT guym

create: email/config.email, email/Makefile, email/folder.gif, email/brazilicon.gif, email/mailbox.gif, email/index.html, email/goodbye.html, email/folders.html, email/compose.html, email/headers.html, email/body.html, email/EmailTemplate.java
First revision of the EmailTemplate and supporting HTML examples.
Wed Jun 6 12:45:39 2001 PDT suhler

create: ssl/Makefile, ssl/README, ssl/config, ssl/SslHandler.java, ssl/index.html, ssl/run-ssl
1st pass at integrating the old ssl stuff into the new server.
It is quite incomplete, but what's there works OK
 
The Certificate Authority handler and the Server Certificate Generating
code has yet to be integrated in
Tue Jun 5 22:40:59 2001 PDT drach

update: server/Main.java, server/Request.java, server/Server.java, servlet/BServletRequest.java, servlet/BrazilServlet.java
Move all Brazil Servlet classes into the sunlabs.brazil.servlet package.
Mon Jun 4 14:44:27 2001 PDT suhler

update: change-log, Makefile, sunlabs/SubstAllTemplate.java, handlers/PollHandler.java, handlers/RePollHandler.java, handlers/templates/BSLTemplate.java, sql/config, sql/SqlTemplate.java, ldap/LDAPTemplate.java, python/PythonServerTemplate.java, servlet/BServletRequest.java, servlet/BServletServerSocket.java, servlet/BServletSocket.java, servlet/BrazilServlet.java
edits to build javadocs for java-one snapshot
- moved servlet code from package brazil.net to brazil.servlet
- moved SqlTemplate to brazil.sql
minor stuff for snapshot
Mon Jun 4 07:35:09 2001 PDT drach

create: servlet/BServletRequest.java, servlet/BServletServerSocket.java, servlet/BServletSocket.java, servlet/BrazilServlet.java, servlet/Makefile
update: Makefile, change-log
Brazil can now run under any web/app server that supports the 2.2 Servlet
API.  This is a bidirectional Brazil Servlet interface.
Wed May 30 08:41:56 2001 PDT drach

update: server/Main.java, server/Request.java
Reduce access control on selected fields and methods either to make the
class "subclassable" or to expose generally useful methods.
Fri May 25 13:08:08 2001 PDT suhler

create: sunlabs/UrlMapFilter.java, sunlabs/ExpContentTemplate.java
update: sunlabs/Makefile
Extra stuff needed to get the experimentalstuff.com site working.
- UrlMapFilter.java rewrites url's from local content for all url's that
  refer to "web mounted" resources (via the multiproxyhandler)
- ExpContentTemplate.java extends the ContentTemplate to further
  filter the "content" property using regular expressions
Thu May 24 19:55:27 2001 PDT drach

update: server/Request.java, python/PythonServerTemplate.java
(1) Count all bytes written out in Request.java
(2) <python> always needs a match </python> but it only was looking
    for match on first time trough the server
Thu May 24 10:45:55 2001 PDT suhler

update: tests/sunlabs.brazil.template.BSLTemplate.test, change-log, handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java, handlers/templates/PropsTemplate.java
- allow <foreach delim=xx> were "xx" is a regular expression
- fixed memory leak in SetTemplate
- removed over enthusiastic diagnostic generation from <property>
Wed May 23 09:21:57 2001 PDT suhler

update: change-log, handlers/templates/SetTemplate.java
SetTemplate was failing to chain namespaces onto the request properties
when they were non-existant when first encountered, but created
during a page.
Tue May 22 16:59:06 2001 PDT suhler

update: change-log, handlers/templates/BSLTemplate.java
added "all" attribute to <extract> to permit the extraction into
properties of all matches to a particular regular expression
Mon May 21 16:45:31 2001 PDT suhler

create: sunlabs/ExecTemplate.java
update: change-log, sunlabs/Makefile
Added new template "ExecTemplate" to run arbitrary "shell" command
Fri May 18 09:11:57 2001 PDT suhler

update: handlers/ConfigFileHandler.java
now works with SessionFilter as well as Cookie Handler.  There should be
a better way of "session generators" to let "session consumers" know
the status of the session.
Tue May 15 16:52:34 2001 PDT suhler

update: handlers/Makefile
I forgo to add TemplateInterface to the makefile
Tue May 15 16:49:36 2001 PDT suhler

update: change-log
added stuff
Tue May 15 16:42:02 2001 PDT suhler

update: handlers/templates/Template.java
make "debug" protected so it may be used!
Tue May 15 10:09:38 2001 PDT suhler

create: sunlabs/SubstAllTemplate.java
update: sunlabs/Makefile
added SubstAllTemplate
Mon May 14 09:02:26 2001 PDT drach

update: change-log, python/PythonServerTemplate.java
Last putback of change-log was incomplete.
Fri May 11 15:00:51 2001 PDT suhler

create: handlers/templates/TemplateInterface.java
update: handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java, handlers/templates/ModifiedTemplate.java, handlers/templates/Template.java, handlers/templates/DirectoryTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/PropsTemplate.java
Added "TemplateInterface", so templates aren't required to subclass Template.
Added convenience method in Template, debug() fo putting diagnostic info
   in the html output as comments
Changed templates to use debug() method. [Now that templates can have their
  own configuration prefixes, "debug" may be turned on/off selectively].
Fri May 11 10:42:24 2001 PDT suhler

update: handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java
"compareToIgnoreCase" doesn't exist in jdk1.1
Wed May 9 07:47:54 2001 PDT drach

update: change-log
Template tokens added.
Tue May 8 15:26:49 2001 PDT cstevens

update: handlers/templates/BSLTemplate.java
case-insensitive sorting
Mon May 7 11:24:30 2001 PDT suhler

update: handlers/templates/SetTemplate.java
Bug fix.  If no namespace was specified, then "" was used instead of the sessionID
Wed May 2 15:52:04 2001 PDT drach

create: tests/sunlabs.brazil.template.TemplateRunner.test
update: filter/TemplateFilter.java, handlers/templates/RewriteContext.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java
Added Template specific tokens, so Templates can be named and have their
own properties in a similar way to handlers and filters.

- Comments updated in TemplateFilter and TemplateHandler to say the following
  about the templates property:

  <code>templates</code>

  A list of template names.  For each name in the list, the property
  <code><i>name</i>.class</code> is examined to determine which class to
  use for each template.  Then <code>name</code> is used as the prefix
  for other template specific properties if any.  If
  <code><i>name</i>.class</code> does not exist, then <code>name</code>
  is assumed to be the class name, and there are no template specific
  properties for the template.  Methods in the template classes will be
  invoked to process the XML/HTML tags present in the content.

- TemplateFilter and TemplateHandler changed to handle the new signatures
  for TemplateRunner.<init> and TemplateRunner.process.

- Added server and prefix args to signature of TemplateRunner constructor.
  Created private instance variables to store server and prefix.  Removed
  server and prefix from TemplateRunner.process signature.  Updated
  comments.

- Added a String field to TemplateRunner.Dispatch to store the template
  specific prefix.

- Changed processing of TemplateRunner's names argument to handle tokens
  as well as class names.

- Changed TemplateRunner.process to set hr.prefix to template specific
  prefix before processing each template.

- Added comment to RewriteContext.prefix indicating that it is assigned
  a new value before processing each template.

- Added sunlabs.brazil.template.TemplateRunner.test.  It demonstrates
  that template tokens didn't work before and now work.
Tue May 1 11:03:22 2001 PDT suhler

update: session/PJamaSessionManager.java, session/PropertiesCacheManager.java, session/CacheManager.java, session/SessionManager.java
New api's for SessionManagers:
- The underlying methods are now getObj, putObj and removeObj.
- The static method getSession() is rewritten to use getObj and putObj.
- The static methods get(), put() and remove() are exposed for cases
  where getSession is not appropriate.
- Existing uses of getSession() should work without modification
Thu Apr 12 11:52:54 2001 PDT suhler

update: change-log
added changes to log
Thu Apr 12 11:35:23 2001 PDT suhler

update: tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.server.ChainHandler.test, tests/defs, tests/sunlabs.brazil.server.FileHandler.test, tests/sunlabs.brazil.server.Connection.test, tests/sunlabs.brazil.sunlabs.DateTemplate.test, server/Server.java
removed getHostname() call from server added at version1.17 for logging).
It does a reverse DNS lookup on every request, causing significant
performance degradation
Mon Apr 9 18:44:56 2001 PDT suhler

update: handlers/templates/TemplateRunner.java, handlers/templates/NoImageTemplate.java, filter/PlainFilter.java
S. Drach bugs
- Template runner mishandled _xx constructs in method names
- Typo in NoImageTemplate
- Plain filter now uses utility method instead of private one
Fri Apr 6 09:44:52 2001 PDT suhler

update: util/http/HttpUtil.java, tests/sunlabs.brazil.util.http.HttpUtil.test, tests/sunlabs.brazil.template.PropsTemplate.test, python/python.html, python/PythonServerTemplate.java
fixed htmlEncode to match the documentation.  &<>" now encode as entity references instead of #xxx;
 
<python> now has an "eval" option to allow ${..} substitutions.  The ${..} doen't conflict with python syntax, 
and this makes it consistent with <sql>
Thu Apr 5 14:49:48 2001 PDT suhler

update: handlers/templates/SetTemplate.java
bug fix in SetTemplate
Thu Apr 5 10:14:24 2001 PDT suhler

update: change-log
SnarfTemplate
Thu Apr 5 10:07:57 2001 PDT suhler

update: sunlabs/Makefile
errant source file reference removed
Thu Apr 5 10:02:16 2001 PDT suhler

update: handlers/templates/SetTemplate.java
Don't create empty sessionManager sessions
Wed Apr 4 16:58:31 2001 PDT suhler

create: sunlabs/SnarfTemplate.java, tests/sunlabs.brazil.sunlabs.DateTemplate.test, tests/sunlabs.brazil.sunlabs.SnarfTemplate.test
update: change-log, sunlabs/Makefile, sunlabs/ClockFormat.java, sunlabs/DateTemplate.java, tests/defs, tests/Makefile, handlers/templates/BSLTemplate.java, handlers/templates/DirectoryTemplate.java, session/PropertiesCacheManager.java
- merge with colins changes
- added "SnarfTemplate" for Charles so he can control content extraction
  at a finer grain
- changed the time-base back to sec from ms
- minor doc and diagnostic message changes
Mon Apr 2 12:29:31 2001 PDT cstevens

create: samples/orgtool/iplanet/CacheTemplate.java, samples/orgtool/iplanet/docs/right.xbm, samples/orgtool/iplanet/docs/clear.html, tests/TestTemplate.java
update: change-log, samples/orgtool/iplanet/config.orgtool, samples/orgtool/iplanet/Makefile, tests/Makefile, tests/defs, tests/sunlabs.brazil.server.FileHandler.test, tests/sunlabs.brazil.template.PropsTemplate.test, tests/sunlabs.brazil.template.BSLTemplate.test, handlers/templates/BSLTemplate.java, samples/orgtool/iplanet/docs/reports.html, samples/orgtool/iplanet/docs/manager.html, samples/orgtool/iplanet/docs/employee.html
rename: samples/orgtool/iplanet/reports.html -> samples/orgtool/iplanet/docs/reports.html, samples/orgtool/iplanet/results.html -> samples/orgtool/iplanet/docs/results.html, samples/orgtool/iplanet/search.html -> samples/orgtool/iplanet/docs/search.html, samples/orgtool/iplanet/setup.tcl -> samples/orgtool/iplanet/docs/setup.tcl, samples/orgtool/iplanet/up.xbm -> samples/orgtool/iplanet/docs/up.xbm, samples/orgtool/iplanet/open.xbm -> samples/orgtool/iplanet/docs/open.xbm, samples/orgtool/iplanet/manager.html -> samples/orgtool/iplanet/docs/manager.html, samples/orgtool/iplanet/index.html -> samples/orgtool/iplanet/docs/index.html, samples/orgtool/iplanet/employee.html -> samples/orgtool/iplanet/docs/employee.html, samples/orgtool/iplanet/data.html -> samples/orgtool/iplanet/docs/data.html
BSLTemplate.java: When glob or regexp pattern had more than 20 subexpressions,
a limit was being exceeded that should have been detected, but instead was
causing an ArrayOutOfBoundsException due to an off-by-one programming error.
  
BSLTemplate.java: Add server property "${prefix}.limit" to the <while> tag to
prevent excessive recursion.  It's a server property not a request property so
accidental or malicious HTML cannot change the limit.
  
BSLTemplate.java: The <foreach> tag now creates temporary variables in a new
Properties object rather than in the main request.properties.  Seems to be a
cleaner implementation.  It took longer to (A) save any old values, set the
temporary values, and then restore the old values than to (B) push a new
Properties object that lives for the body of the <foreach>.
  
-----
iplanet orgtool:
Has some of its own utility classes (a cache) rather than just using Brazil
core classes, so it must be built and run in its directory where it can find
the utility classes.
  
Cache class used in user interface to show whether a person's reports have
further reports of their own.  Otherwise, it takes about 2 seconds/report to
fill in the reports frame.
  
-----
tests/defs: 
"array {set,get}" was not object aware, so added wrapper.
Other procedures to make writing tests easier: squish, hash.
  
tests/BSLTemplate.test: new tests for <while>, <if>, and <foreach>.
Tue Mar 27 14:52:33 2001 PDT suhler

update: handlers/templates/SetTemplate.java
> Added the ability to set and use values from alternate session tables
> with <set namespace=xxx> and <import namespace=xxx>
Mon Mar 26 11:19:36 2001 PDT suhler

update: change-log, tests/sunlabs.brazil.template.PropsTemplate.test, handlers/templates/PropsTemplate.java
added convert=html and convert=url options to <property> in the 
PropsTemplate.  Convert=html protects ", <, >, and &.  Convert=url
makes the substituted value safe for url's or query parameters
Fri Mar 23 15:06:27 2001 PDT cstevens

create: samples/orgtool/iplanet/Makefile, samples/orgtool/iplanet/FakeASessionHandler.java
update: change-log, samples/orgtool/iplanet/employee.html, samples/orgtool/iplanet/reports.html, samples/orgtool/iplanet/index.html, samples/orgtool/iplanet/manager.html, samples/orgtool/iplanet/results.html, samples/orgtool/iplanet/search.html, handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java, util/Format.java, samples/orgtool/iplanet/config.orgtool
rename: samples/orgtool/iplanet/config.ldap -> samples/orgtool/iplanet/config.orgtool
Latest changes to iPlanet orgtool.
  
BSLTemplate.java: <while> tag added to allow iterating until a property
or other condition is met.
  
SetTemplate.java:
Add "default" option to set template, based on observed usage.  <property>
has "default" option, but this is only useful if the property is going to
be substituted into HTML.  Adding "default" to <set> allows easier use of a
possibly-undefined property whose value is going to be passed to another
tag via ${...}.
  
iplanet/FakeASessionHandler.java: 
Q&D.  Evades chokepoint due to all templates mutexing on a single session
ID (previous implementation) w/o requiring that clients provided a session
ID (cookie).
Fri Mar 23 15:00:44 2001 PDT cstevens

update: ldap/LDAPTemplate.java
LDAPTemplate.java:
NullPointerException when storing LDAP information in hash table.
Theory: looking up a non-existent employee returns null.
Practice: it seems a non-null entry can be returned, but all the fields
in the entry will be null.
Fri Mar 23 14:59:59 2001 PDT cstevens

create: tests/sunlabs.brazil.template.BSLTemplate.test
update: tests/defs, tests/sunlabs.brazil.template.PropsTemplate.test
More tests.
  
defs:
Crash in Template code.  SessionManager state is accessible across Servers
if multiple Servers instantiated in same process.  New Server was getting
old Server's Templates.  Workaround provided for testing purposes, but
not a real solution.
Fri Mar 16 14:42:24 2001 PDT cstevens

create: tests/sunlabs.brazil.template.PropsTemplate.test
update: change-log, tests/all, tests/defs, handlers/templates/PropsTemplate.java, util/LexHTML.java
PropsTemplate.java:
<property name=foo default=${bar}> was inserting the literal string "${bar}"
rather than the value of the variable "bar" if the variable "foo" was 
undefined.
   
LexHTML.java:
Use Vector.indexOf() rather than iterating over the elements of a Vector
manually.
Fri Mar 16 09:05:45 2001 PDT suhler

update: README, change-log
README was hopelessly out of date
Thu Mar 15 10:49:36 2001 PDT suhler

update: handlers/HomeDirHandler.java, handlers/UrlMapperHandler.java, handlers/templates/PropsTemplate.java
Currently, if any handler changes request.url, the original url is lost, 
which is unfortunate if you want to refer to the original url.
 
Until I can figure out a better scheme, handlers that change the original url
should set the property "url.orig" if its not already set, so url "consumers"
can access either the current (request.url) or original url's.
 
The "propsTemplate" has been modified to reflect the original url instead of
the current url, which (I hope) is the right behavior most of the time.
 
(This *temporary* change will allow the research.sun.com site to work
 properly when using the HomeDirectoryHandler)
Thu Mar 15 10:18:45 2001 PDT suhler

update: session/PropertiesCacheManager.java
Don't save out empty sessions, prune them instead
Tue Mar 13 15:35:54 2001 PDT cstevens

update: change-log, util/LexHTML.java
re: Tags with special body syntax (like <script> or <style>)
-- Given "<script></script>" (with nothing between the "<script>"
   and the "</script>"), parser was not seeing "</script>" and
   it was grabbing the entire rest of the document as the body of
   the script tag.
-- Singleton "<script src=foo />" will now also work.
Tue Mar 13 15:14:41 2001 PDT cstevens

create: tests/sunlabs.brazil.handler.BasicAuthHandler.test
update: tests/all, tests/defs, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.server.FileHandler.test, handlers/BasicAuthHandler.java
Documentation for test suite in defs file.
  
BasicAuthHandler.java - test suite found a bug!
Tue Mar 13 15:12:52 2001 PDT cstevens

update: samples/ldap/employee.html, samples/ldap/setup.tcl
base orgtool, not iplanet version.  Should be moved to a different place.
Tue Mar 13 15:11:52 2001 PDT cstevens

update: tcl/TclServerTemplate.java
Extra debuging information if there is a problem running the init script.
Tue Mar 13 09:46:23 2001 PDT suhler

update: handlers/CgiHandler.java
added comments to show how to fix "CHDIR" bug when running under jdk1.3
Tue Mar 13 09:19:12 2001 PDT suhler

update: handlers/CgiHandler.java
Return "server error" upon cgi failure
Mon Mar 12 17:40:26 2001 PDT cstevens

create: tests/TestRequest.java
update: server/Connection.java, server/FileHandler.java, server/Request.java, server/Server.java, change-log, tests/Makefile, tests/all, tests/defs, tests/sunlabs.brazil.util.http.HttpInputStream.test, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.util.http.MimeHeaders.test, tests/sunlabs.brazil.util.StringMap.test, tests/sunlabs.brazil.server.FileHandler.test
New testing style: creating handler objects and calling methods directly 
(instead of creating a server and having it create the handler object) so
I can then access the methods and fields of the handler object directly.
Thu Mar 8 16:02:14 2001 PDT cstevens

update: handlers/HtmlRewriter.java, util/LexML.java
Handle singleton HTML tags like <br/> or <a name=foo/>.  Before, these 
forms were interpreted incorrectly as the "br/" tag or the value "foo/".
Tue Mar 6 16:33:28 2001 PDT suhler

update: change-log
added entries for latest putback
Tue Mar 6 11:27:08 2001 PDT suhler

create: tcl/TclRePollHandler.java, handlers/RePollHandler.java
update: Makefile, fixJavadocHtml.tcl, tcl/Makefile, tcl/TclServerTemplate.java, sunlabs/ClockFormat.java, sunlabs/DateTemplate.java, handlers/RestrictClientHandler.java, handlers/Makefile, handlers/PollHandler.java, handlers/templates/TemplateHandler.java, explode/props.tcl
- Modified ClockFormat/DateTemplate to accept an optional
  timezone argument
- Changed TclServerTemplate to accept <tcl>...</tcl> and to
  start the interp on first use (instead of at init time)
- Added RePollHandler and TclRePoll handler to experiment with
  modifying remotely retrieved content
- Added a "redirect" capability to RestrictClientHandler
- TemplateHandler checks to insure the url suffix is a valid mime type
- Fixes to documentation generation
Tue Mar 6 11:17:11 2001 PDT suhler

update: server/Request.java
ChangedVector.add() to Vector.addElement() for compatibility with java 1.1.
Tue Mar 6 10:43:22 2001 PDT cstevens

delete: deleted_files/handlers/templates/NewTemplate.java, deleted_files/handlers/templates/NewTemplate2.java, experimentalstuff/html/dir/another/deep/index.html, experimentalstuff/html/dir/another/index.html, experimentalstuff/html/dir/data.html, experimentalstuff/html/dir/index.html, experimentalstuff/html/index.html, experimentalstuff/html/init.tcl, experimentalstuff/html/help.html, experimentalstuff/html/admin/customize.html, experimentalstuff/html/admin/favorites.html, experimentalstuff/html/admin/main.template, experimentalstuff/html/admin/missing.html, experimentalstuff/html/admin/highlight.html, experimentalstuff/html/technology/index.html, experimentalstuff/html/projects/index.html, experimentalstuff/html/downloads/bits.tar, experimentalstuff/html/downloads/download.html, experimentalstuff/html/downloads/index.html, experimentalstuff/html/images/b.gif, experimentalstuff/html/images/crayol2.gif, experimentalstuff/html/images/home07.gif, experimentalstuff/html/images/exp_stuff1.jpg, experimentalstuff/html/images/exp_stuff2.jpg, experimentalstuff/html/images/exp_stuff3.jpg, experimentalstuff/html/images/exp_stuff4.jpg, experimentalstuff/html/images/exp_stuff5.jpg, experimentalstuff/html/images/exp_stuff6.jpg, experimentalstuff/html/images/keybord1.gif, experimentalstuff/html/images/notepad.gif, experimentalstuff/html/images/palett1.gif, experimentalstuff/html/images/rolodex1.gif, experimentalstuff/html/images/search.gif, experimentalstuff/html/images/sunlogo.gif, experimentalstuff/html/images/writit1.gif, experimentalstuff/html/images/main.css, experimentalstuff/html/images/logo-small.gif, experimentalstuff/html/testing/debug.html, experimentalstuff/html/testing/index.html, experimentalstuff/html/testing/download.html, experimentalstuff/html/testing/headers.html, experimentalstuff/html/testing/test.html, experimentalstuff/config, experimentalstuff/config.log, deleted_files/alphaworks/html/config
admin/favorites.html
.deleted_files/experimentalstuff/html/admin/highlight.html
.deleted_files/experimentalstuff/html/admin/customize.html
.deleted_files/experimentalstuff/html/admin/main.template
.deleted_files/experimentalstuff/html/admin/missing.html
.deleted_files/experimentalstuff/html/technology
.deleted_files/experimentalstuff/html/technology/index.html
.deleted_files/experimentalstuff/html/index.html
.deleted_files/experimentalstuff/html/init.tcl
.deleted_files/experimentalstuff/html/help.html
.deleted_files/experimentalstuff/html/projects
.deleted_files/experimentalstuff/html/projects/index.html
.deleted_files/experimentalstuff/html/downloads
.deleted_files/experimentalstuff/html/downloads/index.html
.deleted_files/experimentalstuff/html/downloads/bits.tar
.deleted_files/experimentalstuff/html/downloads/download.html
.deleted_files/experimentalstuff/html/images
.deleted_files/experimentalstuff/html/images/palett1.gif
.deleted_files/experimentalstuff/html/images/search.gif
.deleted_files/experimentalstuff/html/images/b.gif
.deleted_files/experimentalstuff/html/images/crayol2.gif
.deleted_files/experimentalstuff/html/images/home07.gif
.deleted_files/experimentalstuff/html/images/exp_stuff1.jpg
.deleted_files/experimentalstuff/html/images/exp_stuff2.jpg
.deleted_files/experimentalstuff/html/images/exp_stuff3.jpg
.deleted_files/experimentalstuff/html/images/exp_stuff4.jpg
.deleted_files/experimentalstuff/html/images/exp_stuff5.jpg
.deleted_files/experimentalstuff/html/images/keybord1.gif
.deleted_files/experimentalstuff/html/images/exp_stuff6.jpg
.deleted_files/experimentalstuff/html/images/rolodex1.gif
.deleted_files/experimentalstuff/html/images/sunlogo.gif
.deleted_files/experimentalstuff/html/images/notepad.gif
.deleted_files/experimentalstuff/html/images/main.css
.deleted_files/experimentalstuff/html/images/logo-small.gif
.deleted_files/experimentalstuff/html/images/writit1.gif
.deleted_files/experimentalstuff/html/testing
.deleted_files/experimentalstuff/html/testing/download.html
.deleted_files/experimentalstuff/html/testing/debug.html
.deleted_files/experimentalstuff/html/testing/test.html
.deleted_files/experimentalstuff/html/testing/index.html
.deleted_files/experimentalstuff/html/testing/headers.html
.deleted_files/experimentalstuff/config.log
.deleted_files/experimentalstuff/config
.deleted_files/alphaworks
.deleted_files/alphaworks/html
.deleted_files/alphaworks/html/config
Mon Mar 5 16:21:36 2001 PDT cstevens

update: server/ChainHandler.java, server/Request.java, server/Server.java, tests/Makefile, tests/defs, tests/sunlabs.brazil.util.http.HttpInputStream.test, tests/sunlabs.brazil.server.Connection.test, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.util.http.HttpUtil.test, tests/sunlabs.brazil.util.StringMap.test, tests/sunlabs.brazil.server.FileHandler.test, tests/sunlabs.brazil.server.ChainHandler.test
Test suite:
1. Timeout during request gave error "null 408 Timeout".  Should be
"HTTP/1.1 408 Timeout"
2. "make" in tests directory makes brazil and runs tests suite.
Mon Mar 5 13:56:46 2001 PDT cstevens

update: samples/orgtool/iplanet/setup.tcl
Suggested changes:
Allow search for "A B" to mean employee whose records contain both A and B.
(Previously, no boolean searching, and "A B" meant literal "A" "space" "B".)
  
Don't show AOL or SUN employee numbers in search results.
Tue Feb 27 10:58:49 2001 PDT suhler

update: sunlabs/Makefile, sunlabs/ClockFormat.java, sunlabs/DateTemplate.java
Put ClockFormat and DateTemplate back into "makefile"
added "timezone" option to ClockFormat
added timezone option to DateTemplate
Tue Feb 27 10:55:08 2001 PDT suhler

update: handlers/templates/DirectoryTemplate.java
- tag attribute syntax changed <filelist prefix=nnn stats>
- aded "Stats" attribute to provide last mod and file size info
Tue Feb 20 17:27:53 2001 PDT cstevens

update: samples/orgtool/iplanet/employee.html
handle "file:/foo" as a valid URL type in employee record.
Tue Feb 20 17:07:51 2001 PDT cstevens

update: server/Request.java, handlers/ConfigFileHandler.java, handlers/DynamicConfigHandler.java, handlers/templates/BSLTemplate.java, handlers/templates/SetTemplate.java
Remove RechainableProperties from Request.  In order to insert shared 
Properties objects, use request.addSharedProps() instead of manually 
rechaining the properties using props.setDefaults().
Tue Feb 20 17:03:47 2001 PDT cstevens

update: tini/PTServe.java, tini/Server.java
PTServe.java: PickleTalk (in progress).
Tue Feb 20 17:00:48 2001 PDT cstevens

create: samples/orgtool/iplanet/data.html, samples/orgtool/iplanet/config.ldap, samples/orgtool/iplanet/employee.html, samples/orgtool/iplanet/reports.html, samples/orgtool/iplanet/index.html, samples/orgtool/iplanet/manager.html, samples/orgtool/iplanet/open.xbm, samples/orgtool/iplanet/setup.tcl, samples/orgtool/iplanet/results.html, samples/orgtool/iplanet/search.html, samples/orgtool/iplanet/up.xbm
update: ldap/LDAPTemplate.java
LDAPTemplate.java: 
explicitly release LDAP connection rather than waiting for GC to
get it, or can run out of file descriptors.
  
samples/orgtool/iplanet/*: iPlanet's orgtool.
Mon Feb 19 10:49:57 2001 PDT suhler

update: change-log, handlers/HomeDirHandler.java, filter/ReplaceFilter.java
fix handling of "root" property:
  HomeDirHandler can specify name of root property
  ReplaceFilter looks in "prefix.root", then "root".
Wed Jan 24 11:57:50 2001 PDT cstevens

create: tini/DecodeGe2.java, tini/PTServe.java, tini/camera.a51, tini/camera.java
update: tini/Makefile, tini/README
PickleTalk: avoids slush and ready to put on open network.
See README for uploading and IP instructions.
Tue Jan 16 17:52:28 2001 PDT suhler

update: util/LexML.java, server/Main.java, handlers/GenericProxyHandler.java
- fixed bug in LexML.java with unterminated comments
- Fixed bug in GenericProxyHandler.java that was causing the thread to hang.
Sun Jan 14 15:04:21 2001 PDT suhler

update: change-log


Sun Jan 14 14:55:01 2001 PDT suhler

update: handlers/SMTPHandler.java, handlers/LogHandler.java, handlers/templates/BSLTemplate.java, filter/FilterHandler.java, filter/SessionFilter.java, ldap/LDAPTemplate.java
- doc fixes
- make more fields public, for easier scripting
Fri Jan 12 17:52:41 2001 PDT suhler

create: ldap/Makefile
You forgot to checkin the ldap Makefile
Fri Jan 12 16:51:25 2001 PDT cstevens

update: Makefile, samples/ldap/config.ldap, handlers/Makefile, ldap/LDAPTemplate.java
rename: handlers/templates/LDAPTemplate.java -> ldap/LDAPTemplate.java
Documentation for LDAPTemplate, and moved it to sunlabs.brazil.ldap package.
Fri Jan 12 08:25:49 2001 PDT suhler

update: handlers/BasicAuthHandler.java, handlers/templates/LDAPTemplate.java
- BasicAuthHandler.java: make map table public, to allow scipting
- LDAPTemplate.java: remove wildcard imports
Thu Jan 11 18:44:16 2001 PDT cstevens

update: handlers/templates/BSLTemplate.java
<extract> tag for BSL
Thu Jan 11 17:34:37 2001 PDT cstevens

create: samples/ldap/config.ldap, samples/ldap/data.html, samples/ldap/employee.html, samples/ldap/index.html, samples/ldap/manager.html, samples/ldap/orgtool.html, samples/ldap/reports.html, samples/ldap/results.html, samples/ldap/search.html, samples/ldap/setup.tcl, samples/ldap/blank.xbm, samples/ldap/close.xbm, samples/ldap/last.xbm, samples/ldap/line.xbm, samples/ldap/more.xbm, samples/ldap/open.xbm, samples/ldap/up.xbm, samples/ldap/vert.xbm, handlers/templates/LDAPTemplate.java
update: Makefile, samples/CookieProxy/config.cookie, tini/PT.java, tini/Makefile, tini/Ge.java, handlers/Makefile, util/Format.java
LDAPTemplate and the samples/ldap directory.
Tue Jan 9 22:26:40 2001 PDT suhler

update: change-log, Makefile
updated change-log
Sun Jan 7 22:36:31 2001 PDT suhler

update: server/FileHandler.java, server/Makefile
FileHandler now supports simple byte ranges of the form:
   range:bytes=start-end
where either start or end may be missing
Sun Jan 7 19:25:27 2001 PDT suhler

update: util/Format.java, util/Base64.java
- Escape ${...} with $\{...\} in Format.subst()
- add a rudimentary base64 decoder to Base64.java
Fri Jan 5 11:56:33 2001 PDT suhler

update: handlers/AclSwitchHandler.java, handlers/BasicAuthHandler.java
documentation fixes
Wed Dec 27 12:24:02 2000 PDT suhler

update: handlers/MapPage.java, handlers/HtmlRewriter.java, handlers/templates/ContentTemplate.java
- doc fixes to MapPage
- HtmlRewriter.accumulate() now returns previous setting
- ContentTemplate rewrite
Sat Dec 23 13:33:35 2000 PDT suhler

update: handlers/MultiProxyHandler.java, handlers/MapPage.java
Make the MultiProxy url mapping table public, and allow
MapPage to take a (null) prefix.  These minor changes allow
a filter to be written easily that will apply the Proxy url rewriting
on non-proxied content.
Fri Dec 22 10:44:57 2000 PDT suhler

update: change-log
added RestrictClientHandler
Thu Dec 21 11:35:29 2000 PDT suhler

create: handlers/RestrictClientHandler.java
update: handlers/Makefile, handlers/UrlMapperHandler.java
- New handler to allow conditional access to URL's based on client ip addresses
- Allow ${...} substitutions in replacement strings for the UrlMapperHandler,
  permitting sessionbased rewriting of url's
Thu Dec 14 17:49:20 2000 PDT suhler

update: handlers/PollHandler.java
Added the ability to fetch as url on a cron-like schedule
Wed Dec 13 12:43:57 2000 PDT suhler

create: handlers/PollHandler.java
update: change-log, handlers/Makefile
added PollHandler to periodically fetch java/properties from a remote
web site and stuff them into the server properties
Tue Dec 12 13:05:08 2000 PDT suhler

create: explode/props.tcl, experimentalstuff/html/testing/index.html
update: Makefile, util/Format.java, proxy/ProxyHandler.java, proxy/CookieFilter.java, proxy/HistoryFilter.java, proxy/JunkBusterHandler.java, handlers/templates/SetTemplate.java, experimentalstuff/html/index.html, experimentalstuff/html/init.tcl, experimentalstuff/html/help.html, experimentalstuff/html/downloads/download.html, experimentalstuff/config, experimentalstuff/html/testing/debug.html, experimentalstuff/html/testing/download.html, experimentalstuff/html/testing/headers.html, experimentalstuff/html/admin/customize.html, experimentalstuff/html/admin/favorites.html, experimentalstuff/html/admin/main.template, experimentalstuff/html/admin/highlight.html
rename: experimentalstuff/html/debug.html -> experimentalstuff/html/testing/debug.html, experimentalstuff/html/download.html -> experimentalstuff/html/testing/download.html, experimentalstuff/html/headers.html -> experimentalstuff/html/testing/headers.html, experimentalstuff/html/test.html -> experimentalstuff/html/testing/test.html, experimentalstuff/html/customize.html -> experimentalstuff/html/admin/customize.html, experimentalstuff/html/favorites.html -> experimentalstuff/html/admin/favorites.html, experimentalstuff/html/main.template -> experimentalstuff/html/admin/main.template, experimentalstuff/html/missing.html -> experimentalstuff/html/admin/missing.html, experimentalstuff/html/highlight.html -> experimentalstuff/html/admin/highlight.html
Changed the default behavior of the SetTemplate to use
a persistent namespace.
- "persist" is gone, its now the default
- "local" is used to set a variable for the duration of the request only
Mon Dec 11 20:26:53 2000 PDT suhler

update: handlers/ChainSawHandler.java, handlers/SunNetAuthHandler.java, handlers/DirectoryHandler.java, handlers/LogHandler.java, handlers/templates/FormClientTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/DirectoryTemplate.java, handlers/templates/HighlightTemplate.java
fix typos in javadocs.
The java-doc generators now create:
   /handler_options.html
which is an alphabetized summary of all handler options.
Mon Dec 11 13:34:50 2000 PDT suhler

update: handlers/AclSwitchHandler.java, handlers/GenericProxyHandler.java, handlers/CgiHandler.java, handlers/HomeDirHandler.java, handlers/SupplyHandler.java, handlers/PublishHandler.java, handlers/BasicAuthHandler.java, handlers/ChainSawHandler.java, handlers/ResourceHandler.java, handlers/UrlMapperHandler.java, handlers/NotFoundHandler.java, handlers/SunNetAuthHandler.java, handlers/DialogHandler.java, handlers/DirectoryHandler.java, handlers/PushHandler.java, handlers/ConfigFileHandler.java, handlers/MultiHostHandler.java, handlers/SMTPHandler.java, handlers/ProxyPropertiesHandler.java, handlers/DynamicConfigHandler.java, handlers/CookieSessionHandler.java, handlers/DeferredHandler.java, handlers/LogHandler.java, handlers/DefaultFileHandler.java, handlers/PropertiesHandler.java, handlers/templates/PropsTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/TemplateHandler.java, handlers/templates/DirectoryTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/BSLTemplate.java, handlers/templates/ChangedTemplate.java, handlers/templates/UrlNavBarTemplate.java, handlers/templates/HighlightTemplate.java, handlers/templates/SetTemplate.java, handlers/templates/DebugTemplate.java, handlers/templates/ModifiedTemplate.java, server/ChainHandler.java, server/FileHandler.java, sunlabs/ServerProcess.java, sunlabs/ChownHandler.java, sql/SqlTemplate.java, tcl/TclHandler.java, tcl/TclServerTemplate.java, tcl/TclFilter.java, python/PythonServerTemplate.java, session/SerialPersist.java, session/CacheManager.java, session/PropertiesCacheManager.java, filter/PlainFilter.java, filter/TemplateFilter.java, filter/ReplaceFilter.java, filter/CopyContentFilter.java, filter/FilterHandler.java, filter/SessionFilter.java
All handler properties are now described in the class
javadoc comments with syntax of the form:
   <dl class=props>   ....... </dl>
to allow automatic extraction of properties options
Fri Dec 8 16:49:55 2000 PDT suhler

update: change-log, handlers/ChainSawHandler.java, handlers/UrlMapperHandler.java, handlers/SunNetAuthHandler.java, handlers/CookieSessionHandler.java, handlers/LogHandler.java, filter/TemplateFilter.java, filter/FilterHandler.java, filter/UrlSessionFilter.java, session/SessionManager.java, session/PropertiesCacheManager.java, session/SerializableCacheManager.java
- added exitOnError flag to TemplateFilter
- doc fixes
Tue Dec 5 13:38:11 2000 PDT suhler

create: experimentalstuff/config.log
Sample config file to demonstrate how the LogHandler works
Tue Dec 5 13:18:54 2000 PDT suhler

create: handlers/LogHandler.java
update: change-log, server/Request.java, util/Format.java, handlers/Makefile, handlers/ChainSawHandler.java, handlers/templates/SetTemplate.java
- added LogHandler to generate custom log files
  + added accessor methods to Request for logging
  + changed Format.subst to take Dictionary instead of PRoperties
  + changed bytesWritten to per request instead of per connection
- lint
Mon Dec 4 09:19:51 2000 PDT suhler

update: change-log
added stuff
Mon Dec 4 08:58:41 2000 PDT suhler

update: server/Main.java
Added -S flag to Main.java to permit ${..} substitutions on property values
Mon Dec 4 08:46:48 2000 PDT suhler

update: handlers/MapPage.java, handlers/templates/ContentTemplate.java, experimentalstuff/html/main.template, experimentalstuff/html/customize.html, experimentalstuff/html/index.html, experimentalstuff/html/favorites.html, experimentalstuff/config
bug fixes to ContentTemplate and MapPage
new color processing for exp stuff
Tue Nov 28 10:16:29 2000 PDT suhler

update: handlers/templates/PropsTemplate.java, handlers/templates/TemplateHandler.java, filter/TemplateFilter.java
- added client ip address to PropsTemplate
- Changed log-level for filter init failures
Mon Nov 27 22:44:20 2000 PDT suhler

rename: alphaworks/html/dir/another/deep/index.html -> experimentalstuff/html/dir/another/deep/index.html, alphaworks/html/dir/another/index.html -> experimentalstuff/html/dir/another/index.html, alphaworks/html/dir/data.html -> experimentalstuff/html/dir/data.html, alphaworks/html/dir/index.html -> experimentalstuff/html/dir/index.html, alphaworks/html/main.template -> experimentalstuff/html/main.template, alphaworks/html/debug.html -> experimentalstuff/html/debug.html, alphaworks/html/customize.html -> experimentalstuff/html/customize.html, alphaworks/html/index.html -> experimentalstuff/html/index.html, alphaworks/html/favorites.html -> experimentalstuff/html/favorites.html, alphaworks/html/highlight.html -> experimentalstuff/html/highlight.html, alphaworks/html/missing.html -> experimentalstuff/html/missing.html, alphaworks/html/test.html -> experimentalstuff/html/test.html, alphaworks/html/init.tcl -> experimentalstuff/html/init.tcl, alphaworks/html/download.html -> experimentalstuff/html/download.html, alphaworks/html/help.html -> experimentalstuff/html/help.html, alphaworks/html/headers.html -> experimentalstuff/html/headers.html, alphaworks/html/technology/index.html -> experimentalstuff/html/technology/index.html, alphaworks/html/projects/index.html -> experimentalstuff/html/projects/index.html, alphaworks/html/downloads/bits.tar -> experimentalstuff/html/downloads/bits.tar, alphaworks/html/downloads/download.html -> experimentalstuff/html/downloads/download.html, alphaworks/html/downloads/index.html -> experimentalstuff/html/downloads/index.html, alphaworks/html/images/b.gif -> experimentalstuff/html/images/b.gif, alphaworks/html/images/crayol2.gif -> experimentalstuff/html/images/crayol2.gif, alphaworks/html/images/home07.gif -> experimentalstuff/html/images/home07.gif, alphaworks/html/images/exp_stuff1.jpg -> experimentalstuff/html/images/exp_stuff1.jpg, alphaworks/html/images/exp_stuff2.jpg -> experimentalstuff/html/images/exp_stuff2.jpg, alphaworks/html/images/exp_stuff3.jpg -> experimentalstuff/html/images/exp_stuff3.jpg, alphaworks/html/images/exp_stuff4.jpg -> experimentalstuff/html/images/exp_stuff4.jpg, alphaworks/html/images/exp_stuff5.jpg -> experimentalstuff/html/images/exp_stuff5.jpg, alphaworks/html/images/exp_stuff6.jpg -> experimentalstuff/html/images/exp_stuff6.jpg, alphaworks/html/images/keybord1.gif -> experimentalstuff/html/images/keybord1.gif, alphaworks/html/images/notepad.gif -> experimentalstuff/html/images/notepad.gif, alphaworks/html/images/palett1.gif -> experimentalstuff/html/images/palett1.gif, alphaworks/html/images/rolodex1.gif -> experimentalstuff/html/images/rolodex1.gif, alphaworks/html/images/search.gif -> experimentalstuff/html/images/search.gif, alphaworks/html/images/sunlogo.gif -> experimentalstuff/html/images/sunlogo.gif, alphaworks/html/images/writit1.gif -> experimentalstuff/html/images/writit1.gif, alphaworks/html/images/main.css -> experimentalstuff/html/images/main.css, alphaworks/html/images/logo-small.gif -> experimentalstuff/html/images/logo-small.gif, alphaworks/config -> experimentalstuff/config
rename alphaworks to experimentalstuff
Mon Nov 27 22:38:35 2000 PDT suhler

create: deleted_files/alphaworks/html/config, alphaworks/html/images/main.css, alphaworks/html/images/logo-small.gif
update: filter/SessionFilter.java, alphaworks/html/main.template, alphaworks/html/customize.html, alphaworks/html/index.html, alphaworks/html/favorites.html, alphaworks/html/highlight.html, alphaworks/html/missing.html, alphaworks/html/help.html, alphaworks/html/images/b.gif, alphaworks/html/images/crayol2.gif, alphaworks/html/images/home07.gif, alphaworks/html/images/exp_stuff1.jpg, alphaworks/html/images/exp_stuff2.jpg, alphaworks/html/images/exp_stuff3.jpg, alphaworks/html/images/notepad.gif, alphaworks/html/images/rolodex1.gif, alphaworks/html/images/search.gif, alphaworks/html/images/writit1.gif, alphaworks/config
- changed SessionFilter to handle htmlified plain text files
- fixed up alphaworks
Tue Nov 21 13:29:26 2000 PDT suhler

create: alphaworks/html/dir/another/deep/index.html, alphaworks/html/dir/another/index.html, alphaworks/html/dir/data.html, alphaworks/html/dir/index.html, alphaworks/html/download.html, alphaworks/html/help.html, alphaworks/html/headers.html, alphaworks/html/technology/index.html, alphaworks/html/projects/index.html, alphaworks/html/downloads/bits.tar, alphaworks/html/downloads/download.html, alphaworks/html/downloads/index.html
update: change-log, handlers/templates/AddHeaderTemplate.java, handlers/templates/TemplateRunner.java, alphaworks/html/main.template, alphaworks/html/customize.html, alphaworks/html/index.html, alphaworks/html/favorites.html, alphaworks/html/highlight.html, alphaworks/html/missing.html, alphaworks/config
- AddHeader template works with "location headers", allowing in-page
  redirects
- TemplateRunner generates better diagnostics
- next "pass" at alphaworks site sample
Mon Nov 20 13:35:09 2000 PDT suhler

update: filter/SessionFilter.java, session/PropertiesCacheManager.java, handlers/MapPage.java, handlers/ConfigFileHandler.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/HighlightTemplate.java, handlers/templates/SetTemplate.java, handlers/templates/DebugTemplate.java, handlers/templates/ModifiedTemplate.java, server/Request.java, util/http/HttpUtil.java
Documnetation fixes only
see http://hack.eng:8082/ for the lastest version
Sun Nov 19 10:33:52 2000 PDT suhler

create: handlers/templates/ModifiedTemplate.java
update: handlers/Makefile, handlers/templates/DebugTemplate.java, change-log, server/FileHandler.java, util/http/HttpUtil.java
Added "ModifiedTemplate" to allow template re-writing to keep track
of last-modified times of documents better.
Fri Nov 17 09:45:03 2000 PDT suhler

update: filter/SessionFilter.java
remove spurious debug printf's
Fri Nov 17 09:42:24 2000 PDT suhler

create: handlers/templates/DebugTemplate.java
update: handlers/Makefile, handlers/templates/AddHeaderTemplate.java, change-log
- new template to allow printf like debugging of html templates
- better support for mime header manipulation from html templates
Thu Nov 16 11:56:56 2000 PDT suhler

update: session/PropertiesCacheManager.java
Fixed typo (duh!)
Thu Nov 16 11:28:30 2000 PDT suhler

update: handlers/templates/HighlightTemplate.java
performance enhancement.  Allow all processing to be skipped
if no highlighting is required
Thu Nov 16 10:40:47 2000 PDT suhler

create: session/PropertiesCacheManager.java
update: change-log, handlers/Makefile, handlers/templates/HighlightTemplate.java, handlers/templates/SetTemplate.java, session/CacheManager.java, session/SerializableCacheManager.java
- Highlight template supports finer control over highlightable regions
- SetTemplate now works in conjuction with the SetTemplate installed
  as a handler, mostly obsoleting the functionallity of the ConfigFileHandler, 
  especiall when used with one of the persistent session thinkies
- PropertiesCacheManager, a new handler/sessionManager, provides 
  rudimentary persistence for session state stored in java Properties
Wed Nov 15 09:59:00 2000 PDT suhler

create: alphaworks/html/main.template, alphaworks/html/debug.html, alphaworks/html/customize.html, alphaworks/html/index.html, alphaworks/html/favorites.html, alphaworks/html/highlight.html, alphaworks/html/missing.html, alphaworks/html/test.html, alphaworks/html/init.tcl, alphaworks/html/images/b.gif, alphaworks/html/images/crayol2.gif, alphaworks/html/images/home07.gif, alphaworks/html/images/exp_stuff1.jpg, alphaworks/html/images/exp_stuff2.jpg, alphaworks/html/images/exp_stuff3.jpg, alphaworks/html/images/exp_stuff4.jpg, alphaworks/html/images/exp_stuff5.jpg, alphaworks/html/images/exp_stuff6.jpg, alphaworks/html/images/keybord1.gif, alphaworks/html/images/notepad.gif, alphaworks/html/images/palett1.gif, alphaworks/html/images/rolodex1.gif, alphaworks/html/images/search.gif, alphaworks/html/images/sunlogo.gif, alphaworks/html/images/writit1.gif, alphaworks/config
update: tcl/TclServerTemplate.java, handlers/templates/HighlightTemplate.java, handlers/templates/SetTemplate.java, server/Request.java, filter/ReplaceFilter.java, filter/FilterHandler.java, filter/SessionFilter.java
- first pass at alphaworks website setup
- start-of-request timestamps added
- replace filter gets "debug flag": it rereades the template each request
- filterHandler gets better diagnostics
- SessionFilter re-do
- SetTemplate is also a handler - persistent properties may be shared
Tue Nov 14 14:58:04 2000 PDT suhler

update: handlers/ProxyPropertiesHandler.java
Added primitive URL mapping.
Mon Nov 13 22:20:51 2000 PDT suhler

update: handlers/MapPage.java
added <layer src=...> to the list of html entries that are urls
Mon Nov 6 10:56:24 2000 PDT suhler

create: session/SerializableCacheManager.java
update: Makefile, change-log, util/regexp/Regexp.java, util/Base64.java, proxy/ProxyHandler.java, sunlabs/ChownHandler.java, handlers/CgiHandler.java, handlers/Makefile, handlers/UrlMapperHandler.java, handlers/DirectoryHandler.java, handlers/HtmlRewriter.java, handlers/ProxyPropertiesHandler.java, handlers/PropertiesHandler.java, handlers/templates/FormTemplate.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/HighlightTemplate.java, server/ChainHandler.java, server/Server.java, session/SerialPersist.java, session/CacheManager.java
- lots of little doc fixes
- make more templates serializable
- added SerializableCacheManager.java, which combines CacheManager and
  SerialPersist.  The integration of Persistence and Session managers
  needs to be re-thought
Sun Nov 5 20:35:07 2000 PDT suhler

update: filter/SessionFilter.java
Added better redirect behavior; its now invisible to browser users.
If the user accepts the cookie, the normal stuff happens.  If not, the
sessionId gets tacked onto the url instead
Sat Nov 4 19:32:53 2000 PDT suhler

create: filter/SessionFilter.java
update: filter/Makefile, filter/PlainFilter.java, filter/config-session
> Added SessionFilter, which is a combination of the CookieSessionHandler
> and UrlSessionFilter.  It tries to use browser cookies to manage
> sessions (like the CookieSessionHandler), but if cookies don't work,
> it encodes and extract the session id's from the urls
>
> see config-session for a simple config file to test this out
Fri Oct 27 09:35:40 2000 PDT suhler

update: session/SerialPersist.java
added "save" option to serialPersist
Fri Oct 27 08:31:58 2000 PDT suhler

create: FAQ
update: change-log, handlers/templates/PropsTemplate.java, handlers/templates/BSLTemplate.java, handlers/templates/ChangedTemplate.java, handlers/templates/SetTemplate.java
made more templates serializable so they work with the serial-persist
session manager
Wed Oct 25 20:34:43 2000 PDT suhler

create: handlers/templates/SetTemplate.java
update: handlers/Makefile, handlers/templates/TemplateHandler.java, change-log
Fixed bug in TemplateHandler that caused it not to find the session ids, 
preventing each session from getting its own template instance.
 
Added SetTemplate, that supports <set name=xxx value=yyy [persist]>
to allow templates to set properties, possibly persisting across sessions.
For general purpose programming, a scripting language should be used.
This is for common simple cases.
Fri Oct 20 15:46:44 2000 PDT suhler

update: handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java, filter/TemplateFilter.java, change-log
There was a race condition in TemplateRunner.  After calling process()
and before calling getContent(), another thread could blow away the
content.
 
Removed getContent(), and make process() return the content (or null)
Tue Oct 17 21:39:18 2000 PDT suhler

update: handlers/templates/HighlightTemplate.java
bug fixes
Tue Oct 17 09:37:13 2000 PDT suhler

update: server/ChainHandler.java, server/FileHandler.java, server/Server.java, change-log, sunlabs/ChownHandler.java
- Added "exitOnError" property that causes the server to exit if any
  handlers fail to initialize.  This aids in debugging complex
  server configurations, where the failure of a single handler to start
  is easy to overlook.
- Added "prefix" property to fileHandler.  For some reason, it was missing.
  This provides the equivalent functionallity to the apache "alias"
  function
Mon Oct 16 13:40:38 2000 PDT suhler

create: handlers/templates/HighlightTemplate.java
update: handlers/Makefile, handlers/templates/TemplateRunner.java, change-log
- modified TemplateRunner to enhance method access to document
- Added HighlightTemplate to rewrite html/xml based on regular expressions
Mon Oct 9 11:56:06 2000 PDT suhler

create: diff.tcl, change-log
update: Makefile
Created a change-log file to document all significant changes made to 
Brazil/naws since the "public" release.  *Please* keep this file up to date.
 
Added a make target and tcl script to make it easier to extract info for
the change-log file from the sccs files.
Mon Oct 9 11:03:48 2000 PDT suhler

update: handlers/templates/UrlNavBarTemplate.java
added includeDir option to include a nav bar entry for url's that
end in /
Fri Oct 6 16:04:42 2000 PDT suhler

update: python/PythonServerTemplate.java
Fixed init bug that caused a failure on 1st request.
- if log=5, tracebacks are generated on python internal errors
Fri Oct 6 15:14:34 2000 PDT suhler

update: proxy/CookieFilter.java
removed dead code
Fri Oct 6 11:11:01 2000 PDT suhler

update: fixJavadocHtml.tcl, tini/Makefile, handlers/BasicAuthHandler.java, handlers/ResourceHandler.java, handlers/bsl3.html, handlers/config-test/form1.html, server/Request.java, session/CacheManager.java
Integrate Colin's changes
- BasicAuthHandler - subst() move
- ResourceHandler - subst() move
- Request.java - remove dead code
- CachManager - remove printf's
Thu Oct 5 21:18:32 2000 PDT suhler

update: handlers/CgiHandler.java
fix "array out of bounds" exception when cgi script generates 
bogus output
Thu Oct 5 21:14:34 2000 PDT suhler

create: de-log.tcl
Tcl script that changes log messages (level 4 and 5) into comments, 
thus removing the overhead of computing the log messages
Thu Oct 5 15:48:18 2000 PDT cstevens

create: tini/PT.java
update: tcl/TclServerTemplate.java, samples/CookieProxy/blockfile, filter/UrlSessionFilter.java, tini/DecodeGe.java, tini/Makefile, tini/Server.java, tests/Makefile, sql/SqlTemplate.java, handlers/ResourceHandler.java, handlers/UrlMapperHandler.java, handlers/templates/PropsTemplate.java, handlers/templates/BSLTemplate.java, util/Format.java
PropsTemplate.subst() and PropsTemplate.getProperty() moved to the Format
class.
Thu Oct 5 14:48:02 2000 PDT suhler

update: filter/TemplateFilter.java
added "subtype" parameter to allow other mime subtypes other than html to
be processed (still needs to be text/?? though).
Thu Oct 5 11:15:58 2000 PDT suhler

update: handlers/templates/ContentTemplate.java
ContentTemplate now looks at HTTP-EQUIV meta tags, and places the 
corrosponding entry into the request headers
Thu Oct 5 11:09:55 2000 PDT suhler

update: handlers/ConfigFileHandler.java, handlers/UrlMapperHandler.java, handlers/AclSwitchHandler.java
Misc. handler updates
- ConfigFileHandler can update properties that match a pattern, even if
  they are not in the default config file (which is now optional)
- UrlMapperHandler can export sub-matches of the url to request props
- AclSwitchHandler can use regular expression patterns instead of url
  prefixes to match credentials
Thu Oct 5 09:28:12 2000 PDT suhler

update: Makefile
add "sunlabs" to list of buildable directories.
This contains the ChownHandler that uses the native code from the
JavaWebServer(tm) to allow the server to chown() and chgrp() itself
Thu Oct 5 09:19:44 2000 PDT suhler

update: server/FileHandler.java
fixed bug delivering non-readable files
Thu Oct 5 09:03:59 2000 PDT suhler

create: sunlabs/ChownHandler.java
update: sunlabs/Makefile, sunlabs/ServerProcess.java
Moved sunlabs required functionallity out of the special "main" program,
and into the "ChownHandler", so the sunlabs web site can use the 
standard jar file
Wed Sep 13 14:53:02 2000 PDT suhler

update: Makefile
Added build for python
Wed Sep 13 14:50:22 2000 PDT suhler

create: python/Makefile
update: tcl/Makefile, python/python.html, python/config.python, python/PythonServerTemplate.java
rename: tcl/python.html -> python/python.html, tcl/config.python -> python/config.python, tcl/PythonServerTemplate.java -> python/PythonServerTemplate.java
Moved python template into python directory
note: still has unresolved initilaization issues
Fri Sep 8 19:41:33 2000 PDT suhler

update: tcl/config.python, tcl/PythonServerTemplate.java, tcl/Makefile, tcl/python.html
- added python handler to Makefile
- fixed handler so "print" statements in the python code are interted into the html document
- changed example (python.config python.html) to demonstrate getting and setting server properties
Fri Sep 8 18:16:29 2000 PDT suhler

create: tcl/config.python, tcl/PythonServerTemplate.java
see previous putback (I can't type)
This is *TEMPORARILY* in the TCL directory 'cause I copied the implementation from the
TCL template
Fri Sep 8 18:14:40 2000 PDT suhler

create: tcl/python.html
update: tcl/Makefile
first pass at a python template.
- need to hack python jar file to capture the return value
- uses the jpython.jar file in jarslibsdlls
Mon Aug 28 08:36:27 2000 PDT suhler

create: handlers/PropertiesHandler.java
update: handlers/Makefile
Added PropertiesHandler.
Returns selected request properties as text/plain documents
Fri Aug 25 14:39:03 2000 PDT suhler

create: session/CacheManager.java
update: handlers/Makefile
New SessionManager (installable as a handler)
that uses a pool of hashtables to prevent the number of sessions
from growing without bound.
 
It uses a simplified toss-least-used algorithm
Wed Aug 16 12:14:00 2000 PDT suhler

create: handlers/DefaultFileHandler.java
update: handlers/Makefile
New handler to deal with url's that end in '/'
Mon Jul 17 16:04:18 2000 PDT suhler

create: tini/DecodeGe.java, tini/Ge.java, tini/Makefile, tini/README, tini/Random.java, tini/Run.java, tini/Server.java, tini/Split.java, tini/Tini.java
delete: tini/ExtensionFileFilter.java, tini/JavaKit.java
Added java code for tini board:
- fridge.eng code
- sample tini web based development environment
Wed Jul 12 15:52:35 2000 PDT cstevens

update: proxy/CookieFilter.java
Put documentation in the code describing the problem with the Cookie header:
   
> Blank characters at end of "Cookie" HTTP header were causing some HTTP servers
> to be confused and generate an error return.  Specifically, this seemed to
> happen to Microsoft-IIS HTTP servers when issuing a POST to an .asp file.
Wed Jul 12 14:11:00 2000 PDT cstevens

update: proxy/CookieFilter.java
Blank characters at end of "Cookie" HTTP header were causing some HTTP servers
to be confused and generate an error return.  Specifically, this seemed to
happen to Microsoft-IIS HTTP servers when issuing a POST to an .asp file.
Tue Jul 11 11:18:40 2000 PDT cstevens

update: request/HttpRequest.java
Some servers send "HTTP/1.0 100 Continue" in response to an HTTP/1.1 POST!
Mon Jul 10 15:47:50 2000 PDT cstevens

update: server/Main.java, handlers/ResourceHandler.java
delete: blockfile, ad.gif
Main.main() and ResourceHandler.getResourceStream() didn't work under
Windows due to platform-dependant file names.  Class.getResourceAsStream()
requires '/' as separator, while File.getParent() requires '\'.  Added code
to turn '/' into '\' and vice versa as necessary.  Both methods now accept
either '\' or '/' in file names and/or resource names.
Fri Jul 7 17:03:15 2000 PDT suhler

update: proxy/CookieFilter.java, tcl/TclFilter.java, sunlabs/Makefile, handlers/RolesHandler.java, handlers/MapPage.java, handlers/SMTPHandler.java, handlers/templates/NoImageTemplate.java, handlers/templates/ChangedTemplate.java, sql/SqlTemplate.java, server/Request.java, filter/UrlSessionFilter.java
removed  System.out.println(s)
Fri Jul 7 15:33:59 2000 PDT suhler

update: handlers/templates/DirectoryTemplate.java, handlers/templates/UrlNavBarTemplate.java, sql/SqlTemplate.java
doc changes (mostly)
Fri Jul 7 10:19:47 2000 PDT suhler

create: handlers/bsl4.html
Added sample demonstrating BSL using ${} on if and foreach, and sort key
Thu Jul 6 18:00:44 2000 PDT suhler

update: handlers/templates/DirectoryTemplate.java
bug fix - only worked on 1st page
Also works as a handler
Thu Jul 6 16:05:20 2000 PDT suhler

update: tcl/TclServerTemplate.java, handlers/DirectoryHandler.java, handlers/templates/RewriteContext.java, handlers/templates/DirectoryTemplate.java, handlers/templates/TemplateRunner.java, handlers/templates/BSLTemplate.java, sql/SqlTemplate.java, server/Request.java
doc fixes for [] -> ${} change
Thu Jul 6 14:58:32 2000 PDT cstevens

update: request/HttpRequest.java
Although HTTP/1.1 chunking spec says that there is one "\r\n" between
chunks, some servers (for example, maps.yahoo.com) may send more than one
blank line between chunks.  So, read and skip all the blank lines seen
between chunks.
Thu Jul 6 13:08:54 2000 PDT suhler

create: handlers/bsl3.html
update: samples/misc/sql.html
- fixed sql test case to use new ${} syntax
- added test case for the DirectoryTemplate
Thu Jul 6 11:32:08 2000 PDT cstevens

update: samples/Palm/nametool/search.html, samples/CookieProxy/cookies.html, samples/CookieProxy/history.html, samples/misc/sql.html, sql/index.html, handlers/templates/PropsTemplate.java, handlers/templates/BSLTemplate.java
Replace "[xxx]" syntax for embedded property names with "${xxx}" syntax,
since "[" and "]" were already used by "glob=" and "match=" in BSL.  Escaping
the "[" characters was uglier than expected, and "${}" syntax matches how
the csh, sh, Tcl, and make parsers reference variables.
Wed Jul 5 16:30:29 2000 PDT suhler

create: handlers/templates/DirectoryTemplate.java
update: handlers/Makefile
Added a "DirectoryTemplate" that (hopefully) obsoletes the DirectoryHandler
and works better with BSL
Wed Jul 5 14:17:27 2000 PDT cstevens

update: server/Server.java, tcl/TclServerTemplate.java, samples/CookieProxy/register/register.html, samples/CookieProxy/blockfile, samples/CookieProxy/config.cookie, filter/TemplateFilter.java, handlers/BasicAuthHandler.java, handlers/ResourceHandler.java, handlers/templates/PropsTemplate.java, handlers/templates/RewriteContext.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java, handlers/templates/BSLTemplate.java
Server object is in RewriteContext used by templates, so templates (such as
the TclServerTemplate) can be initialized with the server and prefix, similar
to how Handlers are initialized.
  
BasicAuthHandler was giving misleading error message indicating that it
couldn't load the mapfile even if no mapfile was specified.
  
PropsTemplate and BSLTemplate allow '[' and ']' to specify a variable
substitution wherever a constant was used before.  For example, as in
'<if name=stock value="[favorite]">' to compare the value of property "stock"
not to the constant "[favorite]", but to the value of the property "favorite".
In order to include a literal "[" in an option, use "\[" -- a backslash
escapes the following character, whatever it is.
  
TclServerTemplate can load init script from resource fork or file system.
TclServerTemplate passes "server" and "prefix" to init script.
Thu Jun 29 11:46:56 2000 PDT suhler

create: protect.tcl, explode/samples.html
update: Makefile, label.tcl, tcl/TclServerTemplate.java, sunlabs/FrameSetTemplate.java, sunlabs/Makefile, sunlabs/DateTemplate.java, handlers/Makefile, handlers/ChainSawHandler.java, handlers/UrlMapperHandler.java, handlers/templates/RewriteContext.java, handlers/templates/BSLTemplate.java, server/Request.java, samples/misc/sql.cfg
interim changes
Wed Jun 28 16:18:59 2000 PDT cstevens

update: handlers/templates/PropsTemplate.java
If "name=" was misspelled in <property> tag, NullPointerException.
Tue Jun 20 09:00:30 2000 PDT suhler

update: handlers/templates/PropsTemplate.java
added a couple more properties by default, including the url and the method
Tue Jun 20 07:39:45 2000 PDT suhler

update: tcl/TclServerTemplate.java
expose handler prefix.
expose request and prefix to init script
Mon Jun 5 11:23:18 2000 PDT suhler

update: handlers/UrlMapperHandler.java, handlers/BasicAuthHandler.java
doc fixes
Fri Jun 2 14:58:36 2000 PDT suhler

create: handlers/config.publish
new sample config
Fri Jun 2 14:21:59 2000 PDT suhler

create: samples/misc/sql.cfg, samples/misc/sql.html
added sample sql config
Fri Jun 2 09:21:20 2000 PDT suhler

create: label.tcl, TERMS, ge/doc_root/program.html
update: util/regexp/Regexp.java, util/PJwrapper.java, util/LexHTML.java, util/LexML.java, util/Base64.java, proxy/UseProxy.java, proxy/SunProxy.java, proxy/Makefile, proxy/CookieFilter.java, proxy/HistoryFilter.java, proxy/JunkBusterHandler.java, tcl/TclHandler.java, tcl/TclTemplateChannel.java, tcl/TclServerTemplate.java, tcl/TclFilter.java, handlers/AclSwitchHandler.java, handlers/GenericProxyHandler.java, handlers/CgiHandler.java, handlers/HomeDirHandler.java, handlers/ReflectHandler.java, handlers/PublishHandler.java, handlers/Makefile, handlers/ResourceHandler.java, handlers/DialogHandler.java, handlers/config.sample, handlers/DirectoryHandler.java, handlers/PushHandler.java, handlers/MapPage.java, handlers/ConfigFileHandler.java, handlers/SMTPHandler.java, handlers/CookieSessionHandler.java, handlers/templates/CountTemplate.java, handlers/templates/README, handlers/templates/RedirectTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/NoImageTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/TOCTemplate.java, handlers/templates/Template.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java, handlers/templates/BSLTemplate.java, handlers/templates/ChangedTemplate.java, handlers/templates/UrlNavBarTemplate.java, ge/doc_root/preferences/default.cfg, ge/doc_root/ge.tcl, ge/doc_root/set.html, ge/doc_root/register.html, ge/doc_root/status.html, ge/doc_root/fridge/ge/GetStatus.html, ge/doc_root/fridge/ge/GetStatusL.html, ge/doc_root/fridge/ge/GetStatusX.html, ge/doc_root/fridge/ge/GetStatusState.html, ge/Makefile, ge/config.ge, sql/SqlTemplate.java, server/Request.java, server/Server.java, samples/CookieProxy/blockfile, samples/CookieProxy/config.cookie, samples/portal/configure/README, samples/portal/configure/configure.html, samples/portal/Makefile, samples/portal/README, samples/portal/config, filter/Filter.java, filter/PlainFilter.java, filter/TemplateFilter.java, filter/ReplaceFilter.java, filter/CopyContentFilter.java, filter/UrlSessionFilter.java, session/SerialPersist.java, session/PJamaSessionManager.java, handlers/BasicAuthHandler.java, handlers/templates/RewriteContext.java
rename: handlers/BasicSessionHandler.java -> handlers/BasicAuthHandler.java, handlers/templates/HtmlRewriter.java -> handlers/templates/RewriteContext.java
- cleaned up lots of documentation
- renamed HtmlRewrite ->RewriteContext and BasicSessionHandler->BasicAuthHandler
- rewrote PublishHandler, restoring the old semantics
Thu Jun 1 15:16:14 2000 PDT suhler

update: Makefile
moved stuff out of makefile.common to here
Thu Jun 1 15:15:15 2000 PDT suhler

update: fixJavadocHtml.tcl


Wed May 24 11:36:50 2000 PDT suhler

create: handlers/templates/UrlNavBarTemplate.java
update: util/Makefile, util/LexHTML.java, handlers/AclSwitchHandler.java, handlers/CgiHandler.java, handlers/Makefile, handlers/ResourceHandler.java, handlers/PushHandler.java, handlers/MapPage.java, handlers/ConfigFileHandler.java, handlers/UrlMapperHandler.java, handlers/MultiHostHandler.java, handlers/BasicSessionHandler.java, handlers/DeferredHandler.java, handlers/templates/RedirectTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/TOCTemplate.java, handlers/templates/HtmlRewriter.java, handlers/templates/TemplateHandler.java, handlers/templates/BSLTemplate.java
- filters were processing content type incorrectly, by not handling (options)
  trailing parameters.
- Changed the way the TOC and UrlNavBar templates return properties, for
  better integration with BSL
- added javadoc comments
- added better logging diagnostics
Fri May 19 11:55:45 2000 PDT suhler

update: handlers/AclSwitchHandler.java, handlers/RolesHandler.java, handlers/ResourceHandler.java, handlers/UrlMapperHandler.java, handlers/BasicSessionHandler.java, handlers/templates/FormTemplate.java, tcl/TclFilter.java, sql/SqlTemplate.java, sql/index.html
- doc fixes.  JavaDocs now build with no warnings
- BasicSessionHandler, AclSwitchHandler, and Roles handler work again
Wed May 17 10:39:27 2000 PDT suhler

update: server/Main.java, server/Server.java
Main:
- documentation for "root" resolution behavior
- the "jar" file is searched for config files if not found in filesystem
- The server class can be specified as a property
Server
- null constructor allows servers to be created with newInstance()
Mon May 15 15:36:17 2000 PDT cstevens

update: server/Main.java
"root" property was being resolved w.r.t. the wrong base path.  The 
"root" property is now combined with the base path of the config file that
specified that "root", not with the base path of the last config file seen
(which might be in a different directory).
  
If the "root" property is specified on the command line after the config file,
then that property still wins and is used as is.
Mon May 15 12:05:00 2000 PDT suhler

update: server/Connection.java, server/Request.java, server/Makefile, handlers/ConfigFileHandler.java, handlers/UrlMapperHandler.java
Fixed chaining in ConfigFileHandler (needed to change Connection,Request too)
Removed unneeded server dependencies
Mon May 15 10:14:09 2000 PDT suhler

update: handlers/NotFoundHandler.java, server/FileHandler.java, handlers/templates/TemplateHandler.java
added diagnostics to indicate where files are found
removed options from filehandler
 - deny: use UrlMapperHandler
 - request: use FilterHandler
removed unused bufSize from sendFile
Fri May 12 16:20:02 2000 PDT suhler

create: handlers/DeferredHandler.java
update: handlers/Makefile
created new "deferred handler" that initializes another handler, but
only when it is first needed.  Also provides for class dependency
checking, eliminating Class Not Found errors.
Fri May 12 15:25:24 2000 PDT suhler

update: handlers/ConfigFileHandler.java
Removed property chaining, restoring the old copying behaviour.
until I can figure out whats broken
Fri May 12 10:58:22 2000 PDT suhler

update: handlers/templates/TemplateHandler.java
- removed cookie processing cofde: usa a sessionHandler instead
- removed undocumented "handler" option: use the TemplateFilter instead
Wed May 10 16:31:55 2000 PDT suhler

create: handlers/dir.template, handlers/config.new_dir
update: handlers/DirectoryHandler.java, handlers/ConfigFileHandler.java, handlers/ProxyPropertiesHandler.java, handlers/templates/PropsTemplate.java, handlers/templates/BSLTemplate.java
- added "setProps" option to DirectoryHandler to allow results
  to be placed in the request properties (see config.new_dir)
- Added "delim=" option to BSL <foreach list|property..> to specify
  token delimiters in property lists
- Changed PRoxyProperties handler to allow prefixes to be added before
  data is placed into properties
- Changed configFileHandler to use ChainedPRoperties
- Added config file to test new DirectoryHandler properties
Wed May 10 10:48:01 2000 PDT suhler

update: sql/config, sql/SqlTemplate.java, sql/index.html
updated documentation, added connection re-tries
Mon May 8 17:38:35 2000 PDT suhler

create: sql/Makefile, sql/README, sql/config, sql/SqlTemplate.java, sql/index.html
1st pass SQL template using jdbc and mySql
Mon May 8 13:37:58 2000 PDT cstevens

update: samples/Palm/pqa/index.html, samples/Palm/concept/config.concept
stuff for running samples for Palm.
Wed May 3 11:33:00 2000 PDT cstevens

update: filter/TemplateFilter.java
bugs when converting from using "Cookie" header to using Session ID.
Mon May 1 14:55:43 2000 PDT suhler

update: proxy/HistoryFilter.java, handlers/ProxyPropertiesHandler.java
doc fixes so pdf generation succeeds
Fri Apr 28 11:35:38 2000 PDT suhler

create: samples/portal/configure/preferences/default.cfg, samples/portal/configure/README, samples/portal/configure/set.html, samples/portal/configure/default.template, samples/portal/configure/print.template, samples/portal/configure/configure.html, samples/portal/Makefile, samples/portal/README, samples/portal/config
added sample portal configuration
Fri Apr 28 10:04:03 2000 PDT suhler

update: handlers/BasicSessionHandler.java, handlers/CookieSessionHandler.java, handlers/templates/FormTemplate.java
the "gotCookie" property, used by the ConfigFileHandler got lost
in the shuffle, I added it back in.
 
FormTemplate wasn't handling radio buttons properly
Thu Apr 27 16:02:38 2000 PDT cstevens

update: handlers/templates/PropsTemplate.java, handlers/templates/BSLTemplate.java
sorting properties in <foreach> tag.  Not currently documented, putback so
people can try it.
Thu Apr 27 13:24:15 2000 PDT suhler

update: filter/Makefile, filter/TemplateFilter.java
doc fixes
Wed Apr 26 16:49:11 2000 PDT suhler

update: util/Format.java, tcl/Makefile, handlers/templates/PropsTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/BSLTemplate.java
fixed DEPENDS in Makefiles, added javadoc comments
Mon Apr 24 15:55:23 2000 PDT cstevens

create: tcl/TclUtil.java
update: proxy/CookieFilter.java, proxy/HistoryFilter.java, Makefile, server/FileHandler.java, tcl/TclHandler.java, tcl/Makefile, samples/Palm/nametool/config.nametool, samples/Palm/nametool/search.html, samples/CookieProxy/config.cookie, filter/Filter.java, filter/Makefile, filter/TemplateFilter.java, tests/TestHandler.java, tests/TestServer.java, tests/TestInputStream.java, handlers/ResourceHandler.java, handlers/CookieSessionHandler.java, tcl/TclFilter.java, filter/UrlSessionFilter.java
rename: filter/TclFilter.java -> tcl/TclFilter.java, filter/SessionFilter.java -> filter/UrlSessionFilter.java
delete: samples/Palm/nametool/NametoolHandler.java
CookieFilter:
A separate "Cookie" header was sent for each cookie being sent to the target.
Yahoo Mail requires all cookies sent in a request to concatenated together in
a single "Cookie" header.
  
TclFilter, TclHandler:
Moved to sunlabs.brazil.tcl package.
  
SessionFilter -> UrlSessionFilter
  
UrlSessionFilter:
correctly handles returning URLs with "#" in them.
  
Palm/nametool: eliminate NametoolHandler.java, which was just to grep the
"nameslistx" file for matching employees.  Do search directly from the
<server language=tcl> script.
Fri Apr 21 10:36:06 2000 PDT suhler

update: handlers/Makefile
delete: handlers/templates/NewTemplate.java, handlers/templates/NewTemplate2.java
removed redundant templates
Fri Apr 21 10:07:35 2000 PDT suhler

update: Makefile, sunlabs/Makefile, handlers/Makefile, handlers/DialogHandler.java, ge/Makefile
minor fixes to Makefiles to account for new name changes
Thu Apr 20 13:14:28 2000 PDT cstevens

update: Makefile, tcl/TclServerTemplate.java, samples/Palm/nametool/config.nametool, samples/CookieProxy/config.cookie, handlers/AclSwitchHandler.java, handlers/GenericProxyHandler.java, handlers/CgiHandler.java, handlers/PushHandler.java, handlers/HomeDirHandler.java, handlers/ReflectHandler.java, handlers/MultiProxyHandler.java, handlers/SupplyHandler.java, handlers/ProxyPropertiesHandler.java, handlers/config.sample, handlers/NotFoundHandler.java, handlers/RolesHandler.java, handlers/Makefile, handlers/DialogHandler.java, handlers/DirectoryHandler.java, handlers/PublishHandler.java, handlers/ChainSawHandler.java, handlers/ConfigFileHandler.java, handlers/VirtualHostHandler.java, handlers/ResourceHandler.java, handlers/SMTPHandler.java, handlers/UrlMapperHandler.java, util/Base64.java, samples/Palm/nametool/NametoolHandler.java, handlers/BasicSessionHandler.java, handlers/CookieSessionHandler.java
rename: handlers/NametoolHandler.java -> samples/Palm/nametool/NametoolHandler.java, handlers/AuthHandler.java -> handlers/BasicSessionHandler.java, handlers/SessionHandler.java -> handlers/CookieSessionHandler.java
1. Restore MapPage.java
  
2. Add copyright notices to (most of) the handlers.
  
3. Rename AuthHandler to BasicSessionHandler.
   Rename SessionHandler to CookieSessionHandler.
   (update your config files.)
Wed Apr 19 12:16:33 2000 PDT cstevens

update: handlers/Makefile
Don't compile SerialPersist unless sun.misc classes needed are available
Mon Apr 17 16:43:44 2000 PDT cstevens

create: proxy/CookieFilter.java, proxy/HistoryFilter.java, proxy/JunkBusterHandler.java, blockfile, ad.gif, samples/Palm/nametool/config.nametool, samples/Palm/nametool/index.html, samples/Palm/nametool/search.html, samples/Palm/pqa/config.pqa, samples/Palm/pqa/index.html, samples/Palm/concept/concept.tcl, samples/Palm/concept/file.tcl, samples/Palm/concept/config.concept, samples/Palm/concept/index.html, samples/CookieProxy/register/index.html, samples/CookieProxy/register/register.html, samples/CookieProxy/ad.gif, samples/CookieProxy/blockfile, samples/CookieProxy/config.cookie, samples/CookieProxy/cookies.html, samples/CookieProxy/history.html, samples/CookieProxy/index.html, .deleted_files/proxy/BookMarkHandler.java, session/PJamaSessionManager.java, util/Format.java, util/Base64.java
update: proxy/ProxyHandler.java, proxy/ProxyHandler.java, proxy/SunProxy.java, proxy/Makefile, Makefile, config.proxy, server/ChainHandler.java, server/Main.java, server/Request.java, server/Server.java, server/Makefile, tcl/TclHandler.java, tcl/Makefile, tcl/TclServerTemplate.java, tests/defs, tests/sunlabs.brazil.server.FileHandler.test, tests/sunlabs.brazil.server.ChainHandler.test, ge/config.ge, handlers/AclSwitchHandler.java, handlers/AuthHandler.java, handlers/GenericProxyHandler.java, handlers/PushHandler.java, handlers/HomeDirHandler.java, handlers/ReflectHandler.java, handlers/SunNetAuthHandler.java, handlers/Makefile, handlers/PublishHandler.java, handlers/ChainSawHandler.java, handlers/config.bsl, handlers/ConfigFileHandler.java, handlers/ResourceHandler.java, handlers/UrlMapperHandler.java, handlers/DynamicConfigHandler.java, handlers/templates/PropsTemplate.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java, handlers/templates/BSLTemplate.java, handlers/templates/ChangedTemplate.java, util/Makefile, util/StringMap.java, util/SocketFactory.java, util/http/HttpInputStream.java, util/http/HttpUtil.java, filter/Filter.java, filter/Makefile, filter/config, filter/config2, filter/TemplateFilter.java, filter/TclFilter.java, filter/config-session, filter/config3, filter/config-large, filter/config.copy, filter/CopyContentFilter.java, filter/FilterHandler.java, .deleted_files/proxy/FilterProxyHandler.java, session/SerialPersist.java, session/Makefile, session/SessionManager.java
rename: tail/doc/index.html -> filter/doc/index.html, tail/doc/sample.txt -> filter/doc/sample.txt, tail/doc/a.html -> filter/doc/a.html, tail/doc/b.html -> filter/doc/b.html, tail/doc/h1.html -> filter/doc/h1.html, tail/doc/missing.html -> filter/doc/missing.html, tail/doc/line1.jpg -> filter/doc/line1.jpg, tail/doc/logo.gif -> filter/doc/logo.gif, tail/doc/de-link.tcl -> filter/doc/de-link.tcl, tail/Filter.java -> filter/Filter.java, tail/Makefile -> filter/Makefile, tail/README -> filter/README, tail/PlainFilter.java -> filter/PlainFilter.java, tail/config -> filter/config, tail/config2 -> filter/config2, tail/TemplateFilter.java -> filter/TemplateFilter.java, tail/TclFilter.java -> filter/TclFilter.java, tail/config-session -> filter/config-session, tail/SessionFilter.java -> filter/SessionFilter.java, tail/config3 -> filter/config3, tail/ReplaceFilter.java -> filter/ReplaceFilter.java, tail/config-large -> filter/config-large, tail/config.copy -> filter/config.copy, tail/CopyContentFilter.java -> filter/CopyContentFilter.java, tail/TailHandler.java -> filter/FilterHandler.java, serializable-persistence/SessionManager.java -> session/SerialPersist.java, serializable-persistence/Makefile -> session/Makefile, handlers/SessionManager.java -> session/SessionManager.java
delete: proxy/FilterProxyHandler.java, serializable-persistence/Main.java, serializable-persistence/index.html, serializable-persistence/default.cfg, serializable-persistence/config.broken, serializable-persistence/config, serializable-persistence/README, serializable-persistence/broken.html, server/SampleHandler.java
Basic documentation was missing for Server, ChainHandler, Request
  
Request.java: 
1. Made request Properties a rechainable Properties object.
2. Replaced DataOutputStream with HttpOutputStream.
  
Rename "tail" directory and TailHandler.java to "filter" directory and
FilterHandler.java.
  
FilterHandler.java:
1. configuration property "wrap" -> "handler"
2. configuration property "filter" -> "filters"
3. Now that the HTTP response headers is a first-class object, rewrote
   FilterHandler so that it doesn't have to re-extract the headers from the
   output stream of the wrapped handler.
4. Disable chunked encoding before requesting data that will be filtered.
  
TemplateHandler.java, TemplateFilter.java:
1. configuration property "templateClass" -> "templates"
  
AuthHandler.java:
1. Handles authentication via 401 or 407 (Proxy-Authentication).
  
ResourceHandler.java:
1. Exposes public method to get contents of files from the resource file.
  
DynamicConfigHandler.java
1. Uses rechainable Properties object to insert new Server properties behind
   the Request properties before dispatching to the wrapped handler's respond
   method.
  
HttpInputStream.java:
1. Streaming media didn't work because data from server wasn't flushed to
   client until the end of the request.
  
CookieMonster renamed to CookieFilter.
  
CookieFilter.java: 
1. converted to a Filter; as a Filter, the CookieFilter can use an
   arbitrary authentication scheme and be combined with any number of other
   content filters.  
2. uses SessionManager to hold cookies instead of accessing PJama directly.
  
PropsTemplate.java:
1. exposes public method to parse and dereference composed property
   names (using the '[' and ']' characters).  Method is used by BSLTemplate.
  
SessionManager.java rewritten to allow runtime selection of different
SessionManagers.  Now specific session manager can be chosen in the "init=
" line of the config file.  Previously, had to compile various files that
all impersonated "sunlabs.brazil.handler.SessionManager" and set classpath
to point to the desired one.  Now there are three implementations of the
SessionManager:  
1. SessionManager:      Default session manager, no persistence.
2. PJamaSessionManager: Using PJama.
3. SerialPersist:       Using Serializable and ObjectOutputStream.
Tue Mar 14 09:58:52 2000 PDT cstevens

update: Makefile
Didn't mean to put this file back yet.  Removed changes that are preventing
compiling with rest of naws.
Mon Mar 13 16:59:22 2000 PDT cstevens

update: handlers/NametoolHandler.java
some more comments on the NametoolHandler
Wed Mar 8 09:50:57 2000 PDT cstevens

delete: deleted_files/pcsdemo/config.demo-win32-dal-legacy, deleted_files/pcsdemo/config.demo-win32-sm1, deleted_files/pcsdemo/run, deleted_files/pcsdemo/config.demo-devices, deleted_files/pcsdemo/config.demo-devices-client-unix, deleted_files/pcsdemo/config.demo-devices-client-windows, deleted_files/pcsdemo/config.demo-devices-server-unix, deleted_files/pcsdemo/config.demo-devices-server-windows, deleted_files/pcsdemo/startandtail, deleted_files/pcsdemo/doc/demo/commerce/receipt.html, deleted_files/util/TimedThread.java, deleted_files/handlers/HtmlMunge.java, deleted_files/handlers/QueryHandler.java, deleted_files/handlers/RemoteNetscapeHandler.java, deleted_files/services/ci/doc/config.initial
hide deleted files.
Mon Mar 6 14:16:45 2000 PDT cstevens

create: handlers/NametoolHandler.java, handlers/DynamicConfigHandler.java
update: server/ChainHandler.java, handlers/Makefile, handlers/DirectoryHandler.java, handlers/ResourceHandler.java, handlers/templates/PropsTemplate.java
NametoolHandler.java:
Round 1.
  
DynamicConfigHandler.java:
Round 1.
  
DirectoryHandler.java:
NullPointerException if directory had no files in it or was not readable.
  
ResourceHandler.java:
NullPointerException if file resource was not found in .jar file
  
PropsTemplate.java:
Use pattern of the form [XXX] to substitute in the value of a property in
the middle of another property in the <property> tag.
  
ChainHandler.java:
If handler threw an exception while being initialized by ChainHandler, the
ChainHandler would print an error message, but subsequently still dispatch
HTTP requests to it.
Sun Feb 27 19:53:10 2000 PDT suhler

create: proxy/FilterProxyHandler.java
update: Makefile, ps.template, fixJavadocHtml.tcl, proxy/ProxyHandler.java, proxy/Makefile, tini-env/config.tini, handlers/GenericProxyHandler.java, handlers/NotFoundHandler.java, handlers/MapPage.java, handlers/UrlMapperHandler.java
- fixed proxyHandler
- added FilterProxyHandler to provide a simple add-removing proxy
- patched bugs in the GenericProxyHandler where headers weren't
  being processed properly
- doc changes and minor fixes
Wed Feb 16 11:51:52 2000 PDT suhler

create: tail/config.copy, tail/CopyContentFilter.java
update: tail/Makefile
added filter to copy the contents of a web site
Tue Feb 15 17:25:12 2000 PDT suhler

update: tail/TailHandler.java, tail/TemplateFilter.java, tail/TclFilter.java, proxy/SunProxy.java, tcl/TclServerTemplate.java, server/ChainHandler.java, handlers/GenericProxyHandler.java, handlers/MultiProxyHandler.java, handlers/MapPage.java, handlers/ConfigFileHandler.java, handlers/templates/IncludeTemplate.java, handlers/templates/Template.java, handlers/templates/TemplateRunner.java
minor changes do to the GE demo
- virtual hosts can now be mounted at /
- loggin messages changes
- template runner now handles comment tags
- configFileHandler glob matching for "set" fixed
Tue Feb 15 17:23:12 2000 PDT suhler

create: tini-env/tini/README, tini-env/tini/kill.html, tini-env/tini/chmod.html, tini-env/tini/getext.html, tini-env/tini/ls.html, tini-env/tini/ps.html, tini-env/tini/mkdir.html, tini-env/tini/put.html, tini-env/tini/ram.html, tini-env/tini/rm.html, tini-env/tini/version.html, tini-env/micro/README, tini-env/micro/Tini.java, tini-env/micro/Server.java, tini-env/README, tini-env/dops.html, tini-env/bottom.html, tini-env/config.tini, tini-env/put.html, tini-env/index.html, tini-env/middle.html, tini-env/run, tini-env/top.html
added the Brazil tini development environment to the workspace
Tue Feb 15 12:49:32 2000 PDT suhler

update: ge/doc_root/ge.tcl, ge/doc_root/init.tcl, ge/doc_root/fridge/ge/GetStatus.html
added documentation, re-did "register" button
Mon Feb 14 15:01:25 2000 PDT suhler

create: handlers/UrlMapperHandler.java
update: handlers/Makefile
Handler to rempa or redirect url's based on regular expressions
Fri Feb 11 12:37:19 2000 PDT suhler

create: ge/doc_root/preferences/README, ge/doc_root/preferences/default.cfg, ge/doc_root/ge.tcl, ge/doc_root/set.html, ge/doc_root/conf.html, ge/doc_root/what.html, ge/doc_root/register.html, ge/doc_root/status.html, ge/doc_root/init.tcl, ge/doc_root/README, ge/doc_root/agenda.html, ge/doc_root/graph.html, ge/doc_root/test.html, ge/doc_root/schematic.html, ge/doc_root/care.pdf, ge/doc_root/fridge/ge/GetStatus.html, ge/doc_root/fridge/ge/GetStatusL.html, ge/doc_root/fridge/ge/GetStatusX.html, ge/doc_root/fridge/ge/GetStatusState.html, ge/doc_root/fridge/ge/README, ge/README, ge/Makefile, ge/config.ge, ge/gemeeting.ppt
The GE refrigerator demo
Mon Feb 7 11:36:27 2000 PDT cstevens

update: handlers/templates/BSLTemplate.java
If </if> was missing, BSL template got a null-pointer exception.
Fri Feb 4 14:08:39 2000 PDT suhler

update: serializable-persistence/Makefile, serializable-persistence/SessionManager.java
??
Wed Feb 2 16:28:37 2000 PDT suhler

create: pJama/Main.java, pJama/Makefile, pJama/README, pJama/config, pJama/SessionManager.java, pJama/config.broken, pJama/broken.html, pJama/index.html, pJama/default.cfg, pJama/run
pJama version of persistent state
Wed Feb 2 14:52:20 2000 PDT suhler

update: handlers/GenericProxyHandler.java, handlers/MultiProxyHandler.java, handlers/MapPage.java, handlers/ProxyPropertiesHandler.java, handlers/templates/ContentTemplate.java
fixed bugs in multiproxyhandler
- other sites can now be mounted at "/"
- added debuggin to url rewriting (use log>5)
can now specify content type for proxyProperties to handler
ContentTemplate now deals with javascript in the document "head"
Wed Feb 2 09:45:41 2000 PDT suhler

create: serializable-persistence/default.cfg
forgot this one!
Wed Feb 2 09:38:16 2000 PDT suhler

update: handlers/templates/BSLTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/PropsTemplate.java
Claim these 3 templates are serializable
This allow us to test the experimental serializing persistent session
handler
Wed Feb 2 10:15:46 2000 EDT rinaldo

create: services/pkcs/PKCSHandler.java, services/pkcs/SSLServer.java, services/pkcs/Makefile, services/pkcs/config, services/pkcs/config.test, services/pkcs/doc/q1, services/pkcs/doc/PKCSHandler.java.html, services/pkcs/doc/index.html, services/pkcs/doc/overview.html, services/pkcs/doc/p11src.zip, services/pkcs/doc/spec.html, services/pkcs/doc/JavaCardRSA.java.html
update: pcsdemo/dist/brazilall.iap, pcsdemo/Makefile, pcsdemo/config.demo-client, pcsdemo/config.demo-server, pcsdemo/config.smartcards, pcsdemo/doc/demo/commerce/shipupdate.form, pcsdemo/doc/demo/commerce/receipt.form, pcsdemo/doc/demo/atm/accounts.txt, pcsdemo/doc/demo/frbanner.html, pcsdemo/doc/demo/frbannerleft.form, pcsdemo/doc/demo/frbannerright.html, pcsdemo/doc/demo/index.html, pcsdemo/doc/demo/personalize/webcard.html, pcsdemo/doc/js/managecard.js, pcsdemo/doc/welcome.html, services/signjar/Makefile, services/ci/doc/frcontent.html, services/ci/doc/index.html, services/ci/doc/run/index.html, services/ci/config, services/ci/Makefile, services/ci/RunProgramsHandler.java, serializable-persistence/Makefile, pcsdemo/doc/demo/frcontent.form, services/ci/doc/run/runindexer.html
rename: pcsdemo/doc/demo/frcontent.html -> pcsdemo/doc/demo/frcontent.form, pcsdemo/doc/demo/access.html -> pcsdemo/doc/demo/slb/access.html, services/ci/doc/run/runindexserver.html -> services/ci/doc/run/runindexer.html, services/ci/doc/run/runindexserverstatus.html -> services/ci/doc/run/runindexerstatus.html, services/ci/echoargs -> services/ci/startindexer
delete: services/ci/doc/config.initial
Added BSL to several of the html pages for the demo kit, while
making changes for Bert. The changes are extenisve in appearance
but offer little new functionality other than.

	Card and OpenCard status always displayed
	Application specific html code for each card is no possible
	Redid Several of the purchase forms.


PKCS
	Second interation of the PKCS11 UPI service

CI
	First version of Conceptual Indexing Web based Unser interface


	Various other build local or remote issues.
Tue Feb 1 19:39:36 2000 PDT suhler

create: serializable-persistence/Main.java, serializable-persistence/Makefile, serializable-persistence/README, serializable-persistence/SessionManager.java, serializable-persistence/config.broken, serializable-persistence/broken.html, serializable-persistence/config, serializable-persistence/index.html
1st pass at creating a version of SessionManager that does persistence, 
by "serializing" everything in its session table, and writing it out to a file
Tue Feb 1 19:03:08 2000 PDT suhler

update: handlers/templates/TemplateHandler.java, handlers/SessionHandler.java
- Missing close() on templateHandler
- forgot to strip off optional ";" at end of cookie value
  in SessionHandler
Sun Jan 30 17:45:29 2000 PDT suhler

update: server/FileHandler.java
removed platform dependancy on redirect check
Tue Jan 11 13:30:10 2000 PDT suhler

update: handlers/Makefile, handlers/ProxyPropertiesHandler.java
rename: handlers/RemoteStsHandler.java -> handlers/ProxyPropertiesHandler.java
renamed RemoteStsHAndler to ProxyPropertiesHandler.
This handler proxies to a remote web site.  If the resultant content
is text/plain, it loads the result as java properties into the
request object.  Otherwise it passes the content through unchanged
Tue Jan 11 10:45:02 2000 PDT suhler

create: handlers/config.mail, handlers/mail.html, handlers/SMTPHandler.java
update: handlers/Makefile
1st pass at an SMTP handler for sending email
Mon Jan 3 13:37:58 2000 PDT suhler

update: handlers/templates/TemplateHandler.java
Removed the use of the FileHandler to retrieve the
contents of the template
Wed Dec 15 12:03:05 1999 PDT suhler

update: handlers/ConfigFileHandler.java
Properties we not being passed on if a "set" was atempted, and no
values were changed
Thu Dec 9 21:36:19 1999 EDT rinaldo

create: pcsdemo/dist/images/brazilallclient.gif, pcsdemo/dist/images/brazilallserver.gif, pcsdemo/doc/applets/x509.raw, pcsdemo/doc/applets/x509.cacert, pcsdemo/doc/applets/x509.cacert.p12, pcsdemo/doc/signjarn, pcsdemo/doc/already.html, pcsdemo/doc/signjarn.bat, pcsdemo/doc/welcome.html, services/signjar/Makefile, services/signjar/SignJarHandler.java, services/ci/doc/config.initial, services/ci/doc/frcontent.html, services/ci/doc/index.html, services/ci/doc/main.html, services/ci/doc/run/index.html, services/ci/doc/run/runindexserver.html, services/ci/doc/run/stopindexserver.html, services/ci/doc/run/runindexserverstatus.html, services/ci/config, services/ci/Makefile, services/ci/echoargs, services/ci/RunProgramsHandler.java, services/util/ParseMultiPartForm.java, services/util/Makefile
update: pcsdemo/dist/brazilall.iap, pcsdemo/Makefile, pcsdemo/config.demo-client, pcsdemo/config.demo-devices-client, pcsdemo/config.demo-server, pcsdemo/runpcs, pcsdemo/config.demo-devices-client.darwin, pcsdemo/doc/demo/atm/accounts.txt, pcsdemo/doc/demo/frcontent.html, pcsdemo/doc/demo/personalize/index.html, pcsdemo/doc/demo/personalize/webcard.html, pcsdemo/doc/demo/JINI/index.html, pcsdemo/doc/applets/Makefile, pcsdemo/doc/cardlets/Makefile, pcsdemo/doc/js/managecard.js, pcsdemo/doc/oc/octestupper.html, pcsdemo/doc/configure.form, pcsdemo/doc/index.html, server/Request.java, handlers/Makefile, handlers/SunNetAuthHandler.java, handlers/ConfigFileHandler.java, handlers/templates/FormTemplate.java
rename: asp/oleupi/server/doc/push.html -> services/asp/oleupi/server/doc/push.html, asp/oleupi/server/comole-src/COMAuthInfo.java -> services/asp/oleupi/server/comole-src/COMAuthInfo.java, asp/oleupi/server/comole-src/COMBSTR.java -> services/asp/oleupi/server/comole-src/COMBSTR.java, asp/oleupi/server/comole-src/COMExcepInfo.java -> services/asp/oleupi/server/comole-src/COMExcepInfo.java, asp/oleupi/server/comole-src/COMClassObject.java -> services/asp/oleupi/server/comole-src/COMClassObject.java, asp/oleupi/server/comole-src/COMDispParams.java -> services/asp/oleupi/server/comole-src/COMDispParams.java, asp/oleupi/server/comole-src/COMException.java -> services/asp/oleupi/server/comole-src/COMException.java, asp/oleupi/server/comole-src/COMHResult.java -> services/asp/oleupi/server/comole-src/COMHResult.java, asp/oleupi/server/comole-src/COMIDispatch.java -> services/asp/oleupi/server/comole-src/COMIDispatch.java, asp/oleupi/server/comole-src/COMIMultiQI.java -> services/asp/oleupi/server/comole-src/COMIMultiQI.java, asp/oleupi/server/comole-src/COMIUnknown.java -> services/asp/oleupi/server/comole-src/COMIUnknown.java, asp/oleupi/server/comole-src/COMSafeArray.java -> services/asp/oleupi/server/comole-src/COMSafeArray.java, asp/oleupi/server/comole-src/COMVariant.java -> services/asp/oleupi/server/comole-src/COMVariant.java, asp/oleupi/server/comole-src/GUID.java -> services/asp/oleupi/server/comole-src/GUID.java, asp/oleupi/server/DocToPDF.java -> services/asp/oleupi/server/DocToPDF.java, asp/oleupi/server/comco.jar -> services/asp/oleupi/server/comco.jar, asp/oleupi/server/MSWordHandler.java -> services/asp/oleupi/server/MSWordHandler.java, asp/oleupi/server/config.oleword -> services/asp/oleupi/server/config.oleword, asp/oleupi/server/Makefile -> services/asp/oleupi/server/Makefile
delete: pcsdemo/startandtail
Add BSL support fix some issues raised by users.
Thu Dec 9 10:44:16 1999 PDT suhler

update: handlers/templates/TemplateHandler.java, server/FileHandler.java
The template handler is (incorrectly) using the FileHandler to read its
templates.  Until this is changed, I put in a "hack" to trick the
file-handler into working properly - again
Tue Dec 7 10:56:41 1999 PDT suhler

update: handlers/CgiHandler.java, handlers/ConfigFileHandler.java, handlers/templates/ContentTemplate.java
- fixed bug in cgi handler - it got the script name wrong
- The configFileHandler was setting the request properties BEFORE processing
  the query data
- The ContentTemplate now extracts javascript scripts in the <head> and
  places them in a "script" property
Fri Dec 3 15:29:13 1999 PDT suhler

create: ps.template, fixJavadocHtml.tcl
update: Makefile
Added make target and accessories needed to genrate a
pdf version of our javadoc documentation.  See the Makefile for
more information
Tue Nov 30 13:57:32 1999 PDT suhler

update: request/HttpRequest.java, handlers/SessionManager.java, handlers/Makefile, handlers/SessionHandler.java, handlers/ConfigFileHandler.java, handlers/templates/TemplateRunner.java
- rewrote ConFigFileHandler to minimize the number of config files
  created
- fixed some diagnostic messages
Wed Nov 17 15:34:17 1999 PDT cstevens

create: tests/sunlabs.brazil.server.ChainHandler.test
update: server/ChainHandler.java, server/FileHandler.java, server/Handler.java, server/Server.java, tests/TestHandler.java, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.server.FileHandler.test
delete: handlers/HtmlMunge.java, handlers/QueryHandler.java, handlers/RemoteNetscapeHandler.java
documentation.
  
Tests for ChainHandler.
Wed Nov 17 10:43:45 1999 PDT suhler

create: neil/Makefile, neil/README, neil/NeilPushHandler.java, neil/config, neil/push.html
update: Makefile, tail/Makefile, tail/TailHandler.java, util/regexp/Regexp.java, proxy/ProxyHandler.java, proxy/SunProxy.java, tcl/TclServerTemplate.java, sunlabs/Main.java, handlers/PushHandler.java, handlers/ConfigFileHandler.java, handlers/push.html, handlers/config.push, handlers/templates/IncludeTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/BSLTemplate.java
Merge with Colin's last putback
Added project for Neil's website
Tue Nov 16 19:03:05 1999 PDT cstevens

update: proxy/ProxyHandler.java, server/ChainHandler.java, server/FileHandler.java, server/Main.java, server/Server.java, handlers/AuthHandler.java, handlers/MultiHostHandler.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java, handlers/templates/ChangedTemplate.java
fix wildcard imports
  
expunge Server.initHandler and Server.initObject.
Tue Nov 16 14:55:40 1999 PDT cstevens

create: tests/sunlabs.brazil.util.http.MimeHeaders.test, tests/sunlabs.brazil.util.StringMap.test, tests/sunlabs.brazil.server.FileHandler.test
update: server/Connection.java, server/FileHandler.java, server/Request.java, server/Server.java, tests/TestHandler.java, tests/defs, tests/sunlabs.brazil.server.Connection.test, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.util.http.HttpUtil.test, handlers/HtmlRewriter.java, util/StringMap.java, util/http/MimeHeaders.java, util/http/HttpUtil.java
Issues with Thread.interrupt() vs. Thread.stop().
1. Thread.interrupt() doesn't interrupt I/O in jdk-1.1.5
2. Thread.stop() is OK to use (ignore deprecation warnings), but makes it
   difficult to write test scripts -- Thread.interrupt() only interrupts the
   response thread at known places, so a known number of log messages can
   be examined.
3. Thread.interrupt() generates different log messages under jdk-1.1
   and jdk-1.2, making it harder to write portable test scripts.  Suppress
   the differences.
  
---------------------------------------------------------------------------
StringMap:
  
1. Rename "getValue" to "get" to make it more compatible with Dictionary
naming scheme.
  
---------------------------------------------------------------------------
Connection.java:
  
1. Name printed for thread in log message when a connection is accepted
   should agree with the name printed for the thread when the Request does
   something.
  
2. When sending 404 to client, the log message should indicate the filename.
  
3. Thread.interrupt() issues interacting with the test scripts.
  
---------------------------------------------------------------------------
FileHandler.java:
  
1. documentation.
  
2. "blockSize" property was retrieved from Properties but never used, since
   the copy operation uses the Server.bufsize.  "blockSize" removed.
  
3. "deny" property to deny access to files that matched a glob pattern was
   broken.  Arguments to Glob were reversed, so the code was treating the 
   URL as the pattern and the deny pattern as the filename.  No matches.
  
4. URL was never "URL decoded", so something like "/in%64ex%2ehtml"
   was not converted to "/index.html".  Code would therefore look for the
   existence of a file called "in%64ex%2ehtml".  
  
5. java.net.URL was used to convert a URL to the local file name.  However,
   java.net.URL does not collapse a trailing "/.." (or "/.") in the URL,
   leading to the possibility of escaping from the document root.
  
6. In jdk-1.2, java.io.File collapses out multiple consecutive "/" characters
   in a file name, while in jdk-1.1, this doesn't happen.  It is necessary
   to take them out to make it easier to compare if two files are the
   same.
  
7. Request property "fileName" is set to the name of the file being 
   fetched.  But if the user requested a directory name, and the 
   FileHandler automatically filled in the name of the index file (e.g., 
   index.html), "fileName" should have been set to the that file, not
   just the name of the directory.
  
8. After appending the name of the index file onto the name of the
   directory requested in an URL, the FileHandler didn't ensure that that
   file existed (and was a regular file).  This would cause a
   FileNotFoundException, and the server would either send a "500 Server
   Error" or just close the connection back to the client.  Instead, it
   should return a "404 Not Found" message.
  
---------------------------------------------------------------------------
Request.java:
  
1. If the "Content-Length" provided in the request was malformed, the
   log message should display how it was malformed.
  
2. If Request.sendError() was called, it was logging the word "null"
   if the user passed in null for the detail message.  Aesthetically 
   displeasing.
  
3. If Request.sendError() is called when part of a response has already
   been sent, it cannot send the error headers and error message, because
   that would confuse things, so it must just close the connection.  That
   was done right, but it wasn't bumping the Server.errorCount.  It still
   should do that always.
  
---------------------------------------------------------------------------
Server.java:
  
1. Name printed for thread in log message when a connection is accepted
   should agree with the name printed for the thread when the Request does
   something.
  
2. Thread.interrupt() issues interacting with the test scripts.
  
---------------------------------------------------------------------------
defs:
  
env(TCL_CLASSPATH) can be set to the path to find additional classes (such
as everything in sunlabs.brazil.*) that was not in env(CLASSPATH) when the
JVM was started up.
  
However, we cannot use TCL_CLASSPATH because some of the code (in both tcl
and Java) uses Class.forName(), which doesn't go through the TclClassLoader
to find the class we are referencing.  Instead the CLASSPATH has to be
setup before running the tests because the JVM won't pick up changes to
the CLASSPATH variable after it's running.
  
---------------------------------------------------------------------------
MimeHeaders.java
  
Bug used to cause continuation line to be added to the _first_ occurrence of
the key, not the most recent occurence (namely, the previous line).
Tue Nov 16 08:59:33 1999 PDT suhler

create: sunlabs/Main.java, sunlabs/ClockFormat.java, sunlabs/DateTemplate.java, sunlabs/ServerProcess.java, sunlabs/libcom_sun_server_ServerProcess.so
update: sunlabs/FrameSetTemplate.java, sunlabs/README, sunlabs/Makefile
- New "main" that allows change-user requests on solaris, using the
  "server.so" file that comes with the JWS/2.0.  The properties are:
  "userName" and "groupName"
 
- Date template that substitutes dates into html using strftime()
  format strings
Tue Nov 9 20:20:08 1999 PDT cstevens

create: tests/Makefile, tests/all, tests/TestHandler.java, tests/TestServer.java, tests/TestInputStream.java, tests/defs, tests/sunlabs.brazil.util.http.HttpInputStream.test, tests/sunlabs.brazil.server.Connection.test, tests/sunlabs.brazil.server.Server.test, tests/sunlabs.brazil.util.Glob.test, tests/sunlabs.brazil.util.http.HttpUtil.test, tests/sunlabs.brazil.util.regexp.Regexp.test
update: Makefile, server/Connection.java, server/Main.java, server/Server.java, request/HttpRequest.java, handlers/MultiHostHandler.java, util/Glob.java, util/http/HttpInputStream.java, util/http/HttpUtil.java
rename: test/config.rewrite -> tests/config.rewrite
start of tests.
 
fixing bugs revealed by writing tests.
Tue Nov 9 14:55:14 1999 PDT suhler

create: sunlabs/FrameSetTemplate.java, sunlabs/README, sunlabs/Makefile
Directory for sunlabs.eng specific handlers for Brazil
Mon Nov 8 16:21:03 1999 PDT suhler

create: handlers/bsl2.html
update: handlers/config.bsl, handlers/templates/PropsTemplate.java
added option to PropsTemplate to place query parameters and
mime headers into request properties before the template is processed
Wed Nov 3 17:46:55 1999 PDT cstevens

create: handlers/MultiHostHandler.java, handlers/config.host
update: server/Request.java, server/Server.java, handlers/Makefile
MultiHostHandler
Wed Nov 3 15:51:35 1999 PDT suhler

create: assemble-doc/Makefile, assemble-doc/README, assemble-doc/pkgs-sts, assemble-doc/overview.html, assemble-doc/package-list, assemble-doc/pkgs-server, assemble-doc/srcs-sts, assemble-doc/srcs-applets, assemble-doc/srcs-server, assemble-doc/extra/images/brazilicon.gif, assemble-doc/extra/build.html, assemble-doc/extra/tutorial.html, assemble-doc/extra/javasource.html, assemble-doc/extra/tutorial-frame.html, assemble-doc/extra/tutorial/GenericX10Handler.html, assemble-doc/extra/tutorial/GenericX10Handler.java, assemble-doc/extra/tutorial/Makefile.txt, assemble-doc/extra/tutorial/README, assemble-doc/extra/tutorial/TwoWayHandler.html, assemble-doc/extra/tutorial/TwoWayHandler.java, assemble-doc/extra/tutorial/config.txt, assemble-doc/extra/tutorial/control.html, assemble-doc/extra/tutorial/pull.class, assemble-doc/extra/tutorial/pull.html, assemble-doc/extra/tutorial/pull.java, assemble-doc/bin/README, assemble-doc/bin/convert.tcl, assemble-doc/bin/explode.tcl, assemble-doc/bin/link-doc.tcl, assemble-doc/bin/list_packages.tcl
documentation assembly stuff
Wed Nov 3 10:38:57 1999 PDT suhler

update: server/Main.java
added "interfaceHost" option to main to better support multi-homes machines
Mon Nov 1 15:17:09 1999 PDT cstevens

create: request/Makefile
update: proxy/Makefile, Makefile, handlers/Makefile, util/Makefile
rename: util/http/HttpSocket.java -> request/HttpSocket.java, util/http/HttpRequest.java -> request/HttpRequest.java, util/http/HttpSocketPool.java -> request/HttpSocketPool.java
Move HttpRequest to separate directory from rest of util.
Mon Nov 1 12:39:58 1999 PDT suhler

update: handlers/templates/ChangedTemplate.java
look for root property within prefix first
Mon Nov 1 10:55:02 1999 PDT cstevens

create: handlers/templates/ChangedTemplate.java
update: server/FileHandler.java, handlers/Makefile, handlers/templates/HtmlRewriter.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java
ChangedTemplate.
Tue Oct 26 20:51:22 1999 PDT cstevens

create: handlers/QueryHandler.java
update: proxy/SunProxy.java, proxy/Makefile, config.proxy, server/FileHandler.java, server/Main.java, server/Request.java, server/Server.java, tcl/TclServerTemplate.java, handlers/AuthHandler.java, handlers/GenericProxyHandler.java, handlers/CgiHandler.java, handlers/HomeDirHandler.java, handlers/RemoteStsHandler.java, handlers/MultiProxyHandler.java, handlers/SunNetAuthHandler.java, handlers/PublishHandler.java, handlers/ChainSawHandler.java, handlers/SessionHandler.java, handlers/ConfigFileHandler.java, handlers/VirtualHostHandler.java, handlers/ResourceHandler.java, handlers/PushHandler.java, handlers/templates/NoImageTemplate.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java, handlers/templates/BSLTemplate.java, util/SocketFactory.java, util/http/MimeHeaders.java, util/http/HttpRequest.java, proxy/ProxyHandler.java
rename: proxy/RemoteHandler.java -> proxy/ProxyHandler.java
Eliminate public methods Server.initHandler() and Server.initObject().
  
Get rid of public variables Request.server and Request.sock:
A. In all cases, Request.server was not necessary; it was mainly used for
   constructing the absolute URL for a redirect, so Request.redirect() was
   rewritten to take an absolute or relative URL and do the right thing.
B. Request.sock was changed to Request.getSock(); it is still rarely used
   for diagnostics and logging (e.g., ChainSawHandler).
  
Change name of RemoteHandler to ProxyHandler, since it is an "HTTP Proxy",
not an "HTTP Remote", whatever that is.
  
Change GenericProxyHandler (which actually filters data from other sites, and
is not a proxy at all) to use Request.sendResponse(InputStream, ...) to
stream the data, instead of fetching the entire contents into a big byte array
and then sending the byte array to Request.sendResponse(byte[], ...).
  
Changed TclServerTemplate and BSLTemplate to use the config parameter "debug"
to decide whether to emit comments into the resultant HTML file.
  
Eliminate unused SocketFactory.newSocket(InetAddress, int) method.
  
HTTP request returned ungracefully if "Content-Length" in a POST was 
negative or too much to allocate.
  
ChainSawHandler: header must be spelled as "Referer".
  
Change MimeHeaders so it uses "put" instead of "set", to be compatible with
names chosen by Hashtable and StringMap.
Mon Oct 25 14:32:57 1999 PDT suhler

update: server/FileHandler.java, server/Request.java
filehandler dodn't send content length!!
Thu Oct 21 18:23:42 1999 PDT cstevens

create: handlers/bsl.html
Sample BSL document.
Thu Oct 21 18:22:31 1999 PDT cstevens

create: handlers/config.bsl, handlers/templates/BSLTemplate.java
The BSL files weren't checked in.
Thu Oct 21 18:21:19 1999 PDT cstevens

update: tcl/TclHandler.java, tcl/TclTemplateChannel.java, tcl/TclTemplateChannel.java, tcl/TclServerTemplate.java, handlers/Makefile, handlers/HtmlRewriter.java, handlers/templates/RedirectTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/HtmlRewriter.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java, util/LexML.java
BSL Template.
  
TemplateHandler now takes a list of Templates, rather than just one.  When
parsing an HTML file, it will now dispatch to the union of all the tag
methods defined in the list of Templates.  In that way, the user can
compose things like the BSLTemplate to iterate over request properties with
the PropsTemplate to substitute in their values.  Otherwise, it would have
required N separate passes (via N separate TemplateHandlers) over the HTML
file, one for each Template and/or level of recursion in the BSLTemplate.
  
HtmlRewriter didn't re-emit parsed comments as comments.
  
Added ability to change a tag into a comment.  Used by BSL and Tcl templates,
to keep track of where the substitution occurred when examining the resultant
HTML document.
  
TclServerTemplate: added configuration property to source an initialization
script into the Tcl Interp the first time the Interp is used.
Wed Oct 20 15:09:11 1999 PDT suhler

update: tcl/TclHandler.java, tcl/TclTemplateChannel.java, tcl/TclServerTemplate.java
fixed wildcarded imports
Tue Oct 19 19:11:26 1999 PDT cstevens

update: Makefile, tail/Makefile, tcl/Makefile
rename: tclHandlers/TclHandler.java -> tcl/TclHandler.java, tclHandlers/test.tcl -> tcl/test.tcl, tclHandlers/subst.tcl -> tcl/subst.tcl, tclHandlers/Makefile -> tcl/Makefile, tclHandlers/README -> tcl/README, tclHandlers/browser-hj.gif -> tcl/browser-hj.gif, tclHandlers/browser-ie.gif -> tcl/browser-ie.gif, tclHandlers/browser-ns.gif -> tcl/browser-ns.gif, tclHandlers/config -> tcl/config, tclHandlers/index.html -> tcl/index.html, tclHandlers/switch.tcl -> tcl/switch.tcl, tclHandlers/testSwitch.html -> tcl/testSwitch.html, tclHandlers/count.tcl -> tcl/count.tcl, tclHandlers/run -> tcl/run, tclHandlers/stock.tcl -> tcl/stock.tcl, tclHandlers/virtual.tcl -> tcl/virtual.tcl, tclHandlers/virtual2.tcl -> tcl/virtual2.tcl, tclHandlers/config.virtual2 -> tcl/config.virtual2, tclHandlers/config.tclserver -> tcl/config.tclserver, tclHandlers/TclTemplateChannel.java -> tcl/TclTemplateChannel.java, tclHandlers/TclServerTemplate.java -> tcl/TclServerTemplate.java
Rename tclHandlers directory to tcl, since it has more than just handlers.
Tue Oct 19 19:04:06 1999 PDT cstevens

create: tclHandlers/config.tclserver, tclHandlers/TclTemplateChannel.java, tclHandlers/TclServerTemplate.java
update: proxy/SunProxy.java, server/Request.java, handlers/HtmlRewriter.java, tclHandlers/Makefile, util/StringMap.java, util/LexHTML.java
Differentiate between "connection refused" and "unknown host" when attempting
to communicate via sun itelnet proxy.
  
Define Request.toString().
  
TclServerTemplate: parses HTML file for <server language="tcl"> tag and
runs associated Tcl script.
  
StringMap.toString crashed if no entries were in the StringMap.
Thu Oct 14 15:00:26 1999 PDT cstevens

create: proxy/Makefile
update: proxy/RemoteHandler.java, proxy/UseProxy.java, proxy/SunProxy.java, Makefile, config.proxy, server/ChainHandler.java, server/Connection.java, server/FileHandler.java, server/Handler.java, server/Main.java, server/Request.java, server/Server.java, handlers/GenericProxyHandler.java, handlers/MultiProxyHandler.java, handlers/SupplyHandler.java, handlers/PublishHandler.java, handlers/HtmlRewriter.java, handlers/templates/TemplateRunner.java, tail/Makefile, util/Makefile, util/Glob.java, util/Sort.java, util/StringMap.java, util/SocketFactory.java, util/LexML.java, util/LexHTML.java, util/http/MimeHeaders.java, util/http/HttpRequest.java, util/http/HttpInputStream.java, util/http/HttpSocket.java, util/http/HttpUtil.java, util/http/HttpSocketPool.java, util/regexp/Regexp.java, util/regexp/Regsub.java
delete: util/TimedThread.java
Lots more documentation.
  
Added a convenience method to Request to send a response from an input
stream.  This method should have been in there a long time ago.  Now the
user doesn't have to copy all the data into a string or byte array and then
copy it all back out again.  RemoteHandler uses this method to sling the
data from the remote site back to the client site.  FileHandler uses this
method to send the data from the FileInputStream to the client.
  
Move logic for removing point-to-point headers into the HttpRequest as a
static convenience method.
  
Handle malformed URLs that have spaces in the name.  These type of URLS are
sent by RealAudio clients.  HTTP request line parsing is actually simpler now.
  
ChainHandler crashed if no "handlers" specified.
  
Connection was leaking threads.
  
Main runs all the classes specified in the "init" line in the config file
before starting the server.
  
Server.initFields removed
  
Server.initHandler and Server.initObject have extensive documentation now
that will hopefully make their existence compelling.
  
LexHTML uses a method to set the special tags like <script> and <style>,
instead of a global property.
  
Fold TimedThread and the default HttpSocketPool into the HttpRequest file,
since they are not used outside of this file (at this time).
  
HttpUtil.urlEncode was wrong.
Tue Oct 12 10:03:56 1999 PDT suhler

update: handlers/CgiHandler.java
update to new mimeHeader semantics (and test of putback notices)
Mon Oct 11 13:37:39 1999 PDT suhler

create: tail/doc/de-link.tcl
update: Makefile, tail/doc/index.html, tail/doc/sample.txt, tail/doc/line1.jpg, tail/Filter.java, tail/Makefile, tail/PlainFilter.java, tail/TailHandler.java, tail/TemplateFilter.java, tail/TclFilter.java, tail/SessionFilter.java, tail/ReplaceFilter.java, tail/config-large, util/http/HttpRequest.java, util/http/HttpSocket.java, util/http/HttpSocketPool.java, handlers/GenericProxyHandler.java, handlers/RemoteStsHandler.java, handlers/MultiProxyHandler.java, handlers/MapPage.java, handlers/ConfigFileHandler.java, handlers/templates/PropsTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/TOCTemplate.java, handlers/templates/TemplateRunner.java, tclHandlers/TclHandler.java, tclHandlers/Makefile, tclHandlers/virtual2.tcl, server/Connection.java, server/Request.java, server/Server.java, pcsdemo/Makefile
Integrated colin's changes
Thu Oct 7 13:16:27 1999 PDT cstevens

update: proxy/RemoteHandler.java, Makefile, server/Request.java, server/Server.java, handlers/Makefile, handlers/DialogHandler.java, handlers/HtmlRewriter.java, tclHandlers/TclHandler.java, tclHandlers/Makefile, util/Makefile, util/Glob.java, util/StringMap.java, util/LexHTML.java, util/http/MimeHeaders.java, util/http/HttpRequest.java, util/http/HttpInputStream.java, util/http/HttpSocketPool.java, util/regexp/Regexp.java
rename: handlers/ErrorMsg.java -> util/ErrorMsg.java
Documentation for HtmlRewriter, Glob, HttpRequest (in progress),
HttpInputStream.
  
Make HttpSocketPool a public interface so that users of HttpRequest can
implement it to provide their own cache and policy.
  
javadoc lint.
  
LexHTML automatically lower-cases reported tag name, for backwards
compatibility with HtmlMunge, so user can call String.equals() instead of
String.equalsIgnoreCase()
Thu Oct 7 09:17:58 1999 PDT suhler

update: handlers/ConfigFileHandler.java
??
Mon Oct 4 17:18:10 1999 PDT cstevens

update: proxy/RemoteHandler.java, proxy/UseProxy.java, proxy/SunProxy.java, server/ChainHandler.java, server/Connection.java, server/Request.java, server/Server.java, asp/oleupi/server/MSWordHandler.java, handlers/AuthHandler.java, handlers/GenericProxyHandler.java, handlers/MultiProxyHandler.java, handlers/SupplyHandler.java, handlers/NotFoundHandler.java, handlers/RolesHandler.java, handlers/SunNetAuthHandler.java, handlers/PublishHandler.java, handlers/ChainSawHandler.java, handlers/ConfigFileHandler.java, handlers/VirtualHostHandler.java, handlers/templates/TemplateHandler.java, tclHandlers/TclHandler.java, tail/TailHandler.java, tail/TemplateFilter.java, tail/TclFilter.java, util/StringMap.java, util/SocketFactory.java, util/LexML.java, util/LexHTML.java, util/http/MimeHeaders.java
Change logging to show prefix of Handler generating the log message.
  
Documentation for LexML and StringMap.
Fri Oct 1 12:44:16 1999 PDT suhler

update: server/FileHandler.java, server/Request.java, server/Server.java
Re-do server logging (partly done)
empty queries are "" not null
Fri Oct 1 11:38:39 1999 PDT suhler

update: util/regexp/Regexp.java, util/Makefile, util/StringMap.java, util/SocketFactory.java, util/LexHTML.java, util/http/MimeHeaders.java, util/http/HttpSocket.java, util/http/HttpSocketPool.java
added toString methods
removed wildcarded imports
Fri Oct 1 00:35:50 1999 EDT rinaldo

create: pcsdemo/Makefile.pcsdemo, pcsdemo/doc/jini/lib/reggie-dl.jar, tini/ExtensionFileFilter.java, tini/JavaKit.java
update: pcsdemo/Makefile, pcsdemo/config.demo-client, pcsdemo/config.demo-server, pcsdemo/config.demo-devices-client.darwin, pcsdemo/doc/demo/atm/accounts.txt, pcsdemo/doc/demo/JINI/index.html
Codemgr_wsdata/putback.cmt
Thu Sep 30 14:07:46 1999 PDT cstevens

update: proxy/RemoteHandler.java, proxy/SunProxy.java, handlers/HtmlRewriter.java, util/http/HttpUtil.java
Improperly quoting and dequoting HTML tag attributes led to forms/templates
not working.
  
Better error message if couldn't connect because machine wasn't listening
on specified port, rather than saying "unknown host".
Thu Sep 30 12:07:24 1999 PDT cstevens

create: proxy/UseProxy.java, proxy/SunProxy.java, handlers/HtmlRewriter.java, handlers/templates/HtmlRewriter.java, handlers/templates/Template.java, util/LexML.java, util/LexHTML.java
update: proxy/RemoteHandler.java, Makefile, config.proxy, server/ChainHandler.java, server/Main.java, server/Request.java, server/Server.java, handlers/SunNetAuthHandler.java, handlers/Makefile, handlers/config.clientTemplate, handlers/config.formTemplate, handlers/config.new, handlers/MapPage.java, handlers/config.config, handlers/config.includeTemplate, handlers/templates/NewTemplate.java, handlers/templates/NewTemplate2.java, handlers/templates/CountTemplate.java, handlers/templates/RedirectTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/IncludeTemplate.java, handlers/templates/NoImageTemplate.java, handlers/templates/ContentTemplate.java, handlers/templates/TOCTemplate.java, util/Makefile, util/SocketFactory.java, util/http/MimeHeaders.java, handlers/templates/TemplateHandler.java, handlers/templates/TemplateRunner.java
rename: handlers/TemplateHandler.java -> handlers/templates/TemplateHandler.java, handlers/Template.java -> handlers/templates/TemplateRunner.java
Replace HtmlMunge with LexML and LexHTML, that correctly parse HTML.
  
New HtmlRewriter object, that allows arbitrary rewriting of the HTML (by
templates and others), instead of forcing the templates to return a string
that contained all of the new HTML content in one new big string.
  
Move TemplateHandler to the sunlabs.brazil.template package, with all the
templates that use it.
  
Rewrite RemoteHandler (proxy) to use HttpRequest.
  
Consistent way of initializing Handlers and other things that want to get
attributes from the config file.  Convenience method that constructs the
object, sets (via reflection) all the variables in the object that correspond
to values specified in the config file, and then calls init() on the object.
Fri Sep 17 18:12:02 1999 EDT rinaldo

update: Makefile, pcsdemo/Makefile, server/Makefile, handlers/Makefile, util/Makefile
Move Makefile.common use to top of this workspace and remove workspace specific
Remove Workspace specific items from Makefile.common redo makefiles to be relative
n the use of Makefile.common.

Please stop using Makefile.common in the lib directory.
Wed Sep 15 16:00:19 1999 PDT cstevens

create: proxy/RemoteHandler.java, config.proxy, util/StringMap.java, util/SocketFactory.java, util/http/MimeHeaders.java, util/http/HttpRequest.java, util/http/HttpInputStream.java, util/http/HttpSocket.java, util/http/HttpUtil.java, util/http/HttpSocketPool.java
update: Makefile, server/Connection.java, server/FileHandler.java, server/Request.java, handlers/AuthHandler.java, handlers/GenericProxyHandler.java, handlers/CgiHandler.java, handlers/ReflectHandler.java, handlers/SupplyHandler.java, handlers/NotFoundHandler.java, handlers/RolesHandler.java, handlers/SunNetAuthHandler.java, handlers/RemoteNetscapeHandler.java, handlers/DirectoryHandler.java, handlers/PublishHandler.java, handlers/ChainSawHandler.java, handlers/SessionHandler.java, handlers/PushHandler.java, handlers/templates/RedirectTemplate.java, handlers/templates/NoImageTemplate.java, util/Makefile
Rewriting the server to make it easier to separate out the functionality 
required for acting as a proxy.  Also separated out some common functionality
that was not server-specific, such as the concept of a MimeHeaders object
so that we don't continuously tie ourselves to a specific implementation.
Wed Sep 15 14:35:54 1999 PDT suhler

create: package-docs/README, package-docs/sunlabs.brazil.handler.package.html, package-docs/sunlabs.brazil.server.package.html, package-docs/sunlabs.brazil.template.package.html, package-docs/sunlabs.brazil.util.package.html, package-docs/tcl.lang.package.html, package-docs/sunlabs.brazil.util.regexp.package.html
created a place to put all the package doc files needed by javadoc.
I suppose they could be spread out in each package, but it seems more
convenient to keep them all in one spot
Tue Sep 7 11:25:36 1999 EDT rinaldo

create: pcsdemo/doc/demo/test/rsa/frindexrsa.html, pcsdemo/doc/demo/test/rsa/frrsa.html, pcsdemo/doc/demo/test/rsa/rsa.html, pcsdemo/doc/demo/test/rsa/set.html, pcsdemo/doc/demo/JINI/lib/reggie-dl.jar, pcsdemo/doc/demo/JINI/frindex.html, pcsdemo/doc/demo/JINI/index.html, pcsdemo/doc/demo/JINI/result.html, pcsdemo/doc/demo/JINI/jiniintro.html
update: pcsdemo/Makefile, pcsdemo/config.demo-client, pcsdemo/config.demo-devices-client.darwin, pcsdemo/doc/demo/atm/accounts.txt, pcsdemo/doc/demo/frcontent.html, pcsdemo/doc/demo/test/ccapdus.html, pcsdemo/doc/demo/test/sts/decrypt.html, pcsdemo/doc/demo/test/sts/encrypt.html, pcsdemo/doc/applets/Makefile, pcsdemo/doc/cardlets/Makefile, pcsdemo/doc/js/managecard.js
Redo DEPENDS rules to support smaller util directiories
Add Support for RSA
Add Support for JINI requires 1.2 putting in a check to allow system to continue
if you start the config file with 1.1.x.
More testing and html clean up
Fri Sep 3 11:34:29 1999 PDT cstevens

update: util/regexp/Regexp.java
Change Regexp.sub(String, String) so that it returns the changed string if
there was a match and null if there was no match.
  
Regexp.match with a pattern that had '$' at the end was broken.
Wed Sep 1 15:39:47 1999 PDT suhler

create: handlers/templates/TOCTemplate.java
update: handlers/GenericProxyHandler.java, handlers/HtmlMunge.java, handlers/MultiProxyHandler.java, handlers/Makefile, handlers/MapPage.java, handlers/templates/PropsTemplate.java, handlers/templates/ContentTemplate.java
- fixed proxy handlers to work with tail handlers
- added table-of-contents extractor template
- modified HtmlMunge for table-of-content extractor
Wed Sep 1 15:35:52 1999 PDT suhler

create: tail/doc/h1.html, tail/doc/missing.html, tail/doc/line1.jpg, tail/doc/logo.gif, tail/config3, tail/ReplaceFilter.java, tail/config-large
update: tail/doc/sample.txt, tail/Filter.java, tail/Makefile, tail/PlainFilter.java, tail/config, tail/TailHandler.java, tail/TemplateFilter.java, tail/TclFilter.java, tail/SessionFilter.java
Updated to next version:
 - each tail filter can run multiple tail filters
 - ReplaceFilter permits templace substitutions
Mon Aug 30 02:13:02 1999 EDT rinaldo

create: pcsdemo/doc/demo/test/sts/decrypt.html, pcsdemo/doc/demo/test/sts/encrypt.html, pcsdemo/doc/demo/test/sts/decryptresult.html, pcsdemo/doc/demo/test/sts/encryptresult.html, pcsdemo/doc/demo/test/sts/frciphers.html
update: pcsdemo/Makefile, pcsdemo/config.demo-devices-client.darwin, pcsdemo/doc/demo/frcontent.html, asp/oleupi/server/MSWordHandler.java
Add support for new security directories
Add support for RC4 on Java Card
Add some test pages
Fri Aug 27 16:51:17 1999 PDT cstevens

update: util/regexp/Regsub.java
Regsub.submatch would crash if specified subregion didn't exist.
Fri Aug 27 16:19:04 1999 PDT cstevens

update: util/regexp.test, util/regexp/Regexp.java, util/regexp/Regsub.java
regsub entered infinite loop if pattern matched the empty string.
  
subspec previously only allowed \ followed by a number to specify a 
substring.  Should have also allowed any other char after \ to mean literal.
Fri Aug 27 13:12:06 1999 PDT cstevens

create: util/TimedThread.java, util/regexp.test, util/defs
update: util/Makefile, util/Sort.java, util/regexp/Regexp.java
Sort and Regexp for java.
Thu Aug 26 13:21:48 1999 EDT rinaldo

create: asp/oleupi/server/doc/push.html, asp/oleupi/server/comole-src/COMAuthInfo.java, asp/oleupi/server/comole-src/COMBSTR.java, asp/oleupi/server/comole-src/COMExcepInfo.java, asp/oleupi/server/comole-src/COMClassObject.java, asp/oleupi/server/comole-src/COMDispParams.java, asp/oleupi/server/comole-src/COMException.java, asp/oleupi/server/comole-src/COMHResult.java, asp/oleupi/server/comole-src/COMIDispatch.java, asp/oleupi/server/comole-src/COMIMultiQI.java, asp/oleupi/server/comole-src/COMIUnknown.java, asp/oleupi/server/comole-src/COMSafeArray.java, asp/oleupi/server/comole-src/COMVariant.java, asp/oleupi/server/comole-src/GUID.java, asp/oleupi/server/DocToPDF.java, asp/oleupi/server/comco.jar, asp/oleupi/server/MSWordHandler.java, asp/oleupi/server/Makefile, asp/oleupi/server/config.oleword
update: pcsdemo/config.demo-server, pcsdemo/config.demo-devices-client.darwin, pcsdemo/doc/demo/test/ccapdus.html, pcsdemo/doc/js/managecard.js
Application Service Provider Conversion Services
This sub directory contains a handler that converts .doc files to .pdf
files. The handler uses software form http://www.nevaobjects.com to
manipualte COM objects on Windows.  The functionality here could be 
greatly expanded in that we would provide ULR mappings to any COM
server if we had the time to write a conversion program.
Mon Aug 23 15:56:13 1999 EDT rinaldo

create: pcsdemo/doc/demo/test/sts/frsignature.html, pcsdemo/doc/demo/test/sts/generateresult.html, pcsdemo/doc/demo/test/sts/validateresult.html, pcsdemo/doc/demo/test/sts/validateresultlocal.html, pcsdemo/doc/demo/test/sts/generatesignature.html, pcsdemo/doc/demo/test/sts/validatesignature.html, pcsdemo/doc/demo/test/sts/validatesignaturelocal.html
update: pcsdemo/config.demo-client, pcsdemo/config.demo-server, pcsdemo/doc/demo/frcontent.html
CorporateCard and CorporateCardAccess have been modified to reduce
memory consumption and implement correct XOR signing algorithm.

Cards can check signatures on card.

Prepared classes for addition of RSA signing, DSS and RC4 decryption.

Handlers moved to sunlabs.brazil.sts.... and sunlabs.brazil.cardhandlers...

Error processing for  CorporateCard APDUs fixed so error messages are correct

Removed Message digest checks and secret from client handlers.
Tue Aug 17 14:50:44 1999 PDT suhler

update: server/Request.java
Added convenience mathod for emitting response when content is a byta array
Fri Aug 13 09:36:19 1999 PDT suhler

update: util/Sort.java
typo in Sort.java?
Tue Aug 10 17:08:48 1999 PDT cstevens

create: util/regexp/Regexp.java, util/regexp/Regsub.java
update: util/Makefile, util/Glob.java, util/Sort.java
Regexp, Glob, and Sort.
Mon Aug 9 11:47:25 1999 EDT rinaldo

create: dist/corehandlers.iap
update: Makefile, pcsdemo/Makefile
This putback includes a number of changes.

We can build two distributions in the naws/pcsdemo and the naws/ directory these distributions are for all of the pcs demos and just the core handler. Both of the distributions can be built by typing make dist in the directory.  Once the
distributions are built they are on www.digiorgio.com and www.cv360428-norwlk1.ct.home.com. Unlder /brazil/all and /brazil/core respectively.

The make dist procedure requires that you enter passwords for the certificates. We can give you the password.  There is a problem with later versions of netscape when building test certificates for your own use. This problem is unresolved at the current time. You will not be able to give your certificate a nicname therefore the makefile will not be able to automatically sing your test applets.jar file.

Building the SmartCard UPI and or Core from the workspaces
Bring the following workspaces over to a local machine 

naws
sts
jarslibsdll
applets 
opencard

Before building you need to get signing certificates for 
External Signing certificate for https://www.digiorgio.com 
Get brazil-pcs-digiorgio-signer.p12 
Internal Signing certificate for https://mack.eng 
Get brazil-pcs-mack-signer.p12 
Install the certificates, remember your password. You will be asked to supply it twice. Please contact Stephen x63252 or Rinaldo 203-255-6781 to get a password for the above certificates. To build the pcsdemo cd to naws/pcsdemo and type make. You will be prompted for a signing certificate password.To build the website software which includes the doc directory, the applets and the cardlets. Type make website and if you want to test. To make a distribution type make -e dist.
Fri Aug 6 12:32:34 1999 PDT suhler

create: tclHandlers/virtual2.tcl, tclHandlers/config.virtual2
update: util/Makefile, util/Glob.java, handlers/SessionManager.java, handlers/Makefile, handlers/DirectoryHandler.java, handlers/Template.java, handlers/MapPage.java, handlers/ConfigFileHandler.java, tclHandlers/TclHandler.java, server/FileHandler.java, server/Makefile, util/PJwrapper.java
rename: server/PJwrapper.java -> util/PJwrapper.java
- moved pjama wrappers into util directory
- changed all glob users to use util version
- changed DirectoryHandler to use sort in util directory
- changed tcl Handler to create on interpreter per session, allowing
  for better concurrency, and updated sample handler to use it
- fixed minor bug in Glob
- integrated rinaldo's ConfigFileManager changes
  + should be re-implemented to not read the config file on every
    request
Fri Aug 6 08:42:42 1999 PDT suhler

create: tail/doc/a.html, tail/doc/b.html, tail/TclFilter.java, tail/config-session, tail/SessionFilter.java
update: tail/doc/index.html, tail/Filter.java, tail/Makefile, tail/PlainFilter.java, tail/TailHandler.java, tail/TemplateFilter.java
2nd pass at content post-processing
 
- Filter interface is now a subclass of Handler.  This allows filters
  to look at (and possibly modify) requests before the content-to-be
  fitlered is fetched by the wrapped handler
- modified sample filters to conform to new interface
- write TclFilter, to allow content filters to be written in tcl
- wrote SessionFilter, allowind session info to be encoded in url's, 
  eliminating the need for browser cookies
Thu Aug 5 17:03:30 1999 PDT suhler

create: util/Makefile, util/README, util/Glob.java, util/Sort.java
beginnings of a util directory for common utilities
Wed Aug 4 18:45:27 1999 PDT suhler

create: handlers/PushHandler.java, handlers/config.push, handlers/push.html
update: handlers/Makefile
added "PushHandler" as a starting point for handling multipart/form data
for the document conversion demo
 
The multipart/form processor needs to be rewritten to be
robust, and then integrated into thr request object, so any
handler can deal with multipart/form data transparently.
 
This is temporary.  Cheers
Wed Aug 4 17:18:56 1999 EDT rinaldo

update: Makefile, config, pcsdemo/config.demo-devices-client.darwin, pcsdemo/doc/applets/Makefile, pcsdemo/doc/index.html
Add support for distribution of an unsigned jar file so that 
users installing the server kit can install it by providing the
required signing certificates.
Fri Jul 30 10:53:36 1999 PDT suhler

update: server/Main.java, server/Request.java
added "listenQueue" option to Main, to set the initial server socket listenQ
added flush() call after request headers are emitted.  This is used
(incorrectly) by the TailHandler to identify the end of the headers.
Fri Jul 30 10:49:57 1999 PDT suhler

create: tail/doc/index.html, tail/doc/sample.txt, tail/Filter.java, tail/Makefile, tail/README, tail/PlainFilter.java, tail/config, tail/TailHandler.java, tail/config2, tail/TemplateFilter.java
first attempt at a handler that allows filtering of already processed
ouput.  Its purpose is to help noodle about the proper way
to restructure naws co this isn't so kludgy
Fri Jul 30 10:12:55 1999 EDT rinaldo

create: pcsdemo/startandtail, pcsdemo/config.demo-devices-client.darwin, pcsdemo/doc/cv/login.html, pcsdemo/doc/cv/roles, pcsdemo/doc/cv/exit/bye.html, pcsdemo/doc/Overview.jpg
update: pcsdemo/dist/brazilall.iap, pcsdemo/c, pcsdemo/config.demo-devices-client, pcsdemo/config.demo-server, pcsdemo/runpcs, pcsdemo/doc/demo/DEMO.html, pcsdemo/doc/applets/Makefile, pcsdemo/doc/configure.form, pcsdemo/doc/index.html, handlers/ConfigFileHandler.java, pcsdemo/doc/whatiscardserver.html
rename: pcsdemo/doc/demo/whatiscardserver.html -> pcsdemo/doc/whatiscardserver.html
delete: pcsdemo/config.demo-devices-client-unix, pcsdemo/config.demo-devices-client-windows, pcsdemo/config.demo-devices-server-unix, pcsdemo/config.demo-devices-server-windows
Support a welcome page, iconify start scripts, change config to support
no default configuration, Remove spelling errors add some more docs
Mon Jul 26 17:44:20 1999 EDT rinaldo

create: pcsdemo/doc/demo/commerce/receipt.form, pcsdemo/doc/demo/javahome.html, pcsdemo/doc/certs/digiorgio.cac, pcsdemo/doc/certs/mack.cac
update: pcsdemo/dist/brazilall.iap, pcsdemo/Makefile, pcsdemo/config.demo-client, pcsdemo/config.demo-devices-client, pcsdemo/config.demo-server, pcsdemo/doc/demo/commerce/ship.html, pcsdemo/doc/demo/commerce/pay.form, pcsdemo/doc/demo/commerce/shipupdate.form, pcsdemo/doc/demo/atm/accounts.txt, pcsdemo/doc/demo/frcontent.html, pcsdemo/doc/demo/index.html, pcsdemo/doc/demo/test/ccapdus.html, pcsdemo/doc/js/managecard.js, pcsdemo/doc/configure.form, pcsdemo/doc/index.html
delete: pcsdemo/doc/demo/commerce/receipt.html
HTML changes
Support a local config file handler on the local machine for configuration.
Remove Pin frompurse balance check.
Thu Jul 22 15:04:59 1999 PDT suhler

update: server/Main.java, server/Server.java
Limited the max # of threads the server will create (defaults to 250).
Mon Jul 19 12:03:49 1999 PDT suhler

create: cgi-scripts/README, cgi-scripts/jserv.cgi, cgi-scripts/reflect.cgi, cgi-scripts/av2xml.cgi, cgi-scripts/stock.cgi, cgi-scripts/stock2.cgi
update: tclHandlers/TclHandler.java, pcsdemo/Makefile
- put cgi scripts (including java servlet runner) into a separate directory
- added javaDocs to tclHandler
Fri Jul 16 00:34:14 1999 EDT rinaldo

create: pcsdemo/doc/cardlets/CreateDNL.java
update: pcsdemo/config.demo-devices-client, pcsdemo/doc/cardlets/Makefile, pcsdemo/doc/js/managecard.js
Add more options to the download pages and provide more feedback on errors. Correct error with profile load.
Thu Jul 15 09:35:38 1999 EDT rinaldo

update: pcsdemo/Makefile, pcsdemo/config.demo-client, pcsdemo/doc/js/managecard.js, pcsdemo/doc/oc/ocleft.html, pcsdemo/doc/oc/octestupper.html, pcsdemo/doc/configure.form, pcsdemo/doc/index.html
Correct default settings for configuration and error checks for Bcard.
Wed Jul 14 14:16:43 1999 EDT rinaldo

create: pcsdemo/doc/configure.form, pcsdemo/doc/index.html
update: pcsdemo/dist/brazilall.iap, pcsdemo/Makefile
Update HTML doc and add absolute InstallAnywhere fix
taype make editia to bring up installer editor then select existing and advanced mode
Wed Jul 14 11:38:14 1999 EDT rinaldo

create: pcsdemo/dist/solaris/setpcsport, pcsdemo/dist/images/brazilinstall.gif, pcsdemo/doc/oc/index.html, pcsdemo/doc/oc/octest.html, pcsdemo/doc/oc/ocleft.html, pcsdemo/doc/oc/ocmain.html, pcsdemo/doc/oc/octestupper.html
update: pcsdemo/dist/brazilall.iap, pcsdemo/dist/solaris/chmodtty, pcsdemo/Makefile, pcsdemo/config.demo-client, pcsdemo/config.demo-devices-server, pcsdemo/config.demo-server, pcsdemo/s, pcsdemo/runpcs, pcsdemo/doc/js/managecard.js, handlers/ConfigFileHandler.java
delete: pcsdemo/config.demo-devices
Add html configuration of ports using ConfigHandler, documentation
Tue Jul 13 09:38:07 1999 PDT suhler

update: handlers/ConfigFileHandler.java
the "redirect" config parameter is looked-up in the form data/ config file
first.  If not found, it is used as the redirect target
Mon Jul 12 09:31:00 1999 PDT suhler

update: handlers/AuthHandler.java, handlers/PublishHandler.java, handlers/Makefile, handlers/config.sample, handlers/ResourceHandler.java
- fixed publish handler to use ACL returned by AuthHandler
- Updated makefile to provide targets to add documents into the jar file
- updated the sample config file
Fri Jul 9 16:05:45 1999 PDT suhler

create: handlers/ResourceHandler.java
update: handlers/HtmlMunge.java, handlers/Makefile
add handler for reading documents out of the jar file
Fri Jul 9 10:06:18 1999 PDT suhler

update: server/Main.java
Main initializes the config file with the resource:
/sunlabs/brazil/server/config on startup.
 
This allows default server configurations to be included in the jar
file, so that "java -jar server.jar" becomes a self contained
application
Thu Jul 1 00:31:30 1999 EDT rinaldo

update: pcsdemo/dist/brazilall.iap, pcsdemo/config.demo-client, pcsdemo/config.demo-devices, pcsdemo/config.demo-devices-client, pcsdemo/config.demo-devices-server, pcsdemo/config.demo-server, pcsdemo/config.demo-devices-client-unix, pcsdemo/config.demo-devices-server-windows, pcsdemo/config.demo-devices-client-windows, pcsdemo/config.demo-devices-server-unix, pcsdemo/runpcs, pcsdemo/config.smartcards, deleted_files/pcsdemo/run
delete: pcsdemo/config.demo-win32-dal-legacy, pcsdemo/config.demo-win32-sm1, pcsdemo/run
Created a three step process once InstallAnywhere has put the bits on the disk.

	First page at doc root has poitners for external and internal
	certificates and link to step 2.


	This steps allows user to change the configuration form html.
	The Opencard handlers was changed to support the construction
	of OpenCard.terminals from OpenCard.device and OpenCard.driver.

	A test page that allow user to stop and start openCard without
	restarting the server so that properties can be changed 
	interactively.

	InstallAnywhere tests, html changes.
Wed Jun 30 12:23:31 1999 PDT suhler

update: handlers/templates/FormTemplate.java, handlers/config-test/test.cfg, handlers/config-test/form1.html
Add processing for <option> tags
Tue Jun 29 17:49:55 1999 PDT suhler

create: handlers/config.mapSite
sample config file for proxying a single entire site
Tue Jun 29 14:45:10 1999 PDT suhler

update: handlers/HomeDirHandler.java, handlers/ConfigFileHandler.java, server/FileHandler.java, server/Request.java, server/Server.java
Change the way redirects work to use the host header field as available
Tue Jun 29 09:38:22 1999 PDT suhler

create: handlers/config-test/test.cfg, handlers/config-test/form1.html, handlers/config-test/form2.html
update: handlers/ConfigFileHandler.java, handlers/config.config, handlers/config-test/ok.html, handlers/config-test/index.html
redo of config-file handler to make it more useful
Mon Jun 28 20:32:20 1999 EDT rinaldo

create: deleted_files/todo/doc/customer/acme/acmehome.jpg, deleted_files/todo/doc/customer/acme/df.tcl, deleted_files/todo/doc/customer/acme/console_pic.gif, deleted_files/todo/doc/customer/acme/frbanner.form, deleted_files/todo/doc/customer/acme/sunlogo.gif, deleted_files/todo/doc/customer/acme/customization.doc.anc13.gif, deleted_files/todo/doc/customer/acme/index.html, deleted_files/todo/doc/customer/acme/insert.gif, deleted_files/todo/doc/customer/acme/JBE.pdf, deleted_files/todo/doc/customer/acme/JBE2.pdf, deleted_files/todo/doc/customer/acme/passwd.gif, deleted_files/todo/doc/customer/acme/logintocustomer.html, deleted_files/todo/doc/customer/acme/logintosun.html, deleted_files/todo/doc/customer/acme/pkginfo.tcl, deleted_files/todo/doc/customer/acme/sunbg02.jpg, deleted_files/todo/doc/customer/acme/sunbox_prob_rept.html, deleted_files/todo/doc/customer/acme/sysdef.tcl, deleted_files/todo/doc/customer/acme/sunbox_prob_rept.jpg, deleted_files/todo/doc/customer/acme/sunbox_thank.html, deleted_files/todo/doc/customer/acme/sunbox_thank.jpg, deleted_files/todo/doc/customer/acme/sunboxwelcome.html, deleted_files/todo/doc/customer/acme/sunboxwelcome.jpg, deleted_files/todo/doc/customer/exit/bye.html, deleted_files/todo/service/customerservice/acmehome.jpg, deleted_files/todo/service/customerservice/df.tcl, deleted_files/todo/service/customerservice/console_pic.gif, deleted_files/todo/service/customerservice/frbanner.form, deleted_files/todo/service/customerservice/sunlogo.gif, deleted_files/todo/service/customerservice/customization.doc.anc13.gif, deleted_files/todo/service/customerservice/logintocustomer.html, deleted_files/todo/service/customerservice/index.html, deleted_files/todo/service/customerservice/insert.gif, deleted_files/todo/service/customerservice/JBE.pdf, deleted_files/todo/service/customerservice/JBE2.pdf, deleted_files/todo/service/customerservice/passwd.gif, deleted_files/todo/service/customerservice/sunbox_prob_rept.html, deleted_files/todo/service/customerservice/logintosun.html, deleted_files/todo/service/customerservice/pkginfo.tcl, deleted_files/todo/service/customerservice/sunbg02.jpg, deleted_files/todo/service/customerservice/sunbox_prob_rept.jpg, deleted_files/todo/service/customerservice/sysdef.tcl, deleted_files/todo/service/customerservice/sunbox_thank.html, deleted_files/todo/service/customerservice/sunbox_thank.jpg, deleted_files/todo/service/customerservice/sunboxwelcome.html, deleted_files/todo/service/customerservice/sunboxwelcome.jpg, deleted_files/todo/service/exit/bye.html
update: pcsdemo/doc/applets/Makefile
Consistency Check
Mon Jun 28 15:07:16 1999 PDT suhler

create: handlers/MapPage.java, handlers/ConfigFileHandler.java, handlers/SessionHandler.java, handlers/VirtualHostHandler.java, handlers/config.config, handlers/config.forbade, handlers/config.includeTemplate, handlers/config.virtual, handlers/templates/NoImageTemplate.java, handlers/templates/ContentTemplate.java, handlers/config-test/README, handlers/config-test/ok.html, handlers/config-test/index.html, tclHandlers/virtual.tcl
update: Makefile, handlers/GenericProxyHandler.java, handlers/MultiProxyHandler.java, handlers/TemplateHandler.java, handlers/NotFoundHandler.java, handlers/Makefile, handlers/Template.java, handlers/templates/PropsTemplate.java, handlers/templates/IncludeTemplate.java, persistent-server/Makefile, persistent-server/config, tclHandlers/TclHandler.java, tclHandlers/Makefile, tclHandlers/config, server/FileHandler.java, server/Request.java, server/Server.java, server/Makefile, pcsdemo/Makefile, pcsdemo/doc/applets/Makefile, pcsdemo/doc/cardlets/Makefile
merge finished
 - added serveral handlers
 - make small updates to core server code
 - re-organized handlers to extract generic functionallity into separate classes
Mon Jun 28 09:28:50 1999 EDT rinaldo

create: pcsdemo/doc/cardlets/Makefile
update: pcsdemo/config.demo-devices, pcsdemo/doc/demo/personalize/index.html, pcsdemo/doc/applets/Makefile, pcsdemo/doc/js/managecard.js
delete: todo/doc/customer/acme/acmehome.jpg, todo/doc/customer/acme/df.tcl, todo/doc/customer/acme/console_pic.gif, todo/doc/customer/acme/frbanner.form, todo/doc/customer/acme/sunlogo.gif, todo/doc/customer/acme/customization.doc.anc13.gif, todo/doc/customer/acme/index.html, todo/doc/customer/acme/insert.gif, todo/doc/customer/acme/JBE.pdf, todo/doc/customer/acme/JBE2.pdf, todo/doc/customer/acme/passwd.gif, todo/doc/customer/acme/logintocustomer.html, todo/doc/customer/acme/logintosun.html, todo/doc/customer/acme/pkginfo.tcl, todo/doc/customer/acme/sunbg02.jpg, todo/doc/customer/acme/sunbox_prob_rept.html, todo/doc/customer/acme/sysdef.tcl, todo/doc/customer/acme/sunbox_prob_rept.jpg, todo/doc/customer/acme/sunbox_thank.html, todo/doc/customer/acme/sunbox_thank.jpg, todo/doc/customer/acme/sunboxwelcome.html, todo/doc/customer/acme/sunboxwelcome.jpg, todo/doc/customer/exit/bye.html, todo/service/customerservice/acmehome.jpg, todo/service/customerservice/df.tcl, todo/service/customerservice/console_pic.gif, todo/service/customerservice/frbanner.form, todo/service/customerservice/sunlogo.gif, todo/service/customerservice/customization.doc.anc13.gif, todo/service/customerservice/logintocustomer.html, todo/service/customerservice/index.html, todo/service/customerservice/insert.gif, todo/service/customerservice/JBE.pdf, todo/service/customerservice/JBE2.pdf, todo/service/customerservice/passwd.gif, todo/service/customerservice/sunbox_prob_rept.html, todo/service/customerservice/logintosun.html, todo/service/customerservice/pkginfo.tcl, todo/service/customerservice/sunbg02.jpg, todo/service/customerservice/sunbox_prob_rept.jpg, todo/service/customerservice/sysdef.tcl, todo/service/customerservice/sunbox_thank.html, todo/service/customerservice/sunbox_thank.jpg, todo/service/customerservice/sunboxwelcome.html, todo/service/customerservice/sunboxwelcome.jpg, todo/service/exit/bye.html
Consistency Check
Sun Jun 27 22:49:18 1999 EDT rinaldo

create: persistent-server/docs/a.html, persistent-server/docs/b.html, persistent-server/docs/new.gif, persistent-server/docs/sample.html, persistent-server/docs/seen.gif, persistent-server/docs/index.html, persistent-server/docs/never.gif, persistent-server/docs/touch.cgi, persistent-server/Makefile, persistent-server/README, persistent-server/config, persistent-server/run-save, persistent-server/config.bookmark, persistent-server/config.cookie, Makefile, config, README, config.hack, brazilserver.template, config.easton, pcsdemo/dist/brazilall.iap, pcsdemo/dist/install.htm, pcsdemo/dist/solaris/configure, pcsdemo/dist/solaris/chmodtty, pcsdemo/dist/docs/brazilintro.txt, pcsdemo/dist/docs/README.txt, pcsdemo/dist/docs/installdirections.txt, pcsdemo/Makefile, pcsdemo/c, pcsdemo/killpcs, pcsdemo/config.demo-client, pcsdemo/config.demo-devices, pcsdemo/config.demo-devices-client, pcsdemo/config.demo-devices-server, pcsdemo/config.demo-server, pcsdemo/config.demo-devices-client-unix, pcsdemo/config.demo-devices-server-windows, pcsdemo/config.demo-devices-client-windows, pcsdemo/config.demo-devices-server-unix, pcsdemo/config.demo-win32-dal-legacy, pcsdemo/run, pcsdemo/runpcs, pcsdemo/config.demo-win32-sm1, pcsdemo/config.smartcards, pcsdemo/s, pcsdemo/doc/demo/commerce/index.form, pcsdemo/doc/demo/commerce/pay.html, pcsdemo/doc/demo/commerce/receipt.html, pcsdemo/doc/demo/commerce/ship.html, pcsdemo/doc/demo/commerce/pay.form, pcsdemo/doc/demo/commerce/shipupdate.form, pcsdemo/doc/demo/atm/README, pcsdemo/doc/demo/atm/accounts.txt, pcsdemo/doc/demo/atm/index.html, pcsdemo/doc/demo/c1/accounts.txt, pcsdemo/doc/demo/download/frloader.html, pcsdemo/doc/demo/download/loader.html, pcsdemo/doc/demo/download/loaderfinalstatus.html, pcsdemo/doc/demo/download/loaderstatus.html, pcsdemo/doc/demo/DEMO.html, pcsdemo/doc/demo/BrazilWorkingPrototypes.html, pcsdemo/doc/demo/main.form, pcsdemo/doc/demo/Ubiquitous.html, pcsdemo/doc/demo/access.html, pcsdemo/doc/demo/frbanner.html, pcsdemo/doc/demo/whatiscardserver.html, pcsdemo/doc/demo/bannerrightatr.html, pcsdemo/doc/demo/bannerrightother.html, pcsdemo/doc/demo/frbannerleft.form, pcsdemo/doc/demo/frcontent.html, pcsdemo/doc/demo/frbannerright.html, pcsdemo/doc/demo/index.html, pcsdemo/doc/demo/main.html, pcsdemo/doc/demo/supplierlogin.form, pcsdemo/doc/demo/update.form, pcsdemo/doc/demo/pin/changepin.html, pcsdemo/doc/demo/pin/frchangepin.html, pcsdemo/doc/demo/pin/frnewpin.html, pcsdemo/doc/demo/pin/newpin.html, pcsdemo/doc/demo/pin/result.html, pcsdemo/doc/demo/c2/accounts.txt, pcsdemo/doc/demo/personalize/index.html, pcsdemo/doc/demo/personalize/result.html, pcsdemo/doc/demo/personalize/webcard.html, pcsdemo/doc/demo/cyberflex/access.html, pcsdemo/doc/demo/cyberflex/fraccess.html, pcsdemo/doc/demo/cyberflex/apduresult.html, pcsdemo/doc/demo/test/ccapdus.html, pcsdemo/doc/demo/test/echotest.html, pcsdemo/doc/demo/test/generic.html, pcsdemo/doc/demo/test/frccapdus.html, pcsdemo/doc/demo/test/frechotest.html, pcsdemo/doc/demo/test/frgeneric.html, pcsdemo/doc/demo/test/result.html, pcsdemo/doc/applets/README, pcsdemo/doc/applets/Makefile, pcsdemo/doc/cardlets/dallas/CorporateCard.jib33, pcsdemo/doc/cardlets/dallas/CorporateCard.jibjavaone, pcsdemo/doc/cardlets/schlumberger/Echo.bin, pcsdemo/doc/cardlets/schlumberger/CorporateCard.bin, pcsdemo/doc/cardlets/schlumberger/CorporateCard.bin.beforeAccess.for.open16, pcsdemo/doc/images/about.jpg, pcsdemo/doc/images/bank.jpg, pcsdemo/doc/images/bye.jpg, pcsdemo/doc/images/error.jpg, pcsdemo/doc/images/devbye.jpg, pcsdemo/doc/images/devcorner.jpg, pcsdemo/doc/images/deverr.jpg, pcsdemo/doc/images/devinsert.jpg, pcsdemo/doc/images/devpin.jpg, pcsdemo/doc/images/Java.gif, pcsdemo/doc/images/insert.gif, pcsdemo/doc/images/sneterror.jpg, pcsdemo/doc/images/splash-small.gif, pcsdemo/doc/images/insert.gif.old, pcsdemo/doc/images/javalogo.gif, pcsdemo/doc/images/partner.jpg, pcsdemo/doc/images/passwd.gif, pcsdemo/doc/images/passwd.gifold, pcsdemo/doc/images/pure_java_logo.gif, pcsdemo/doc/images/sun-webserver1.gif, pcsdemo/doc/images/sun.gif, pcsdemo/doc/images/sun2.gif, pcsdemo/doc/images/sun3.gif, pcsdemo/doc/images/sunlogo.gif, pcsdemo/doc/images/supplierbye.jpg, pcsdemo/doc/images/usa.gif, pcsdemo/doc/images/visaactivationbye.jpg, pcsdemo/doc/images/wc3.gif, pcsdemo/doc/images/whats-hot.gif, pcsdemo/doc/images/homepg3.gif, pcsdemo/doc/images/paid.gif, pcsdemo/doc/images/sun-new-header.gif, pcsdemo/doc/supplier/login.html, pcsdemo/doc/supplier/roles, pcsdemo/doc/supplier/exit/bye.html, pcsdemo/doc/supplier/solectron/Solectron-001-SL.csv, pcsdemo/doc/supplier/solectron/Solectron-001-SL.html, pcsdemo/doc/supplier/solectron/Solectron-001_200_201-SL.html, pcsdemo/doc/supplier/solectron/Solectron-200-SL.csv, pcsdemo/doc/supplier/solectron/Solectron-200-SL.html, pcsdemo/doc/supplier/solectron/Solectron-201-SL.csv, pcsdemo/doc/supplier/solectron/Solectron-201-SL.html, pcsdemo/doc/supplier/solectron/Solectron.html, pcsdemo/doc/supplier/solectron/Solectron_Barno.html, pcsdemo/doc/supplier/solectron/about-inbrief.html, pcsdemo/doc/supplier/solectron/index.html, pcsdemo/doc/supplier/solectron/logo-ani0.gif, pcsdemo/doc/supplier/solectron/selectron.html, pcsdemo/doc/supplier/solectron/sl_dt.html, pcsdemo/doc/supplier/solectron/tbar-logo.gif, pcsdemo/doc/supplier/solectron/tbar-about.gif, pcsdemo/doc/supplier/solectron/Solectron-001_200_201-SL.csv, pcsdemo/doc/js/managecard.js, test/config.rewrite, server/ChainHandler.java, server/Connection.java, server/FileHandler.java, server/Handler.java, server/Main.java, server/Request.java, server/Server.java, server/SampleHandler.java, server/README, server/Makefile, server/PJwrapper.java, handlers/AclSwitchHandler.java, handlers/AuthHandler.java, handlers/GenericProxyHandler.java, handlers/CgiHandler.java, handlers/HtmlMunge.java, handlers/HomeDirHandler.java, handlers/ReflectHandler.java, handlers/RemoteStsHandler.java, handlers/MultiProxyHandler.java, handlers/SupplyHandler.java, handlers/TemplateHandler.java, handlers/SessionManager.java, handlers/Makefile, handlers/PublishHandler.java, handlers/Token.java, handlers/ChainSawHandler.java, handlers/RolesHandler.java, handlers/SunNetAuthHandler.java, handlers/README, handlers/RemoteNetscapeHandler.java, handlers/DialogHandler.java, handlers/config.cgi, handlers/config.clientTemplate, handlers/config.dialog, handlers/config.formTemplate, handlers/ErrorMsg.java, handlers/config.new, handlers/config.sample, handlers/NotFoundHandler.java, handlers/DirectoryHandler.java, handlers/data.credentials, handlers/Template.java, handlers/templates/NewTemplate.java, handlers/templates/NewTemplate2.java, handlers/templates/CountTemplate.java, handlers/templates/README, handlers/templates/RedirectTemplate.java, handlers/templates/PropsTemplate.java, handlers/templates/FormTemplate.java, handlers/templates/FormClientTemplate.java, handlers/templates/AddHeaderTemplate.java, handlers/templates/IncludeTemplate.java, tclHandlers/TclHandler.java, tclHandlers/test.tcl, tclHandlers/subst.tcl, tclHandlers/Makefile, tclHandlers/README, tclHandlers/browser-hj.gif, tclHandlers/browser-ie.gif, tclHandlers/browser-ns.gif, tclHandlers/config, tclHandlers/index.html, tclHandlers/switch.tcl, tclHandlers/testSwitch.html, tclHandlers/count.tcl, tclHandlers/run, tclHandlers/stock.tcl, todo/doc/customer/acme/acmehome.jpg, todo/doc/customer/acme/df.tcl, todo/doc/customer/acme/console_pic.gif, todo/doc/customer/acme/frbanner.form, todo/doc/customer/acme/sunlogo.gif, todo/doc/customer/acme/customization.doc.anc13.gif, todo/doc/customer/acme/index.html, todo/doc/customer/acme/insert.gif, todo/doc/customer/acme/JBE.pdf, todo/doc/customer/acme/JBE2.pdf, todo/doc/customer/acme/passwd.gif, todo/doc/customer/acme/logintocustomer.html, todo/doc/customer/acme/logintosun.html, todo/doc/customer/acme/pkginfo.tcl, todo/doc/customer/acme/sunbg02.jpg, todo/doc/customer/acme/sunbox_prob_rept.html, todo/doc/customer/acme/sysdef.tcl, todo/doc/customer/acme/sunbox_prob_rept.jpg, todo/doc/customer/acme/sunbox_thank.html, todo/doc/customer/acme/sunbox_thank.jpg, todo/doc/customer/acme/sunboxwelcome.html, todo/doc/customer/acme/sunboxwelcome.jpg, todo/doc/customer/exit/bye.html, todo/service/customerservice/acmehome.jpg, todo/service/customerservice/df.tcl, todo/service/customerservice/console_pic.gif, todo/service/customerservice/frbanner.form, todo/service/customerservice/sunlogo.gif, todo/service/customerservice/customization.doc.anc13.gif, todo/service/customerservice/logintocustomer.html, todo/service/customerservice/index.html, todo/service/customerservice/insert.gif, todo/service/customerservice/JBE.pdf, todo/service/customerservice/JBE2.pdf, todo/service/customerservice/passwd.gif, todo/service/customerservice/sunbox_prob_rept.html, todo/service/customerservice/logintosun.html, todo/service/customerservice/pkginfo.tcl, todo/service/customerservice/sunbg02.jpg, todo/service/customerservice/sunbox_prob_rept.jpg, todo/service/customerservice/sysdef.tcl, todo/service/customerservice/sunbox_thank.html, todo/service/customerservice/sunbox_thank.jpg, todo/service/customerservice/sunboxwelcome.html, todo/service/customerservice/sunboxwelcome.jpg, todo/service/exit/bye.html
Continue a long series of putbacks that add the following:
  o Code Signing of applets removing need for preferences.js
  o Major reindentation of code to Sun Style ( there are options for every ones style)
    Please excuse any changes to source code that you had near and dear -- The tool
    should be able to support your style.  ( All methods have stubs for docs)
  o Config file specification for atrs and aids
  o Removal of all awt dependencies from card server -- moved to browser
  o Creation of small standalone demo directory with clear seperation of client
    and server.
  o Moved stsHandlers and cardHandlers to sts directory
  o added mulitple selections for download
  o versions of different cards supported
  o aid display
  o crude file deletion mechanism
  o New Install Anywehre procedure supports three types of pacakges
  o naws directory leve one is only naws
  o Pin Support
  o Removal of several hundred extraneous files
Do not do a bringover until I have built everything on mack.eng, I plan to complete this before 
12:00 or so Califronia time.