• last updated 21 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
Fix spelling errors

  1. … 24 more files in changeset.
Improve robustness of "file delete" operations

  1. … 25 more files in changeset.
- add nonces to script elements

  1. … 4 more files in changeset.
chat-procs overhaul:

- don't double encode everything

- avoid deprecated js functions escape()/unescape()

xowiki/www/ajax/streaming-chat.js, xowiki/www/ajax/scripted-streaming-chat.js

- scripted-mode: fix incorrect markup

- fix parameter passing to xowiki/www/ajax/chat.tcl to avoid rejects

- fix json_encode: one quote to man in xotcl-core/tcl/chat-procs.tcl

- don't dropt "user has_entered_the_room" in "xo::Chat instproc login",

since xowiki chat has otherwise no idea, who is logged in

  1. … 6 more files in changeset.
- improve class, object and method browser (in collaboration

with acs-api-browser)

- improve xotcl2/nx support (e.g. obtain OpenACS doc-strings

from object, class and method definitions)

- suport for debugging methods from api-doc interface (with

an appropriate nsf version)

- rename xotcl::api to xo::api (same namespace as other OpenACS

specific xotcl stupport functions)

- state clearly that xotcl 2.0 is required

- improve xotcl2/nx support

- remove legacy code

- bump version to 0.142, update dependencies

  1. … 9 more files in changeset.
- use explicit create statements

- change "info command" -> "info commands"

  1. … 6 more files in changeset.
Merging back to HEAD all changes that happened in branch oacs-5-8 between tags: vg-merge-oacs-5-8-from-20141027 and vg-merge-oacs-5-8-from-20150427

  1. … 520 more files in changeset.
- only add encoding to mime-type for text text/* types

- improve wrning message

Merging back to HEAD branch oacs-5-8 (using tag vg-merge-oacs-5-8-from-20141027).

  1. … 2547 more files in changeset.
- The C-library function tmpnam() is deprecated since a while. Therefore naviserver has deprecated ns_tmpnam as well.

Therefore we introduce a new function "ad_tmpnam" which requires just a minimal change and uses ns_mktemp.

  1. … 27 more files in changeset.
- change tabs into spaces

  1. … 22 more files in changeset.
- treat invalid byte ranges as described in rfc2616-sec14

- make it easier to track invalid provided ranges

- use "lassign" instead of multiple "lindex" instructions

- normalize string expressions

  1. … 13 more files in changeset.
- don't abbreviate subcommands

  1. … 22 more files in changeset.
- use tcl 8.5 extended index format for "string range"

  1. … 5 more files in changeset.
- fix cancellation of duplicate requests for same-named files (fix provided by Franz Penz and Andreas Mulley)

- use lassign instead of "foreach ... break" idiom

  1. … 21 more files in changeset.
- use new naviserver command ns_driversection if available to determine writer spooling

- bgdelivery-procs:

* refactor subscriber logic to avoid code duplication

* implement sweeper to check for stale connections

- chat-procs:

* call bgdelivery sweeper from chat sweeper

  1. … 1 more file in changeset.
- Added the changes mostly provided by Antonio Pisano to update the comet behavior for current browsers, which provide nowadays often more complete HTTP stacks.

  1. … 4 more files in changeset.
- fix parametrization of ns_writer for range requests

- changed comet output to chunked encoding

use lassign instead of lset

make sure to configure the channel to nonblocking before we close. A close to a blocking channel can block and can therefore block all spools and therefore potentially the full server.

Background: Tcl's fcopy sets a channel to non-blocking. In earlier Tcl versions, the channel was left in the non-blocking state, also after fcopy terminates (e.g. in error cases).

Newer Tcl versions seem to reestablish the earlier state, so we have to care now for the problem in bgdelivery.

- use naviserver writer thread if configured

Avoid potential attacks via too many open files.

Background: Tcl uses still select() for event processing, which has a pretty much hardcoded limit of max 1024 files (one has to recompile Tcl, libc, and maybe the kernel). With bgdelivery it is possible to deliver more than 1000 files simultaneously, but Tcl panics, when the number of descriptors is too large. We experienced the problem in a sitation, where the 1000+ requests were produced from a incorrect browser behavior (e.g. iPad issues a series of range requests rapidly without closing the last requests); bgdelivery allows now just one spooling request for a file from a user at one time.