owncloud / owncloud/core

Expiration date limits for reshare of a received share

Open
#37,013 16 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Type:Bug
Dominant language
PHP
Stars
8.8k
Forks
2.1k
Avg merge
20h 7m
Merged PRs (30d)
41

Description

Example: (today is 2020-02-25)

  1. There is no default expiration date set (i.e. default is "never expire")

  2. Anne shares folder with Bob and sets expiration date 2020-03-03

  3. Bob shares with Carol and sets expiration date to 2020-03-10 (or clears the expiration date)
    After 2020-03-03 Bob cannot see the folder, but Carol can see it. That seems odd, since Anne originally only gave Bob access until 2020-03-03, so why can Bob grant Carol longer access.

  4. There is default expiration date set to e.g. 7 days (but not enforced)

  5. Anne shares folder with Bob and expiration date defaults to 2020-03-03

  6. Bob shares with Carol and sets expiration date to 2020-03-10 (or clears the expiration date)
    After 2020-03-03 Bob cannot see the folder, but Carol can see it. That seems odd, since Anne originally only gave Bob access until 2020-03-03, so why can Bob grant Carol longer access.

  7. There is default expiration date set to e.g. 7 days and enforced

  8. Anne shares folder with Bob and sets expiration date to 2020-02-28 (earlier than the enforced maximum)

  9. Bob shares with Carol and sets expiration date to 2020-03-03 (the enforced maximum)
    After 2020-02-28 Bob cannot see the folder, but Carol can see it. That seems odd, since Anne originally only gave Bob access until 2020-02-28, so why can Bob grant Carol longer access.

IMO when I receive a share that has an expiration date set, and has reshare permission, then I should have to keep and expiration date when I reshare it, and the expiration date of the reshare should be <= the expiration date of the received share. (i.e. I should not be able to grant longer access than the access that I received)

@pmaier1 or... what is the required behaviour?

Contributor guide

Open the contributing guide

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

No files, tests, or entry points are identified in the issue. Read the 16-comment discussion first to establish the required behavior, then locate the share-expiration and reshare-permission code and its tests; done means coverage confirms a reshare cannot outlive the received share.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
authorization, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.