nextcloud / nextcloud/files_accesscontrol

"File access control" blocks me on Android and with documents on desktop

Open
#199 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs info
Dominant language
PHP
Stars
60
Forks
22
Avg merge
2d 11h
Merged PRs (30d)
34

Description

I already opened an issue in the forum, but I report here as it seems something specifically related to this Git.

Steps to reproduce
  1. Set a filter with File access control like this. I'm sorry it is in Italian, it says that when the file is tagged with "Samuele" and the user is not in the group "Samuele", the file should not be accessed. I can confirm that non-"Samuele" users can't see such files when I share a folder with them.

  2. Add your user to the right group so that you can go through the previous filter. Here you can see I'm in "Samuele".

  3. Filter the folder with the right tag, so that the filter takes action. I tagged the folder inside which I encounter the issue.

  4. Try to access an .md of .odt or .docx (for these I use Collabora) thats behind a File access control filter.

  5. You can try moving such files in a folder that has no filter and you'll see that now it works.

Expected behaviour

.md and .docx files should open normally both in Android and on Web interface, if I comply with the rules I set in the File access control flow.

Actual behaviour

Instead I try to access an .md or .docx and I receive "Loading takes a long time" and nothing more. On Web interface, Collabora shows a message saying that maybe the file format is not supported.

Server configuration

Operating system: Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-136-generic x86_64)

Web server: Apache/2.4.29 (Ubuntu)

Database: mysql Ver 8.0.25 for Linux on x86_64 (MySQL Community Server - GPL)

PHP version: PHP 8.0.5

Nextcloud version: 21.0.2

Where did you install Nextcloud from: If I remember well I downloaded it with wget and installed it on the VPS.

Signing status:

No errors have been found.

List of activated apps:

  - accessibility: 1.7.0
  - admin_audit: 1.11.0
  - bookmarks: 4.2.1
  - bruteforcesettings: 2.1.0
  - calendar: 2.2.1
  - cloud_federation_api: 1.4.0
  - contacts: 3.5.1
  - contactsinteraction: 1.2.0
  - dashboard: 7.1.0
  - dav: 1.17.1
  - federatedfilesharing: 1.11.0
  - federation: 1.11.0
  - files: 1.16.0
  - files_accesscontrol: 1.11.0
  - files_linkeditor: 1.1.5
  - files_pdfviewer: 2.1.0
  - files_rightclick: 1.0.0
  - files_sharing: 1.13.1
  - files_trashbin: 1.11.0
  - files_versions: 1.14.0
  - files_videoplayer: 1.10.0
  - firstrunwizard: 2.10.0
  - logreader: 2.6.0
  - lookup_server_connector: 1.9.0
  - mail: 1.9.5
  - nextcloud_announcements: 1.10.0
  - notes: 4.0.4
  - notifications: 2.9.0
  - oauth2: 1.9.0
  - password_policy: 1.11.0
  - passwords: 2021.5.0
  - photos: 1.3.0
  - privacy: 1.5.0
  - provisioning_api: 1.11.0
  - recommendations: 1.0.0
  - richdocuments: 4.1.1
  - serverinfo: 1.11.0
  - settings: 1.3.0
  - sharebymail: 1.11.0
  - survey_client: 1.9.0
  - systemtags: 1.11.0
  - tasks: 0.13.6
  - text: 3.2.0
  - theming: 1.12.0
  - twofactor_backupcodes: 1.10.0
  - twofactor_totp: 6.0.0
  - updatenotification: 1.11.0
  - viewer: 1.5.0
  - workflowengine: 2.3.0

Nextcloud configuration:

<?php
$CONFIG = array (
  'instanceid' => XXXXXXXXXX,
  'passwordsalt' => XXXXXXXXXX,
  'secret' => XXXXXXXXXX,
  'trusted_domains' => 
  array (
    0 => 'nextcloud.samuelezappala.it',
  ),
  'datadirectory' => '/var/www/nextcloud.samuelezappala.it/public/data',
  'dbtype' => 'mysql',
  'version' => '21.0.2.1',
  'overwrite.cli.url' => 'https://nextcloud.samuelezappala.it',
  'dbname' => XXXXXXXXXX,
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => XXXXXXXXXX,
  'dbpassword' => XXXXXXXXXX,
  'installed' => true,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => true,
  'redis' => 
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'dbindex' => 0,
    'password' => XXXXXXXXXX,
    'timeout' => 1.5,
  ),
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 0,
  'app_install_overwrite' => 
  array (
    0 => 'passman',
    1 => 'breezedark',
  ),
  'htaccess.RewriteBase' => '/',
  'updater.release.channel' => 'stable',
  'default_phone_region' => 'IT',
  'mail_from_address' => 'samuele.zappala',
  'mail_smtpmode' => 'smtp',
  'mail_sendmailmode' => 'smtp',
  'mail_domain' => 'mail.com',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => 'smtp.mail.com',
  'mail_smtpname' => 'samuele.zappala@mail.com',
  'mail_smtppassword' => XXXXXXXXXX,
);

Are you using external storage, if yes which one: NO

Are you using encryption: NO

Are you using an external user-backend, if yes which one: NO

Client configuration

Browser: Opera 76.0.4017.123

Operating system: KDE Neon 5.21

Logs
Nextcloud log (data/owncloud.log)

I suppose you mean the logging section in the Settings of Nextcloud.

[workflowengine] Info: Last qualified flow configuration is going to run Blocca accesso a un file

PROPFIND /public.php/webdav/
from 93.63.221.126 at 2021-05-26T06:36:54+00:00
Browser log

Javascript console when trying to open a .docx that is behind a filter of File access control:
image

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

Start by reproducing the issue using the File access control filter, then review the app's handling of WebDAV access and its interaction with the richdocuments app. Compare access to filtered and unfiltered .md, .odt, and .docx files on Android and the Web interface; done means compliant users can open these files normally in both clients.

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
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.