nextcloud / user_external

👥 External user authentication methods like IMAP, SMB and FTP
https://apps.nextcloud.com/apps/user_external
108 stars 64 forks source link

Collabora Office fails to load AutoloadNotAllowedException #109

Closed pelaxa closed 4 years ago

pelaxa commented 4 years ago

Steps to reproduce

  1. Setup NextCloud 16.04 using docker image
  2. Setup Collabora Development Edition as a separate docker container on same network as #1
  3. Setup nginx_proxy as a separate container to handle both #1 and #2
  4. setup the Collabora URL in NextCloud settings.
  5. Try to access a document.

Expected behaviour

Expected the document to open in Collabora for editing.

Actual behaviour

Failed to load Collabora online please try again

Server configuration

User External App version: Collabora Online 3.4.2

Operating system: Linux (running NextCloud docker image)

Web server: Apache running behind nginx proxy

Database: MariaDB

PHP version: 7.2

Nextcloud version: 16.0.4

Updated from an older Nextcloud/ownCloud or fresh install:. Updated and moved from a VM image where Collabora was not used.

NextCloud config: 'instanceid' => 'ocycb1u5e2pi', 'passwordsalt' => 'XXXXX/', 'secret' => 'XXXXX', 'trusted_domains' => array ( 0 => 'cloud.XXXXX.net', 1 => 'office.XXXXX.net', ), 'datadirectory' => '/var/www/html/data', 'overwrite.cli.url' => 'https://cloud.XXXXX.net', 'htaccess.RewriteBase' => '/', 'dbtype' => 'mysql', 'version' => '16.0.4.1', 'mysql.utf8mb4' => true, 'installed' => true, 'dbname' => 'nextcloud_XXXXX', 'dbhost' => 'db', 'dbport' => '', 'dbtableprefix' => 'oc_', 'dbuser' => 'oc_admin1', 'dbpassword' => 'XXXXX', 'memcache.local' => '\\OC\\Memcache\\APCu', 'mail_smtpmode' => 'smtp', 'mail_smtpauthtype' => 'LOGIN', 'mail_smtpsecure' => 'ssl', 'mail_smtpauth' => 1, 'mail_from_address' => 'no-reply', 'mail_domain' => 'XXXXX.net', 'mail_smtphost' => 'smtp.XXXX.com', 'mail_smtpport' => '465', 'mail_smtpname' => 'no-reply@XXXXX.net', 'mail_smtppassword' => 'XXXX', 'maintenance' => false, 'theme' => '', 'loglevel' => 0, 'logfile' => 'data/nextcloud.log', 'log_type' => 'owncloud', 'updater.release.channel' => 'stable', 'app_install_overwrite' => array ( 0 => 'spreed', 1 => 'caniupdate', 2 => 'end_to_end_encryption', ),

Logs "method":"GET","url":"\/apps\/richdocuments\/index?fileId=1231&requesttoken=gKYhA%2FL6LfU8yGShZoDuenuDFxuu5xI1b85a%2FE6kVTA%3D%3A7ecZcqKDRpsN%2FVaXD9KHSk7tJSyWr11BBaZjrD7UZhs%3D","message":{"Exception":"OCP\\AutoloadNotAllowedException","Message":"Autoload path not allowed: \/var\/www\/html\/apps\/federation\/lib\/trustedservers.php","Code":0,"Trace":[{"file":"\/var\/www\/html\/lib\/autoloader.php","line":162,"function":"isValidPath","class":"OC\\Autoloader","type":"->","args":["\/var\/www\/html\/apps\/federation\/lib\/trustedservers.php"]},{"function":"load","class":"OC\\Autoloader","type":"->","args":["OCA\\Federation\\TrustedServers"]},{"function":"spl_autoload_call","args":["OCA\\Federation\\TrustedServers"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":96,"function":"__construct","class":"ReflectionClass","type":"->","args":["OCA\\Federation\\TrustedServers"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":119,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\Federation\\TrustedServers"]},{"file":"\/var\/www\/html\/lib\/private\/ServerContainer.php","line":150,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\Federation\\TrustedServers"]},{"file":"\/var\/www\/html\/apps\/richdocuments\/lib\/Service\/FederationService.php","line":59,"function":"query","class":"OC\\ServerContainer","type":"->","args":["OCA\\Federation\\TrustedServers"]},{"function":"__construct","class":"OCA\\Richdocuments\\Service\\FederationService","type":"->","args":[{"__class__":"OC\\Memcache\\Factory"},{"__class__":"OC\\Http\\Client\\ClientService"},{"__class__":"OC\\AppFramework\\Logger"},{"__class__":"OCA\\Richdocuments\\TokenManager"}]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":81,"function":"newInstanceArgs","class":"ReflectionClass","type":"->","args":[[{"__class__":"OC\\Memcache\\Factory"},{"__class__":"OC\\Http\\Client\\ClientService"},{"__class__":"OC\\AppFramework\\Logger"},{"__class__":"OCA\\Richdocuments\\TokenManager"}]]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":98,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":[{"name":"OCA\\Richdocuments\\Service\\FederationService","__class__":"ReflectionClass"}]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":119,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\Richdocuments\\Service\\FederationService"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php","line":411,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\Richdocuments\\Service\\FederationService"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php","line":382,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\Richdocuments\\Service\\FederationService"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":68,"function":"query","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\Richdocuments\\Service\\FederationService"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":98,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":[{"name":"OCA\\Richdocuments\\Controller\\DocumentController","__class__":"ReflectionClass"}]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php","line":119,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\Richdocuments\\Controller\\DocumentController"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php","line":411,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\Richdocuments\\Controller\\DocumentController"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/DependencyInjection\/DIContainer.php","line":382,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\Richdocuments\\Controller\\DocumentController"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/App.php","line":113,"function":"query","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\Richdocuments\\Controller\\DocumentController"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php","line":47,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Richdocuments\\Controller\\DocumentController","index",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"richdocuments.document.index"}]},{"function":"__invoke","class":"OC\\AppFramework\\Routing\\RouteActionHandler","type":"->","args":[{"_route":"richdocuments.document.index"}]},{"file":"\/var\/www\/html\/lib\/private\/Route\/Router.php","line":297,"function":"call_user_func","args":[{"__class__":"OC\\AppFramework\\Routing\\RouteActionHandler"},{"_route":"richdocuments.document.index"}]},{"file":"\/var\/www\/html\/lib\/base.php","line":975,"function":"match","class":"OC\\Route\\Router","type":"->","args":["\/apps\/richdocuments\/index"]},{"file":"\/var\/www\/html\/index.php","line":42,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"\/var\/www\/html\/lib\/autoloader.php","Line":137,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/13.0.1 Safari\/605.1.15","version":"16.0.4.1"} "method":"PROPFIND","url":"\/remote.php\/dav\/files\/kouroche\/Documents","message":{"Exception":"Sabre\\DAV\\Exception\\NotAuthenticated","Message":"CSRF check not passed.","Code":0,"Trace":[{"file":"\/var\/www\/html\/apps\/dav\/lib\/Connector\/Sabre\/Auth.php","line":155,"function":"auth","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":[{"absoluteUrl":"http:\/\/cloud.sedaghatian.net\/remote.php\/dav\/files\/kouroche\/Documents","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"\/var\/www\/html\/3rdparty\/sabre\/dav\/lib\/DAV\/Auth\/Plugin.php","line":200,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\Auth","type":"->","args":[{"absoluteUrl":"http:\/\/cloud.sedaghatian.net\/remote.php\/dav\/files\/kouroche\/Documents","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"\/var\/www\/html\/3rdparty\/sabre\/dav\/lib\/DAV\/Auth\/Plugin.php","line":150,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"absoluteUrl":"http:\/\/cloud.sedaghatian.net\/remote.php\/dav\/files\/kouroche\/Documents","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"absoluteUrl":"http:\/\/cloud.sedaghatian.net\/remote.php\/dav\/files\/kouroche\/Documents","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"\/var\/www\/html\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php","line":105,"function":"call_user_func_array","args":[[{"autoRequireLogin":true,"__class__":"Sabre\\DAV\\Auth\\Plugin"},"beforeMethod"],[{"absoluteUrl":"http:\/\/cloud.sedaghatian.net\/remote.php\/dav\/files\/kouroche\/Documents","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"\/var\/www\/html\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":466,"function":"emit","class":"Sabre\\Event\\EventEmitter","type":"->","args":["beforeMethod",[{"absoluteUrl":"http:\/\/cloud.sedaghatian.net\/remote.php\/dav\/files\/kouroche\/Documents","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"\/var\/www\/html\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":254,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"absoluteUrl":"http:\/\/cloud.sedaghatian.net\/remote.php\/dav\/files\/kouroche\/Documents","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"\/var\/www\/html\/apps\/dav\/lib\/Server.php","line":316,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/html\/apps\/dav\/appinfo\/v2\/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/html\/remote.php","line":163,"args":["\/var\/www\/html\/apps\/dav\/appinfo\/v2\/remote.php"],"function":"require_once"}],"File":"\/var\/www\/html\/apps\/dav\/lib\/Connector\/Sabre\/Auth.php","Line":221,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/13.0.1 Safari\/605.1.15","version":"16.0.4.1"} "method":"GET","url":"\/core\/preview?fileId=153&c=afdf30d75d7008114cc22426edba7fc6&x=500&y=500&forceIcon=0","message":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error:POST https:\/\/office.sedaghatian.net\/lool\/convert-to\/pngresulted in a413 Request Entity Too Largeresponse:\n<html>\r\n<head><title>413 Request Entity Too Large<\/title><\/head>\r\n<body>\r\n<center><h1>413 Request Entity Too Large<\/h1>< (truncated...)\n","Code":413,"Trace":[{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/guzzle\/src\/Middleware.php","line":66,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":[{"__class__":"GuzzleHttp\\Psr7\\Request"},"*** sensitive parameter replaced ***"]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/Promise.php","line":203,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/Promise.php","line":156,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":[1,"*** sensitive parameter replaced ***",[{"__class__":"GuzzleHttp\\Promise\\Promise"},{"__class__":"Closure"},null]]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/TaskQueue.php","line":47,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/Promise.php","line":246,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[true]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/Promise.php","line":223,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/Promise.php","line":267,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/Promise.php","line":225,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/promises\/src\/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"\/var\/www\/html\/3rdparty\/guzzlehttp\/guzzle\/src\/Client.php","line":131,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"\/var\/www\/html\/lib\/private\/Http\/Client\/Client.php","line":231,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["post","https:\/\/office.sedaghatian.net\/lool\/convert-to\/png",{"verify":"\/var\/www\/html\/data\/files_external\/rootcerts.crt","timeout":10,"multipart":[{"name":"Nextcloud Manual.pdf","contents":null}],"synchronous":true}]},{"file":"\/var\/www\/html\/apps\/richdocuments\/lib\/Preview\/Office.php","line":90,"function":"post","class":"OC\\Http\\Client\\Client","type":"->","args":["https:\/\/office.sedaghatian.net\/lool\/convert-to\/png",{"timeout":10,"multipart":[{"name":"Nextcloud Manual.pdf","contents":null}]}]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/GeneratorHelper.php","line":59,"function":"getThumbnail","class":"OCA\\Richdocuments\\Preview\\Office","type":"->","args":["Nextcloud Manual.pdf",4096,4096,false,{"__class__":"OC\\Files\\View"}]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":194,"function":"getThumbnail","class":"OC\\Preview\\GeneratorHelper","type":"->","args":[{"__class__":"OCA\\Richdocuments\\Preview\\Pdf"},{"__class__":"OC\\Files\\Node\\File"},4096,4096]},{"file":"\/var\/www\/html\/lib\/private\/Preview\/Generator.php","line":118,"function":"getMaxPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\SimpleFS\\SimpleFolder"},{"__class__":"OC\\Files\\Node\\File"},"application\/pdf"]},{"file":"\/var\/www\/html\/lib\/private\/PreviewManager.php","line":205,"function":"getPreview","class":"OC\\Preview\\Generator","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},500,500,true,"fill","application\/pdf"]},{"file":"\/var\/www\/html\/core\/Controller\/PreviewController.php","line":175,"function":"getPreview","class":"OC\\PreviewManager","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},500,500,true,"fill"]},{"file":"\/var\/www\/html\/core\/Controller\/PreviewController.php","line":147,"function":"fetchPreview","class":"OC\\Core\\Controller\\PreviewController","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},500,500,false,false,"fill"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":166,"function":"getPreviewByFileId","class":"OC\\Core\\Controller\\PreviewController","type":"->","args":[153,500,500,false,false,"fill"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php","line":99,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\PreviewController"},"getPreviewByFileId"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/App.php","line":126,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\PreviewController"},"getPreviewByFileId"]},{"file":"\/var\/www\/html\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php","line":47,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\PreviewController","getPreviewByFileId",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"core.Preview.getPreviewByFileId"}]},{"function":"__invoke","class":"OC\\AppFramework\\Routing\\RouteActionHandler","type":"->","args":[{"_route":"core.Preview.getPreviewByFileId"}]},{"file":"\/var\/www\/html\/lib\/private\/Route\/Router.php","line":297,"function":"call_user_func","args":[{"__class__":"OC\\AppFramework\\Routing\\RouteActionHandler"},{"_route":"core.Preview.getPreviewByFileId"}]},{"file":"\/var\/www\/html\/lib\/base.php","line":975,"function":"match","class":"OC\\Route\\Router","type":"->","args":["\/core\/preview"]},{"file":"\/var\/www\/html\/index.php","line":42,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"\/var\/www\/html\/3rdparty\/guzzlehttp\/guzzle\/src\/Exception\/RequestException.php","Line":113,"CustomMessage":"Failed to convert file to preview"},"userAgent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/13.0.1 Safari\/605.1.15","version":"16.0.4.1"}

Looking at the logs I see: {"Exception":"OCP\\AutoloadNotAllowedException","Message":"Autoload path not allowed: \/var\/www\/html\/apps\/federation\/lib\/trustedservers.php","Code":0,"Trace":[{"file":"\/var\/www\/html\/lib\/autoloader.php","line":162,"function":"isValidPath" and if I update the autoload.php to always return true for isPathValid, then everything works.

Is this a misconfiguration on my part or a bug?

pelaxa commented 4 years ago

Created this under the wrong project for nextcloud, so closing