Ad13 vs. 3.5.1

From AOLserver Wiki
Jump to navigation Jump to search

This is an unfinished comparison between AOLserver 3.5.1 and AOLserver 3.3.1 + ad13 + oacs1. [1] It is based on Rob Mayoff's AD13 distribution notes. SourceForge patch #570072 brought the AD13 internationalization patches to 3.4.2, and would probably be a good starting point for integration.

- Jamie Rasmussen

+oacs1 patches

Vinod's ns_uuencode patch (SourceForge #474259)

  • The oacs1 patch has a major bug as discussed on SourceForge. I believe my corrected patch works but it hasn't been tested. This is not crucial because OpenACS tests for the desired behavior and falls back on (slow) TCL-based encoding.

uid/gid from Jon Griffin

  • This is SF Patch #509413. Jon confirms it has been fixed in 3.5+.

BSD exec patch

  • Is this SF Patch #415475? It's marked fixed.

Merge some of Vinod's and Mat's changes for nsxml's makefile

  • nsxml has changed since the oacs1 version so I'm not sure if these changes are needed.

+ad13 patches

Numerous patches to support character encodings including Henry Minsky's patches to translate form data to multiple charsets within a single HTTP request. Described in encoding-doc.html. These should be fleshed out here.

There is an additional encoding file, 8bit.enc (ascii, single-byte, 8 bits)

  • Should this be added to TCL?

Set system encoding to ns/server/$server/SystemEncoding (default utf-8) in modules/tcl/init.tcl.

  • This is a 1 line change

form.tcl and http.tcl are different, charsets.tcl needs to be added

Added byte range support in fastpath.c and ns_returnfile.

  • This is a HTTP/1.1 feature. Patrick Spence asks if this could be made configurable to prevent abuse by download accelerators.

Reset ADP exception before executing an ADP, in case previous ADP called ns_adp_break, etc.

  • One-line changes in adp.c and tclstubs.cpp to reset the exception
  • There are also stack checks throwing ADP_OVERFLOW. The stack check function was in thread.c of the old threads lib, and is not in AOLserver 3.5.1 ADP_OVERFLOW is still caught in 3.5.1, but it doesn't appear to be thrown.

Ns_QueryToSet will not allow parameters whose names end with ".tmpfile".

  • Looks like this could be added without much hassle.

Added boolean database parameter "WarnEmpty". If this is set, then AOLserver will log a warning when the last handle in a database pool is empty, and when a thread tries to get a handle from an empty pool. Set this in the ns/db/pool/poolname section.

  • A simple change to dbinit.c

Added Tcl command "ns_db stats poolname", which returns a two-element list. The first element is the maximum number of handles in the pool (equal to the "connections" config parameter). The second element is the number of handles currently available in the pool.

  • Simple changes to dbinit.c, dbtcl.c, and ns.h
  • It looks like the ad13 patch didn't add the command to the usage message where it should have.
  • This command doesn't appear to be used in OpenACS (CVS HEAD anyway)

Patch to op.c to not crash on bad HTTP request line if nsd.tcl has a 401 redirect.

  • Test to see if this still happens. A minor change.

Patch to NsHandleSignals to actually exit on Linux if a SIGSEGV is received.

  • Appears to be a straight-forward addition to unix.c

Patch to ns_sourceproc to cache Tcl pages (including bytecodes) if nscache module is installed.

  • Modifications in tcl/file.tcl, tcl/tclcache.tcl added

Declare Ns_ConnWriteRawData in ns.h.

  • This does not actually appear in ns.h. I believe the notes mean Ns_ConnReturnRawData in ns.h (body in return.c)

Add errorminsize to doc/config.txt.

  • doc/config.txt was removed. We could add this small documentation change to sample-config.tcl.

Fix channel memory leak in tclIO.c.

  • I'm assuming this memory leak is not in TCL 8.4, but someone should confirm. Not an AOLserver core problem anyway.

Import fix for freeing of Tcl TSD from AOLserver 4.0 tree.

  • I'm not sure what the fix was, but I'm assuming it made it into 3.5.1 as well.