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

richdocuments is not compliant #535

Closed
sebelk opened this issue Jun 26, 2019 · 3 comments
Closed

richdocuments is not compliant #535

sebelk opened this issue Jun 26, 2019 · 3 comments
Labels
1. to develop Waiting for a developer good first issue Good for newcomers technical debt

Comments

@sebelk
Copy link

sebelk commented Jun 26, 2019

Steps to reproduce

  1. Upgrade to NC 16
  2. Upgrade to richdocuments (aka Collabora Online)
  3. Check code

Expected behaviour

App is compliant

Actual behaviour

Analysing /usr/share/nextcloud/apps/richdocuments/appinfo/app.php
 1 errors
    line   54: OC_Helper - Static method of private class must not be called
Analysing /usr/share/nextcloud/apps/richdocuments/lib/Controller/DocumentController.php
 1 errors
    line  396: OC_Helper - Static method of private class must not be called
Analysing /usr/share/nextcloud/apps/richdocuments/lib/Controller/WopiController.php
 3 errors
    line  151: OC_User - Static method of private class must not be called
    line  220: OC_User - Static method of private class must not be called
    line  317: != - is discouraged
Analysing /usr/share/nextcloud/apps/richdocuments/lib/Preview/Office.php
 1 errors
    line   99: OC_Image - private class must not be instantiated
Analysing /usr/share/nextcloud/apps/richdocuments/lib/TokenManager.php
 1 errors
    line  167: OC_Util - Static method of private class must not be called
Analysing /usr/share/nextcloud/apps/richdocuments/templates/admin.php
 4 errors
    line   51: != - is discouraged
    line   53: == - is discouraged
    line   64: != - is discouraged
    line   66: == - is discouraged
App is not compliant

Server configuration

Operating system: Centos 7.6.1810

Web server: Apache 2.4.6

Database: MariaDB 5.5.60

PHP version: 7.1

Nextcloud version: 16.0.1

Updated from an older Nextcloud/ownCloud or fresh install: 15

Where did you install Nextcloud from: Distro repos

Signing status:

Signing status
``` occ -vvv integrity:check-app richdocuments

echo $?

0

Technical information

The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.

Results

  • Application to check
    • EXCEPTION
      • Exception
      • App not found
  • core
    • INVALID_HASH
      • .user.ini

Raw output

Array
(
[Application to check] => Array
(
[EXCEPTION] => Array
(
[class] => Exception
[message] => App not found
)

    )

[core] => Array
    (
        [INVALID_HASH] => Array
            (
                [.user.ini] => Array
                    (
                        [expected] => 4843b3217e91f8536cb9b52700efb20300290292cf6286f92794d4cec99df286afeb7dd6c91b1be20bc55eda541eef230a5c5e7dcd46c189edd0ed1e80c6d3f5
                        [current] => 3df9ebf60726c47d35e4218c0ccf47ae1e93c70833d2be124fc0ff6b61ba37e99a6e9bb78f0deeae720022966945f129c1abfe46cf288e7a2175310c69aa48ba
                    )

            )

    )

)

</details>

**List of activated apps:**
<details>
<summary>App list</summary>

Enabled:

  • accessibility: 1.2.0
  • activity: 2.9.1
  • audioplayer: 2.7.2
  • cloud_federation_api: 0.2.0
  • comments: 1.6.0
  • dav: 1.9.2
  • deck: 0.6.2
  • drawio: 0.9.3
  • external: 3.3.0
  • federatedfilesharing: 1.6.0
  • federation: 1.6.0
  • files: 1.11.0
  • files_accesscontrol: 1.6.0
  • files_markdown: 2.0.6
  • files_pdfviewer: 1.5.0
  • files_rightclick: 0.13.0
  • files_sharing: 1.8.0
  • files_texteditor: 2.8.0
  • files_trashbin: 1.6.0
  • files_versions: 1.9.0
  • files_videoplayer: 1.5.0
  • firstrunwizard: 2.5.0
  • gallery: 18.3.0
  • groupfolders: 4.0.3
  • logreader: 2.1.0
  • lookup_server_connector: 1.4.0
  • nextcloud_announcements: 1.5.0
  • notes: 3.0.0
  • notifications: 2.4.1
  • oauth2: 1.4.2
  • password_policy: 1.6.0
  • phonetrack: 0.5.1
  • polls: 0.10.2
  • privacy: 1.0.0
  • provisioning_api: 1.6.0
  • recommendations: 0.4.0
  • richdocuments: 3.3.10
  • serverinfo: 1.6.0
  • sharebymail: 1.6.0
  • spreed: 6.0.2
  • support: 1.0.0
  • survey_client: 1.4.0
  • systemtags: 1.6.0
  • theming: 1.7.0
  • twofactor_backupcodes: 1.5.0
  • updatenotification: 1.6.0
  • user_ldap: 1.6.0
  • user_usage_report: 1.1.1
  • viewer: 1.0.0
  • workflowengine: 1.6.0
    Disabled:
  • admin_audit
  • announcementcenter
  • encryption
  • files_external
  • unsplash
</details>

**Nextcloud configuration:**
<details>
<summary>Config report</summary>

{
"system": {
"passwordsalt": "REMOVED SENSITIVE VALUE",
"secret": "REMOVED SENSITIVE VALUE",
"trusted_domains": [
"localhost",
"muteriver.example.com",
"192.168.50.8",
"infoestructura.local",
"cloud.example.com",
"cloud.example.com:44300",
"office.example.com"
],
"htaccess.RewriteBase": "/",
"datadirectory": "REMOVED SENSITIVE VALUE",
"overwrite.cli.url": "http://localhost",
"dbtype": "mysql",
"version": "16.0.1.1",
"dbname": "REMOVED SENSITIVE VALUE",
"dbhost": "REMOVED SENSITIVE VALUE",
"dbport": "",
"dbtableprefix": "oc_",
"dbuser": "REMOVED SENSITIVE VALUE",
"dbpassword": "REMOVED SENSITIVE VALUE",
"installed": true,
"instanceid": "REMOVED SENSITIVE VALUE",
"ldapIgnoreNamingRules": false,
"ldapProviderFactory": "\OCA\User_LDAP\LDAPProviderFactory",
"maintenance": false,
"memcache.local": "\OC\Memcache\APCu",
"loglevel": 2,
"mail_from_address": "REMOVED SENSITIVE VALUE",
"mail_smtpmode": "smtp",
"mail_smtpauthtype": "LOGIN",
"mail_domain": "REMOVED SENSITIVE VALUE",
"logfile": "/var/lib/nethserver/nextcloud/nextcloud.log",
"mail_smtpsecure": "",
"mail_smtphost": "REMOVED SENSITIVE VALUE",
"mail_smtpport": "25",
"theme": "",
"app_install_overwrite": [
"spreed",
"unsplash",
"announcementcenter",
"groupfolders",
"external",
"files_accesscontrol"
],
"mysql.utf8mb4": true
}
}

</details>

**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:** ActiveDirectory

#### LDAP configuration
<details>
<summary>LDAP config</summary>

+-------------------------------+----------------------------------------------------+
| Configuration | s05 |
+-------------------------------+----------------------------------------------------+
| hasMemberOfFilterSupport | 1 |
| homeFolderNamingRule | |
| lastJpegPhotoLookup | 0 |
| ldapAgentName | CN=Administrator,CN=Users,DC=example,DC=com |
| ldapAgentPassword | *** |
| ldapAttributesForGroupSearch | |
| ldapAttributesForUserSearch | |
| ldapBackupHost | |
| ldapBackupPort | |
| ldapBase | dc=example,dc=com |
| ldapBaseGroups | dc=example,dc=com |
| ldapBaseUsers | dc=example,dc=com |
| ldapCacheTTL | 600 |
| ldapConfigurationActive | 1 |
| ldapDefaultPPolicyDN | |
| ldapDynamicGroupMemberURL | |
| ldapEmailAttribute | mail |
| ldapExperiencedAdmin | 0 |
| ldapExpertUUIDGroupAttr | |
| ldapExpertUUIDUserAttr | |
| ldapExpertUsernameAttr | |
| ldapExtStorageHomeAttribute | |
| ldapGidNumber | gidNumber |
| ldapGroupDisplayName | cn |
| ldapGroupFilter | (|(cn=soporte)) |
| ldapGroupFilterGroups | |
| ldapGroupFilterMode | 0 |
| ldapGroupFilterObjectclass | |
| ldapGroupMemberAssocAttr | uniqueMember |
| ldapHost | ldaps://192.168.50.40 |
| ldapIgnoreNamingRules | |
| ldapLoginFilter | (&(&(|(objectclass=person)))(samaccountname=%uid)) |
| ldapLoginFilterAttributes | |
| ldapLoginFilterEmail | 0 |
| ldapLoginFilterMode | 0 |
| ldapLoginFilterUsername | 1 |
| ldapNestedGroups | 0 |
| ldapOverrideMainServer | |
| ldapPagingSize | 500 |
| ldapPort | 636 |
| ldapQuotaAttribute | |
| ldapQuotaDefault | |
| ldapTLS | |
| ldapUserAvatarRule | default |
| ldapUserDisplayName | displayname |
| ldapUserDisplayName2 | |
| ldapUserFilter | (&(|(objectclass=person))) |
| ldapUserFilterGroups | |
| ldapUserFilterMode | 1 |
| ldapUserFilterObjectclass | person |
| ldapUuidGroupAttribute | auto |
| ldapUuidUserAttribute | auto |
| turnOffCertCheck | 0 |
| turnOnPasswordChange | 1 |
| useMemberOfToDetectMembership | 1 |
+-------------------------------+----------------------------------------------------+

Client configuration

Browser: Firefox

Operating system: Fedora 30

Logs

Web server error log

Web server error log
[Tue Jun 25 12:47:36.229190 2019] [proxy_http:error] [pid 11137] (20014)Internal error: [client 192.168.50.54:51422] AH01102: error reading status line from remote server 127.0.0.1:20000
[Tue Jun 25 12:47:36.229263 2019] [proxy:error] [pid 11137] [client 192.168.50.54:51422] AH00898: Error reading from remote server returned by /Microsoft-Server-ActiveSync
[Tue Jun 25 14:00:07.505338 2019] [proxy_http:error] [pid 27955] (20014)Internal error: [client 192.168.50.54:51895] AH01102: error reading status line from remote server 127.0.0.1:20000
[Tue Jun 25 14:00:07.505420 2019] [proxy:error] [pid 27955] [client 192.168.50.54:51895] AH00898: Error reading from remote server returned by /Microsoft-Server-ActiveSync
[Tue Jun 25 15:15:03.017731 2019] [proxy_http:error] [pid 15830] (20014)Internal error: [client 192.168.50.54:52408] AH01102: error reading status line from remote server 127.0.0.1:20000
[Tue Jun 25 15:15:03.017807 2019] [proxy:error] [pid 15830] [client 192.168.50.54:52408] AH00898: Error reading from remote server returned by /Microsoft-Server-ActiveSync
[Tue Jun 25 16:15:03.371542 2019] [proxy_http:error] [pid 15830] (20014)Internal error: [client 192.168.50.54:52408] AH01102: error reading status line from remote server 127.0.0.1:20000
[Tue Jun 25 16:23:53.938275 2019] [proxy_http:error] [pid 22098] (20014)Internal error: [client 190.2.1.77:50302] AH01102: error reading status line from remote server 127.0.0.1:20000
[Tue Jun 25 17:15:03.601737 2019] [proxy_http:error] [pid 10713] (20014)Internal error: [client 192.168.50.54:53815] AH01102: error reading status line from remote server 127.0.0.1:20000
[Tue Jun 25 17:15:03.601815 2019] [proxy:error] [pid 10713] [client 192.168.50.54:53815] AH00898: Error reading from remote server returned by /Microsoft-Server-ActiveSync

Nextcloud log (data/nextcloud.log)

Nextcloud log
{"reqId":"XRONFwjMx9csZUAEREGVdQAAABA","level":4,"time":"2019-06-26T15:19:52+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XRONF3PyvnqCU6-i9qv2IwAAABQ","level":4,"time":"2019-06-26T15:19:53+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XRONGOb6MGBRl@CD26qv1wAAAAE","level":4,"time":"2019-06-26T15:19:53+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XRONGExcI4n7wVYV9MDPaAAAAAA","level":4,"time":"2019-06-26T15:19:54+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XRONGKPX55rmAWVK641vYwAAABI","level":4,"time":"2019-06-26T15:19:54+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XRONGgjMx9csZUAEREGVdgAAABA","level":4,"time":"2019-06-26T15:19:55+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XRONGfuAhAqvDMeBoYX1ZAAAAA4","level":4,"time":"2019-06-26T15:19:56+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XROO7TZHwWXz6uwmio1okwAAABA","level":4,"time":"2019-06-26T15:27:41+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XROO8CfeyT88gZOVPADn8wAAAAA","level":4,"time":"2019-06-26T15:27:44+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}
{"reqId":"XROO88uNGSuuscDCtyZD3QAAAAo","level":4,"time":"2019-06-26T15:27:47+00:00","remoteAddr":"192.168.50.43","user":"4EB94DDB-B4E6-40A5-A12B-D6D8224B0A3B","app":"files_texteditor","method":"PUT","url":"\/apps\/files_texteditor\/ajax\/savefile","message":"File: \/sad.txt modified since opening.","userAgent":"Mozilla\/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko\/20100101 Firefox\/66.0","version":"16.0.1.1"}

Browser log

Browser log


Content Security Policy: La configuración de la página bloqueó la carga de un recurso en eval ("script-src").
El recurso de “https://cloud.example.com/apps/files/” se bloqueó debido a la falta de coincidencia del tipo MIME (“text/html”) (X-Content-Type-Options: nosniff). files
could not load recommendation preview 
error { target: img, isTrusted: true, srcElement: img, eventPhase: 0, bubbles: false, cancelable: false, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 3902, … }
main.js:14:12601
could not load recommendation preview 
error { target: img, isTrusted: true, srcElement: img, eventPhase: 0, bubbles: false, cancelable: false, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 4176, … }
main.js:14:12601
could not load recommendation preview 
error { target: img, isTrusted: true, srcElement: img, eventPhase: 0, bubbles: false, cancelable: false, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 4177, … }
main.js:14:12601
could not load recommendation preview 
error { target: img, isTrusted: true, srcElement: img, eventPhase: 0, bubbles: false, cancelable: false, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 4344, … }
main.js:14:12601
El recurso de “https://cloud.example.com/apps/files/” se bloqueó debido a la falta de coincidencia del tipo MIME (“text/html”) (X-Content-Type-Options: nosniff). files





Any ideas?

Thanks in advance!

@juliusknorr juliusknorr added 1. to develop Waiting for a developer technical debt good first issue Good for newcomers labels Jul 1, 2019
@juliusknorr
Copy link
Member

Partly fix in #544

Unfortunately the following ones do not have a proper API in the server yet:

Analysing /var/www/html/apps-extra/richdocuments/appinfo/app.php
 1 errors
    line   54: OC_Helper - Static method of private class must not be called
Analysing /var/www/html/apps-extra/richdocuments/lib/Controller/DocumentController.php
 1 errors
    line  396: OC_Helper - Static method of private class must not be called
Analysing /var/www/html/apps-extra/richdocuments/lib/Controller/WopiController.php
 1 errors
    line  222: OC_User - Static method of private class must not be called

@stale
Copy link

stale bot commented Aug 9, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Aug 9, 2019
@juliusknorr juliusknorr removed the wontfix This will not be worked on label Aug 12, 2019
@juliusknorr
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Waiting for a developer good first issue Good for newcomers technical debt
Projects
None yet
Development

No branches or pull requests

2 participants