• last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Update doc

Prefer returning forbidden, unauthorized actually asks for authentication

Fix typo

Safe Exam Browser support reform:

- capture both RequestHash and ConfigKeyHash from the request headers and use both to validate the request. This enables to choose to just enforce the plain conf, instead of the whole conf+binaries combination, which is platform-specific

- support storing multiple keys, required e.g. to support multiple platform-specific keys

- make suppling of the config file optional

- extend automated tests to cover new features

- clanup redundant index

- return config file using its stored filename

    • -0
    • +10
    ./sql/postgresql/upgrade/upgrade-1.5.1-2.0.0.sql
    • -23
    • +68
    ./tcl/safe-exam-browser-procs.tcl
    • -0
    • +57
    ./tcl/test/proctoring-test-procs.tcl
file upgrade-1.5.1-2.0.0.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./sql/postgresql/upgrade/upgrade-1.5.1-2.0.0.sql
Correct hash challenging:

actually, the hash sent by the browser changes based on the requested URL, so it does not make sense to set it directly.

    • -11
    • +30
    ./tcl/safe-exam-browser-procs.tcl
Make sure the file is downloaded with a .seb extension

Avoid double encoding of base URL

file upgrade-1.4.2-1.5.0.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./sql/postgresql/upgrade/upgrade-1.4.2-1.5.0.sql
file safe-exam-browser-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./tcl/safe-exam-browser-procs.tcl
Basic backend support for Safe Exam Browser (https://safeexambrowser.org/):

via the API is possible to associate a Safe Exam Browser configuration and its validation key to

the proctored object. The proctored page will then take care of enforcing that, if the safe exam

browser is in use, the supplied request header matches with the configuration and the URL.

When such match fails, we now return the configuration file to the browser, so that users can

open it and restart their session properly configured.

    • -0
    • +5
    ./catalog/proctoring-support.en_US.ISO-8859-1.xml
    • -0
    • +16
    ./sql/postgresql/upgrade/upgrade-1.4.2-1.5.0.sql
    • -0
    • +112
    ./tcl/safe-exam-browser-procs.tcl
file upgrade-1.2.3-1.3.1.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./sql/postgresql/upgrade/upgrade-1.2.3-1.3.1.sql
file upgrade-1.3.1-1.4.1.sql was initially added on branch oacs-5-10.

    • -0
    • +0
    ./sql/postgresql/upgrade/upgrade-1.3.1-1.4.1.sql
Reconcile unusual folder structure

    • -3
    • +0
    ./sql/postgresql/upgrade-1.2.3-1.3.1.sql
    • -2
    • +0
    ./sql/postgresql/upgrade-1.3.1-1.4.1.sql
Formatting change

Make test more robust when re-running

improve spelling

Now that the proctoring display UI has been ported, notify by default new proctoring events via websockets

Do not handle 400 responses in any special way: cases found in practice were always the result of a client-side timeout

Hide timing information from the user

Streamline proctoring upload:

- do not hardcode a timeout, requests will either complete or eventually fail

- use a single event handler at the end of the request to decide if and how to reschedule the upload. This prevents the possibility that the same error event triggers multiple uploads via different handlers

- improve documentation

    • -28
    • +55
    ./www/resources/proctored-page.js
Refactoring, as proctoring files are not only pictures, make api public, write automated test

    • -0
    • +57
    ./tcl/test/proctoring-test-procs.tcl
Use better timing idiom

Implement a checksum + cache mechanism to check whether user is sending the same file multiple times:

this is needed to address the problem of timeouts, where the server might process a request even when the client has given up and rescheduled the upload. We now store the latest checksum that has been received and compare it with the new picture.

file proctoring-support-init.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./tcl/proctoring-support-init.tcl
Some changes to allow including the UI in pages that need query parameters (e.g. the 'm' method)

Make proctoring-display provide a master, according to a parameter

Improve doc, bring param in the contract

Port of the downstream proctoring-display user interface, minus the WU-specific stuff, that we will maintain locally

file proctoring-display.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./lib/proctoring-display.tcl