• last updated 10 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Make use of new API "ad_mktmpdir" and "ad_opentmpfile" instead of "ad_tmpnam"

    • -3
    • +2
    /openacs-4/packages/search/tcl/search-procs.tcl
Set "softrecreate" in nsf o avoid full cleanup on redefinition of classes

Fixed missing update_content-lob.set_content

Added missing set_content SQL statement for updating revisions stored in LOBs.

This statement was already missing in the release of OpenACS 5.10.0.

LOBs are for PostgreSQL somewhat depreacted and these are just there for

legacy applications.

fix typo

initialize list for cases, where no parameters are provided.

not sure, whether such requests are useful, nut at least, these

should not error out.

Fix typo

prefer adp:icon over old-style actions in square braces

New package parameter for acs-tcl: DbLogMinDuration

This parameter can be used to adjust the time threshold for longdb

warnings in the log file. When SQL logging is turned on, it might

also adjust the threshold, unless it is already more sensitive.

Bump version number to 5.10.1d25.

    • -2
    • +3
    /openacs-4/packages/acs-tcl/acs-tcl.info
fix broken HTML

add the daydifference to listing of long calls, when this was more than one day ago

improve spelling

    • -1
    • +1
    /openacs-4/packages/caldav/tcl/caldav-procs.tcl
improve spelling

improve spelling

improve resolution in fallback case

improve spelling

improve spelling

improve spelling

improve spelling

fix typo and use consistently "participant" for test takers

Added support for ordering long-calls by start time or by end time

Make use of new API "ad_mktmpdir" and "ad_opentmpfile" instead of "ad_tmpnam"

Make use of new API "ad_mktmpdir" and "ad_opentmpfile" instead of "ad_tmpnam"

    • -3
    • +3
    /openacs-4/packages/xowiki/xowiki.info
    • -3
    • +2
    /openacs-4/packages/xowiki/tcl/import-procs.tcl
Moved the experimental disk-cache from utilities to the other cacheing infrastructure

fix bug, when Tcl's file command uses uplevel

This change fixes a bug whem "ad_file tmpfile filename ..." is used.

The output variable "filename" was created on the wrong calling level.

Make use of new API "ad_mktmpdir" and "ad_opentmpfile" instead of "ad_tmpnam"

New API "ad_mktmpdir" and "ad_opentmpfile"

Since "ns_mktemp" is deprecated (on the C level) and is prone

to vulnerabilities. This effects as well "ad_tmpnam" in OpenACS,

which uses "ns_mktemp".

Newer C-compilers complain about this more loudly:

Due to security concerns inherent in the design of mktemp(3),

it is highly recommended that you use mkstemp(3) instead.

The security concern is that when ns_mktemp() is used to generate a

(unique) file name, which is used for opening a file, an attacker can

intercept the running binary and sneak in a different file. Although

ns_mktemp() guarantees to return a unique file name, there is no

mechanism to prevent another process or an attacker from creating a

file with the same name before the application attempts to open it.

The problem with using mkstemp() instead is that it has different

semantics, since it returns the open file. So one cannot blindly

replace these calls, but it requires some refactoring. Unfortunately,

this also effects application code, since NaviServer offers

"ns_mktemp" on the Tcl level.

To make it short: one has to separate out different use_cases of

"ad_tmpnam":

(a) use it to obtain a name for creating a file, which is subsequently opened

(b) use it to obtain a name for creating a directory

(c) use it as a name, providing name as a unique name to some external programs.

Case (a) is similar to the "mkstemp(3)" recommendation above. For this

usage scenario, the call "file tmpfile..." in Tcl 8.6 can be used (but

it should also respect the configured tmp directory. This function

is also very similar to "ns_opentempdir" in NaviServer, which uses

as well "file tmpfile". Therefore, we have created a new API call

"ad_opentmpdir ..." which respects the OpenACS settings.

Case (b) can be addressed by "file tempdir" in Tcl 8.7, or by a function

in tcllib. The new API function "ad_mktmpdir" provides respects the

OpenACS settings, and works for Tcl 8.6 or newer.

Case (c) is somewhat different, since it just wants to create a unique name. This case has not received a special API so far

    • -2
    • +2
    /openacs-4/packages/acs-tcl/acs-tcl.info
switch from png files for dot to inlne svg

This helps to avoid writing the .png files to some directory, which has

to be accessible

    • -24
    • +27
    /openacs-4/packages/xowf/tcl/xowf-procs.tcl
Bugfix: Get database name from postgres connection string keywords

The connection string can be provided for libpq either as the plain

dbname (old style) or as a list of keywords (new style).

In the latter case, the full keyword string was returned

instead of the dbname.

fixed typo (many thanks to Franz Penz for spotting this)

include request start in long-call listing