• last updated 18 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
file upgrade-5.10.1d9-5.10.1d10.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.1d9-5.10.1d10.sql
Adjust legacy data types of acs_object_types.object_type and acs_objects.object_type

This change addresses the problem mentioned in

https://cvs.openacs.org/changelog/OpenACS?cs=oacs-5-10%3Agustafn%3A20220729185340

https://github.com/openacs/openacs-core/commit/be44691f06627678122bd913bc3c95c80e93f403

which happens in some legacy applications (such as

e.g. openacs.org) where the data types of the following two

attributes are different.

acs_object_types.object_type

acs_objects.object_type

On new installations (at least concerning the last 10 years) these

data types are the same. So, probably an update script was missing

ages ago.

Since this change affects the basic object structure, MANY views

depend on this datatype and have to be dropped and recreate to

allow the correction of the datatype.

Therefore, we do not want to run this script on all sites, but

only on those where it is necessary.

    • -0
    • +340
    ./upgrade/upgrade-5.10.1d9-5.10.1d10.sql
  1. … 1 more file in changeset.
Added membership "expired" to membership states. "expired" can be

used for "dormant" accounts, which are neither "banned" nor "deleted".

    • -0
    • +9
    ./upgrade/upgrade-5.10.1d8-5.10.1d9.sql
  1. … 3 more files in changeset.
file upgrade-5.10.1d8-5.10.1d9.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.1d8-5.10.1d9.sql
  1. … 1 more file in changeset.
Improve robustness of upgrade script for legacy applications

In case, an installation has the legacy view (must be from very old installations)

in place, it is necessary to drop it before registered_users, otherwise

PostgreSQL will complain that it cannot drop view registered_users because

other objects depend on it.

Many thanks to Franz Penz to report this potential problem for old sites.

Align names used in utility db functions in Oracle and PostgreSQL

Over the years, the names used in the function for PostgreSQL and

Oracle drifted away, which is a problem when using call-by-name

convention for stored procedures. Furthermore, recent Oracle versions

do not allow attributes named "table" (for table_name). So the longer

version is now used uniformily. Fortunately, nsf allow abbreviation

for named parameters (like Tcl does), such one can use both

"-table_name" and "-table".

Bumped version number to 5.10.1d7.

    • -0
    • +167
    ./upgrade/upgrade-5.10.1d6-5.10.1d7.sql
  1. … 3 more files in changeset.
file upgrade-5.10.1d6-5.10.1d7.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.1d6-5.10.1d7.sql
  1. … 1 more file in changeset.
file upgrade-5.10.1d5-5.10.1d6.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.1d5-5.10.1d6.sql
fix broken function_args definition

    • -0
    • +2
    ./upgrade/upgrade-5.10.1d5-5.10.1d6.sql
  1. … 4 more files in changeset.
Improve spelling

    • -1
    • +1
    ./upgrade/upgrade-5.10.0d3-5.10.0d4.sql
    • -1
    • +1
    ./upgrade/upgrade-5.9.1d10-5.9.1d11.sql
Fixed update script for applications having the view "upgrade-5.10.0-5.10.1d1.sql" not defined.

This view is a legacy view ancient times, which is no included in standard installations

since ages.... It was however defined on openacs.org.

--

-- Some legacy applications might contain still the VIEW

-- "registered_users_of_package_id", which is defined in

--

-- acs-subsite/sql/postgresql/user-profiles-create.sql

--

-- This file is NOT included in new installations since over 20 years,

-- so it is not maintained and treated as a leftover from ancient

-- times. Therefore, the view registered_users_of_package_id is not

-- recreated by this update script.

    • -7
    • +20
    ./upgrade/upgrade-5.10.0-5.10.1d1.sql
refresh also "registered_users_of_package_id", which seems required on some (?) sites

    • -0
    • +10
    ./upgrade/upgrade-5.10.0-5.10.1d1.sql
file upgrade-5.10.1d2-5.10.1d3.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.1d2-5.10.1d3.sql
  1. … 1 more file in changeset.
stick to the original names with the "-" since this is also the naming convention outside of OpenACS (e.g. "scram-sha-256")

    • -0
    • +10
    ./upgrade/upgrade-5.10.1d2-5.10.1d3.sql
  1. … 6 more files in changeset.
file upgrade-5.10.1d1-5.10.1d2.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.1d1-5.10.1d2.sql
  1. … 1 more file in changeset.
Complete reform introduced in https://cvs.openacs.org/changelog/OpenACS?cs=oacs-5-10%3Agustafn%3A20210928124647

- add datamodel change to the creation script

- refactor algorithm names in a way that the new procs will comply with acs-tcl.naming__proc_naming automated test

    • -0
    • +10
    ./upgrade/upgrade-5.10.1d1-5.10.1d2.sql
  1. … 5 more files in changeset.
file upgrade-5.10.0-5.10.1d1.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.0-5.10.1d1.sql
  1. … 1 more file in changeset.
Stronger password hashes for OpenACS

This change introduces the possibility to use either the classical

OpenACS password hash algorithm "salted-sha1" or the SCRAM passord

function "scram-sha-256". The latter can be used by (a) using the

most recent version of NaviServer (from Sept 28, 2021 or newer) and

(b) by configuring the password hash preferences via Kernel package

parameter "PasswordHashAlgorithm". The package parameter can contain a

list of multiple hash algorithms in preference order. The most

preferred available algorithm is chosen.

By default, the "PasswordHashAlgorithm" is "salted-sha1", and the

behavior is as before. After upgrading to the new version of acs-tcl

and acs-kernel, the preference list can be configured. When a user

logs in and the preferred available algorithm is different from the

previously used algorithm, the upgrade is performed for the user

automatically.

The usage of SHA1 in OpenACS is easily target of security audits (see

[1]). The biggest danger is that if somebody gets full access to the

"users" table (e.g. when decommissioning a hard disk). In this case

the hashes can be attacked with dictionaries by using some crypto

hardware (when someone gets raw access to the DB, one has usually some

other big problems). However, by using the "scram-sha-256" hash

function this danger is substantially reduced. This function computes

a password hash using PBKDF2 (Password-Based Key Derivation Function

2). This function is used to reduce vulnerabilities of brute-force

attacks against password hashes. The hash function of SCRAM is PBKDF2

[RFC2898] with HMAC as the pseudorandom function (PRF) and with dkLen

== output length of HMAC == output length of the digest function. So,

it uses a better hash algorithm (sha-256 vs. sha1) and applies this a

high number of times (15K times for a password hash computation).

NaviServer supports as well the even better SCRYPT algorithm, but this

is only available when NaviServer is compiled with OpenSSL 3.0 or

newer. On the contrary, scram-sha-256 (actually PKCS5_PBKDF2_HMAC) is

available since OpenSSL 1.0.0 (2015).

All the improved hash functions require NaviServer with its tight

integration to the crypto functions of OpenSSL.

[1] https://openacs.org/forums/message-view?message_id=5522562

    • -0
    • +47
    ./upgrade/upgrade-5.10.0-5.10.1d1.sql
  1. … 6 more files in changeset.
file upgrade-5.10.0d32-5.10.0d33.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.0d32-5.10.0d33.sql
  1. … 1 more file in changeset.
As we now enforce emails to be lowercase, also sanitize existing data

    • -0
    • +5
    ./upgrade/upgrade-5.10.0d32-5.10.0d33.sql
  1. … 2 more files in changeset.
Added constraint site_nodes_parent_id_ck to table "site_nodes" to avoid certain simple loops on parent_ids

    • -0
    • +13
    ./upgrade/upgrade-5.10.0d31-5.10.0d32.sql
  1. … 3 more files in changeset.
file upgrade-5.10.0d31-5.10.0d32.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.0d31-5.10.0d32.sql
  1. … 1 more file in changeset.
added constraint acs_objects_context_id_ck to avoid certain simple loops on context_ids

    • -0
    • +13
    ./upgrade/upgrade-5.10.0d30-5.10.0d31.sql
  1. … 1 more file in changeset.
file upgrade-5.10.0d30-5.10.0d31.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.0d30-5.10.0d31.sql
add explicit cast to all max_n_rels with value null to increase readability and to ease function disambiguation

    • -6
    • +6
    ./test/rel-segments-test-types-create.sql
  1. … 3 more files in changeset.
file upgrade-5.10.0d29-5.10.0d30.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.0d29-5.10.0d30.sql
Fix attribute datatype discrepancy

    • -0
    • +9
    ./upgrade/upgrade-5.10.0d29-5.10.0d30.sql
  1. … 1 more file in changeset.
white-space changes

add as well support for schema name to util__table_column_exists and util__view_exists

    • -0
    • +65
    ./upgrade/upgrade-5.10.0d29-5.10.0d29.sql
file upgrade-5.10.0d29-5.10.0d29.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./upgrade/upgrade-5.10.0d29-5.10.0d29.sql