• last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
reduced clobbing of global namespace

moved "populate_secrect" to "sec_*" prefix to reduce clobbering of global namespace

  1. … 3 more files in changeset.
move rp filter consistently under the rp_* prefix

don't clobber toplevel namespace

point out pre UNICODE character handling that should be fixed

addres kernel_id always via variable rathen than via method

fix wrong argument (many thank to Franz Penz for reporting the bug)

Provide a more straightforward approach of gzipping

Support gzip versions < 1.6

backport security patch from oacs-5-10

  1. … 1 more file in changeset.
add IPv6 loopback address as well as "always accepted" for web testing

allow always 127.0.0.1 in logindata as valid peer

Deprecate ad_quotehtml. use ns_quotehtml instead.

  1. … 9 more files in changeset.
don't trust login_cookie, when no session_cookie is provided

avoid multiple but identical calls

improve cross references in apidoc

No need to force-cache the value of every parameter of every package instance

We are just adding a new parameter: this should in fact not exist and therefore no cache should be present and needed to be flushed. Furthermore, in most cases one would immediately restart the server, as this normally happens in the context of a package upgrade.

Replace deprecated idioms

- Fix a tricky Tcl_Obj sharing bug triggered by the usage of C-level

IndexObjs based on volatile tables. Consider the following example:

proc foo {x} {

return [bar -value x ...]

}

The Tcl_Obj "x" is shared as name of argument and as a value of the

non-positional parameter "-value". When bar (e.g. C-implemented)

uses Tcl_GetIndexFromObj*() to lookup "x" in a table of options,

which is volatile, the involved Tcl_Obj will be converted to an

indexObj.

On a call with wrong number of arguments( e.g."foo 1 2 3"), Tcl

will try to give a nice error message, saying that "foo x" can be

called only with one argument. When printing argument "x", it sees

that "x" is an indexObj, and for these kinds of objects, "x" might

be an abbreviated version of a full name. Since the table behind

the indexObj is in the case above volatile, a crash might happen.

The committed fix above is just a temporary measure. NaviServer should

try to avoid such Tcl_Obj conversions in these cases. It is also

questionable, whether the attempt to interpret a argument name as

an abbreviated.

Whitespace cleanup

    • -14
    • +13
    ./utilities-procs-naviserver.tcl
New test for json and utf-8 encoding against Postman Echo webservice (https://docs.postman-echo.com)

Switch order of "ns_return 500" and "ad_log error" to see the error message also in cases, where "ns_return 500" will fail due to a already closed connection,

(Many thanks to Franz Penz for the suggestion)

new API call "http_auth::basic_authentication_decode" to replace 3 distinct implementations of this logic

  1. … 6 more files in changeset.
align implementation with code

Fix broken test case (broken in many dimensions)

modernize Tcl

  1. … 1 more file in changeset.
remove uneeded flag

Revert cache flushing, as it was solved differently downstream

Force a complete flush also when setting a global parameter, other than when deleting

This operation seems superfluous upstream, but downstream code has some specific flushing behavior that would otherwise be applied only at deletion. The change is supposed to be merged in a way that will enable such specific flushing downstream