Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exceptions related with encryption using external storage without encryption. #28780

Closed
SergioBertolinSG opened this issue Aug 23, 2017 · 12 comments
Assignees
Labels
p2-high Escalation, on top of current planning, release blocker sev3-medium status/STALE Type:Bug
Milestone

Comments

@SergioBertolinSG
Copy link
Contributor

SergioBertolinSG commented Aug 23, 2017

Steps to reproduce

  1. Set up an external storage. For example SFTP.
  2. In oC files view create three or more folders and upload several files inside them.
  3. Delete one of the created folders.

Expected behaviour

Removed folder is deleted.

Actual behaviour

Removed folder is deleted but log is full of exceptions related with encryption.

Server configuration

Operating system:
Ubuntu 16.04

Web server:
Apache

Database:
MySQL

PHP version:
7.0

ownCloud version: (see ownCloud admin page)
(current master not stable10)
{"installed":"true","maintenance":"false","needsDbUpgrade":"false","version":"10.0.3.0","versionstring":"10.0.3 beta","edition":"Community","productname":"ownCloud"}

Updated from an older ownCloud or fresh install:
Fresh

The content of config/config.php:


Are you using external storage, if yes which one: local/smb/sftp/...
Yes. SFTP

Are you using encryption:
No.

Logs

{"reqId":"ytrkb2h2NhnHSBshgTzK","level":2,"time":"2017-08-23T11:51:46+00:00","remoteAddr":"HIDDEN","user":"admin","app":"no app in context","method":"DELETE","url":"\/remote.php\/dav\/files\/admin\/SFTP\/FOLDER2","message":"Encryption module \"\" not found, file will be stored unencrypted (Module with id: OC_DEFAULT_MODULE does not exist.)"}
{"reqId":"ytrkb2h2NhnHSBshgTzK","level":3,"time":"2017-08-23T11:51:46+00:00","remoteAddr":"HIDDEN","user":"admin","app":"no app in context","method":"DELETE","url":"\/remote.php\/dav\/files\/admin\/SFTP\/FOLDER2","message":"Encryption module defined in \"FOLDER2\/DCSkKMLWsAA86Bi.jpg\" not loaded!"}
{"reqId":"ytrkb2h2NhnHSBshgTzK","level":3,"time":"2017-08-23T11:51:46+00:00","remoteAddr":"HIDDEN","user":"admin","app":"no app in context","method":"DELETE","url":"\/remote.php\/dav\/files\/admin\/SFTP\/FOLDER2","message":"Couldn't re-calculate unencrypted size for FOLDER2\/DCSkKMLWsAA86Bi.jpg"}
{"reqId":"ytrkb2h2NhnHSBshgTzK","level":3,"time":"2017-08-23T11:51:46+00:00","remoteAddr":"HIDDEN","user":"admin","app":"no app in context","method":"DELETE","url":"\/remote.php\/dav\/files\/admin\/SFTP\/FOLDER2","message":"Exception: {\"Exception\":\"OC\\\\Encryption\\\\Exceptions\\\\ModuleDoesNotExistsException\",\"Message\":\"Module with id: OC_DEFAULT_MODULE does not exist.\",\"Code\":0,\"Trace\":\"#0 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(963): OC\\\\Encryption\\\\Manager->getEncryptionModule('OC_DEFAULT_MODU...')\\n#1 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(518): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->getEncryptionModule('FOLDER2\\\/DCSkKML...')\\n#2 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(493): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->fixUnencryptedSize('FOLDER2\\\/DCSkKML...', 76565, 76565)\\n#3 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(161): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->verifyUnencryptedSize('FOLDER2\\\/DCSkKML...', 76565)\\n#4 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(401): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->filesize('FOLDER2\\\/DCSkKML...')\\n#5 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Checksum.php(59): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->fopen('FOLDER2\\\/DCSkKML...', 'r')\\n#6 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(294): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Checksum->fopen('FOLDER2\\\/DCSkKML...', 'r')\\n#7 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(748): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->fopen('FOLDER2\\\/DCSkKML...', 'r')\\n#8 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(642): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->copyBetweenStorage(Object(OCA\\\\Files_Trashbin\\\\Storage), 'FOLDER2\\\/DCSkKML...', 'files_trashbin\\\/...', false, true)\\n#9 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(742): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->copyFromStorage(Object(OCA\\\\Files_Trashbin\\\\Storage), 'FOLDER2\\\/DCSkKML...', 'files_trashbin\\\/...', false, true)\\n#10 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(614): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->copyBetweenStorage(Object(OCA\\\\Files_Trashbin\\\\Storage), 'FOLDER2', 'files_trashbin\\\/...', true, true)\\n#11 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(569): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->moveFromStorage(Object(OCA\\\\Files_Trashbin\\\\Storage), 'FOLDER2', 'files_trashbin\\\/...')\\n#12 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(569): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->moveFromStorage(Object(OCA\\\\Files_Trashbin\\\\Storage), 'FOLDER2', 'files_trashbin\\\/...')\\n#13 \\\/opt\\\/owncloud\\\/apps\\\/files_trashbin\\\/lib\\\/Trashbin.php(278): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->moveFromStorage(Object(OCA\\\\Files_Trashbin\\\\Storage), 'FOLDER2', 'files_trashbin\\\/...')\\n#14 \\\/opt\\\/owncloud\\\/apps\\\/files_trashbin\\\/lib\\\/Storage.php(185): OCA\\\\Files_Trashbin\\\\Trashbin::move2trash('SFTP\\\/FOLDER2')\\n#15 \\\/opt\\\/owncloud\\\/apps\\\/files_trashbin\\\/lib\\\/Storage.php(131): OCA\\\\Files_Trashbin\\\\Storage->doDelete('FOLDER2', 'rmdir')\\n#16 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/View.php(1123): OCA\\\\Files_Trashbin\\\\Storage->rmdir('FOLDER2')\\n#17 \\\/opt\\\/owncloud\\\/lib\\\/private\\\/Files\\\/View.php(341): OC\\\\Files\\\\View->basicOperation('rmdir', '\\\/SFTP\\\/FOLDER2', Array)\\n#18 \\\/opt\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Directory.php(323): OC\\\\Files\\\\View->rmdir('\\\/SFTP\\\/FOLDER2')\\n#19 \\\/opt\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(179): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Directory->delete()\\n#20 \\\/opt\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(287): Sabre\\\\DAV\\\\Tree->delete('files\\\/admin\\\/SFT...')\\n#21 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpDelete(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#22 \\\/opt\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#23 \\\/opt\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:DELETE', Array)\\n#24 \\\/opt\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#25 \\\/opt\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Server.php(234): Sabre\\\\DAV\\\\Server->exec()\\n#26 \\\/opt\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(31): OCA\\\\DAV\\\\Server->exec()\\n#27 \\\/opt\\\/owncloud\\\/remote.php(175): require_once('\\\/opt\\\/owncloud\\\/a...')\\n#28 {main}\",\"File\":\"\\\/opt\\\/owncloud\\\/lib\\\/private\\\/Encryption\\\/Manager.php\",\"Line\":198}"}
{"reqId":"ytrkb2h2NhnHSBshgTzK","level":2,"time":"2017-08-23T11:51:46+00:00","remoteAddr":"HIDDEN","user":"admin","app":"no app in context","method":"DELETE","url":"\/remote.php\/dav\/files\/admin\/SFTP\/FOLDER2","message":"Encryption module \"\" not found, file will be stored unencrypted (Module with id: OC_DEFAULT_MODULE does not exist.)"}

Client configuration

Browser
Chrome

@SergioBertolinSG SergioBertolinSG added Type:Bug p2-high Escalation, on top of current planning, release blocker sev3-medium labels Aug 23, 2017
@SergioBertolinSG SergioBertolinSG added this to the QA milestone Aug 23, 2017
@SergioBertolinSG
Copy link
Contributor Author

cc @sharidas

@sharidas sharidas self-assigned this Aug 24, 2017
@sharidas
Copy link
Contributor

sharidas commented Aug 24, 2017

Below are the steps followed on my local machine ( core master branch )

  • Created folder ${HOME}/Share
  • Scratch installation of oC with no encryption
  • Navigate to Storage under the admin's Settings page.
  • Select External storage as SFTP
  • Configuration section updated with localhost
  • Folder to be shared -> "/home/sujith/Share"
  • Authentication -> Username and Password selected
  • Provide username and password of the user logged in ( here its sujith )
  • Verified the green button
  • Navigate to Files view
  • Now try to create folders 1, 2, 3, 4.
  • Upload a text file to folder 4
  • Delete folder 4
  • The log file contains {"reqId":"39LCtdXYW5BWVC80HY7o","level":3,"time":"2017-08-24T13:02:08+00:00","remoteAddr":"","user":"--","app":"PHP","method":"--","url":"--","message":"Undefined variable: user at \/home\/sujith\/test\/enterprise\/lib\/public\/Util.php#193"}

So far no issues.

I would verify the same with docker and share my observation.

@sharidas
Copy link
Contributor

sharidas commented Aug 28, 2017

Here is my finding with docker: http://docker.oc.solidgear.es:10054. Couldn't reproduce the logs.

  • Scratch installation of oC with admin user. Enabled external storage and pointed to docker http://docker.oc.solidgear.es:10054/ as SFTP
  • Created a folder Sujith and shared the same as SFTP folder
  • Created folders one, two, three and four under the folder Sujith.
  • Now uplaoded file foo.txt under folder four
    Examined the logs under http://docker.oc.solidgear.es:10054/ and my local machine no updates yet.
  • Deleted folder four.
    No updates in the log....

@PVince81
Copy link
Contributor

Is this happening in 9.1 or is this something introduced in 10.0.x ? Would be good to find out before we try fixing

@SergioBertolinSG
Copy link
Contributor Author

Works fine in 10.0.2.

@PVince81
Copy link
Contributor

@sharidas can you bisect ? Maybe it was introduced by recent changes of yours ?

I think some of the changes have been obsoleted in your newer PRs, so please check.

@SergioBertolinSG
Copy link
Contributor Author

But in 10.0.2 encryption was still in core. So the encryption module cannot be missed. Which is what the exception says:
not found, file will be stored unencrypted (Module with id: OC_DEFAULT_MODULE does not exist.

@PVince81
Copy link
Contributor

in 10.0.3 encryption is also in core. only on master it got unbundled

@SergioBertolinSG
Copy link
Contributor Author

Ah right. We need to start calling master 10.1.0 to avoid confusions.

@PVince81
Copy link
Contributor

PVince81 commented Sep 4, 2017

@sharidas is this fixed ? Please always link tickets in a clear manner

@sharidas
Copy link
Contributor

sharidas commented Sep 4, 2017

PR: #28880

@lock
Copy link

lock bot commented Aug 1, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Aug 1, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
p2-high Escalation, on top of current planning, release blocker sev3-medium status/STALE Type:Bug
Projects
None yet
Development

No branches or pull requests

5 participants