• last updated 34 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Complete api coverage for the package

Cover remaining export api

    • -15
    • +129
    ./test/file-storage-procs.tcl
Make fs::get_folder_contents private: this api is only used internally to the file-storage over the codebase and its documentation suggests that it should be used with caution

Deprecate trivial fs::get_archive_extension and inline its only upstream occurrence

  1. … 1 more file in changeset.
Prevent usage of fs::get_archive_command outside a file-storage connection context, as in this case the parameter value will be uspecified

Deprecate fs::item_editable_info and fs::item_editable_p, probably unfinished work towards some kind of inline editing feature

Increase proc coverage

Declare api as tested

Make the api creating the Service Contract implementations for RSS in the file-storage package private, as they are meant to be invoked only once at install/uninstall time

Deprecate fs::torrent::get_hashsum, which can be replaced by a oneliner idiom on modern NaviServer

Increase proc coverage

Deprecate fs::add_created_version

This api was nowhere used in upstream code, however, allowed to create a new file object revision by text content, different from fs::add_version, which would only allow to create a revision from a file.

As the two apis were otherwise identical, I have ported the behavior of fs::add_created_version info fs::add_version.

The new fs::add_version will also take many defaults for unspecified parameters from the existing content item.

Make service contract implementation private

Don't load the DAV callbacks when oacs-dav is not installed

Commit remaining files

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

  1. … 4 more files in changeset.
Make service contract implementation private and replace foreign occurrences

  1. … 1 more file in changeset.
Whitespace changes

Make service contract implementation private: they are not meant to be invoked directly

Make service contract implementations private

Whitespace cleanup

Deprecate twt::user::create and twt::user::delete, superseded by their acs::test::user:: counterparts

  1. … 11 more files in changeset.
Fix self-inflicted bug: one should indeed be able to specify the same form var multiple time, test the behavior for the future

  1. … 2 more files in changeset.
Reimplement upload automated test using a real multipart request, as newer naviserver will reject handcrafted .tmpfile parameters

Bring test closer to reality

Test the behavior of the file-storage when a malicious user would try to store a pre-existing file on the server as its own

The fix for the file-storage is a simple validation to make sure that the tmpfile exists, however, for the generic case of the file widget, we cannot trust the tmpfile value when this was not generated by the server. This will probably cause regression when one wants to show a "preview" of a form, to be continued.

  1. … 2 more files in changeset.
Whitespace cleanup

acs::test::user::delete: added flag -delete_created_acs_objects and fix regression test for file-storage

  1. … 5 more files in changeset.
Fixes for Oracle 19c: more fixes of handling of Boolean values

ad_conn provides since a long time a fallback when the package_id is queried outside of a connection context, hence no need for these concerning catches