SolidOS / SolidOS/solid-ui

acl:Authorization missing for default

Open
#172 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug enhancement
Dominant language
TypeScript
Stars
153
Forks
46
Avg merge
1d 8h
Merged PRs (30d)
7

Description

@Bourgeoa found an inconsistency while testing my solid-acl-parser library: When a folder loads the default rules from a parent, no acl:Authorization is added to these rules. As a result my parser didn't notice them.

Steps to reproduce
  1. Go to /private/ in NSS
  2. Create /private/test/ folder
  3. Set specific sharing for this folder
  4. Inspect /private/test/.acl
@prefix : <#>.
@prefix n0: <http://www.w3.org/ns/auth/acl#>.
@prefix test: <./>.
@prefix c: </profile/card#>.

:owner
    n0:accessTo test:;
    n0:agent c:me;
    n0:default test:;
    n0:mode n0:Control, n0:Read, n0:Write.
Possible Fix

In the acl.js code, there is a line where acl:Authorization is added (here), but I afaik the function which loads the default doesn't call it.

I think the acl:Authorization should also be added here (can't test and verify it though):
https://github.com/solid/solid-ui/blob/d47d8a0e875de5ae4649fdd548400113b9f24c8d/src/acl.js#L55

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/acl.js around the default-rule loading code at line 55, then compare it with the acl:Authorization handling around line 249. Reproduce the /private/test/ scenario in NSS and inspect the generated .acl; done means inherited default rules include acl:Authorization.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authorization
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.