informatics-isi-edu / hatrac

Simple object storage for collaborations
Apache License 2.0
3 stars 1 forks source link

ACL mgmt url-decode fix #73

Closed karlcz closed 1 month ago

karlcz commented 1 month ago

Fixes a regression in the /hatrac/path/name;acl/access/entry resources that allow addressing of individual entries in an access control list.

Since some time during the Flask port and general revision to how URLs are parsed and dispatched, these haven't been working as they need to. The entry value will be URL encoded, e.g. when it is a URI, but this needs to be decoded before it is mapped to the underlying ACL storage in the database. It also needs to be re-encoded when generating a NotFound exception that names the specific ACL entry.

(This is different than namespace and object names which we keep encoded even in the database, and that's where the regression stems from.)