• last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
increase robustness

Fixes for Oracle 19c: fix data types and interval calculation

Don't use expressions for the default value, apparently a nono in Oracle

See e.g. https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj30540.html#rrefsqlj30540__sqlj64478

    • -2
    • +1
    ./sql/oracle/upgrade/upgrade-5.10.1d0-5.10.1d1.sql
Update italian localization

    • -0
    • +3
    ./catalog/acs-templating.it_IT.ISO-8859-1.xml
Return a 422 complaint, introduce a generic error message when an item is invalid

    • -0
    • +1
    ./catalog/acs-templating.en_US.ISO-8859-1.xml
  1. … 2 more files in changeset.
Be stricter when validating widgets with restricted options: when no options are specified, treat it as automatic failure

Compute amplitude and wavelength explicitly in pixels and make it stable with respect to the captcha size, introduce a random offset for the wave instead

Fixes acs-templating.tesseract_cannot_crack_catpcha automated test

Minor modernization

- use atomic stack operations to reduce locks and avoid race conditions

- improve spelling

- break overlong lines

- better align comments with actual code

Provide a message key for help text, localize in German

    • -0
    • +2
    ./catalog/acs-templating.de_DE.ISO-8859-1.xml
    • -0
    • +1
    ./catalog/acs-templating.en_US.ISO-8859-1.xml
Drop the pointsize parameter, use size instead, yielding more predictable results across Imagemagik versions and more controllable in general, make the wavelength randomized in the distortion

Deprecate template::util::tcl_to_sql_list, completely replaced by ns_dbquotelist, a native NaviServer command

  1. … 15 more files in changeset.
Improve test portability

Baseline test of captcha robustness: challenge the captcha using tesseract, also applying basic normalizations

Fail when no value is specified

Fix tests according to new behavior

Improve behavior: invalidate the captcha when the check fails, cleanup expired captcha also when a new one is generated

Test newly introduced api

file captcha-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./tcl/test/captcha-procs.tcl
A simple image captcha implementation:

a random text is converted to a distorted image, its checksum, together with the expected text are stored in a lookup table. Upon validation, the text input by the user is matched against the checksum to determine if the captcha is correct.

Plan is to use it downstream on certain publicly available contact forms.

    • -0
    • +1
    ./catalog/acs-templating.en_US.ISO-8859-1.xml
    • -1
    • +2
    ./sql/oracle/acs-templating-create.sql
    • -0
    • +14
    ./sql/oracle/upgrade/upgrade-5.10.1d0-5.10.1d1.sql
    • -1
    • +2
    ./sql/postgresql/acs-templating-create.sql
    • -0
    • +10
    ./sql/postgresql/captcha-create.sql
file captcha-create.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./sql/oracle/captcha-create.sql
    • -0
    • +0
    ./sql/postgresql/captcha-create.sql
file captcha-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./tcl/captcha-procs.tcl
file upgrade-5.10.1d0-5.10.1d1.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./sql/oracle/upgrade/upgrade-5.10.1d0-5.10.1d1.sql
    • -0
    • +0
    ./sql/postgresql/upgrade/upgrade-5.10.1d0-5.10.1d1.sql
Make sure widget variable exists for the element

Add multiselect to the widgets we check

Restrict new widget validation of options to select and radio, not every widget must restrict the values to the options property

Implement a hook for widget-specific validation and use it to enforce that widgets that specify a list of options must return a value that belongs to those options

Inform widget: do not render any input element alongside the form value

improve spelling

validate format of richtext field always

Smartify idioms