• last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Extend test suite to check URL protocol validation

Complete the URL earlier, so that protocol-relative URLs can be correctly determined as external or not

    • -7
    • +11
    ./packages/acs-tcl/tcl/text-html-procs.tcl
Extend test suite to check behavior validating external URLs

Fixes for regression test: util_http_json_encoding

This change corrects 2 bugs, causing the regression test to fail under certain circumstances:

1) use for test location [::acs::test::url] instead of [ad_url]

The call [::acs::test::url] should be used for all tests in the regression tests and avoids

problems with wrong URLs when running e.g. in a container

2) When running on a setup with self-signed certificates, the curl requests require a "-k"

flag to be passed. Otherwise, the regression test fails.

    • -10
    • +11
    ./packages/acs-tcl/tcl/http-client-procs.tcl
Rework URL validation in ad_dom_sanitize_html

We now prefer higher level api to determine:

- if a URL is external

- what protocol should be assumed for a URL when this is relative or protocol-relative

    • -81
    • +38
    ./packages/acs-tcl/tcl/text-html-procs.tcl
Fix test case

Extend test suite

Don't append a dot to the confirmation_url to avoid 'dead URL'-problems in e-mail clients. Put the URL in quotes.

Don't append a dot to the confirmation_url to avoid 'dead URL'-problems in e-mail clients.

provide a better domain name for temporal accounts in regression test

fixed regression test, when mailserver is not yet set up (nssmtpd only)

made test for valid protocols case invariant

    • -7
    • +13
    ./packages/acs-tcl/tcl/text-html-procs.tcl
Reflect api changes in the test suite

improved spelling consistency

    • -2
    • +2
    ./packages/forums/tcl/forums-procs.tcl
improved spelling

    • -2
    • +2
    ./packages/acs-lang/tcl/lang-message-procs.tcl
    • -2
    • +2
    ./packages/acs-lang/tcl/locale-procs.tcl
    • -2
    • +2
    ./packages/acs-tcl/tcl/security-procs.tcl
    • -242
    • +0
    ./packages/acs-templating/www/admin/test/if.adp
    • -25
    • +0
    ./packages/acs-templating/www/admin/test/if.tcl
    • -1
    • +1
    ./packages/assessment/tcl/as-install-procs.tcl
    • -1
    • +1
    ./packages/xooauth/tcl/oauth-procs.tcl
    • -2
    • +2
    ./packages/xowf/tcl/test-item-procs.tcl
    • -3
    • +3
    ./packages/xowiki/tcl/form-field-procs.tcl
    • -2
    • +2
    ./packages/xowiki/tcl/xowiki-www-procs.tcl
adapt to latest cluster management changes in acs-tcl

improved Tcl9 compatibility

improved typesetting in email to admin to increase readability

improved spelling

    • -2
    • +2
    ./packages/xotcl-core/tcl/05-db-procs.tcl
    • -2
    • +2
    ./packages/xotcl-core/tcl/bgdelivery-procs.tcl
Cluster updates: better support when running in containers

- generalized servers running with an INADDR_ANY address

- handling of running server with ephemeral ports

- streamline function and variable names

- added ./tcl/acs-container-procs.tcl

* make container definitions independent of cluster handling

* create container mapping based on a JSON file, which

can be obtained from docker to get information about

external addresses

* The final interface is a mapping file in Tcl providing at least

the Tcl dict ::docker::containerMapping containing the docker

mapping. A dict key like "8080/tcp" (internal port) will return a

dict containing the keys "host", "port" and "proto" (e.g. proto

https host 192.168.1.192 port 58115).

    • -0
    • +100
    ./packages/acs-tcl/tcl/acs-container-procs.tcl
    • -4
    • +5
    ./packages/acs-tcl/tcl/cluster-init.tcl
    • -61
    • +202
    ./packages/acs-tcl/tcl/cluster-procs.tcl
file acs-container-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./packages/acs-tcl/tcl/acs-container-procs.tcl
In the end we do phase out the util_expand_entities* procs for being too lame

Good riddance

    • -7
    • +10
    ./packages/acs-tcl/tcl/text-html-procs.tcl
a protocol relative URL is not complete, but it can be understood as external

    • -8
    • +21
    ./packages/acs-tcl/tcl/utilities-procs.tcl
    • -1
    • +23
    ./packages/acs-tcl/tcl/test/acs-tcl-test-procs.tcl
Make util_complete_url_p recognize protocl-relative URLs

    • -9
    • +5
    ./packages/acs-tcl/tcl/utilities-procs.tcl
Extend the test cases for util_complete_url_p with a case of protocol-relative URL

Reimplement util_expand_entities_ie_style

This proc turned out to be long broken. We could consider phasing it out, but as it is a public interface used in a few places we prefer to keep it around and try to fix it.

The intended behavior has been reconstructed from the documentation. The new approach uses a single regexp to extract entities, which does not risk to loop indefinitely as before.

    • -44
    • +29
    ./packages/acs-tcl/tcl/text-html-procs.tcl
Test util_expand_entities and util_expand_entities_ie_style

This test will show that since the long broken parenthesys in util_expand_entities_ie_style were fixed in a recent commit, this proc will just not work.

Fix typo

After further consideration, ns_absoluteurl is actually sufficient to preform location header completion on its own and does not need a wrapper utility

    • -3
    • +1
    ./packages/acs-tcl/tcl/http-client-procs.tcl
    • -46
    • +1
    ./packages/acs-tcl/tcl/utilities-procs.tcl
    • -104
    • +0
    ./packages/acs-tcl/tcl/test/utilities-procs.tcl
Streamline terminology with other occurrences in OpenACS and NaviServer/AOLserver

- the term "location" is usually used in OpenACS/NaviServer/AOLserver for the

part of a URL before the path (i.e. SCHEME+HOST+PORT)

- the new function util::absolute_url is a value-added version of NaviServer's "ns_absoluteurl".

This is now documented with its differences, and aligned with its terminology

    • -3
    • +3
    ./packages/acs-tcl/tcl/http-client-procs.tcl
    • -29
    • +29
    ./packages/acs-tcl/tcl/utilities-procs.tcl
    • -62
    • +66
    ./packages/acs-tcl/tcl/test/utilities-procs.tcl