Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Bug]: SSH keys not working from nextcloud 35

Aperta Adatta ai principianti
#64,702 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
75/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript, nginx, php, postgresql
Ambito
backend

Direzione di ricerca

Esamina il modulo frontend dell'app files_external per l'archiviazione SFTP, probabilmente in apps/files_external/lib/Controller/GlobalStoragesController.php o un modello correlato. Il campo di input per la chiave privata deve essere cambiato da un input a un textarea per preservare le interruzioni di riga. Testa creando un'archiviazione esterna SFTP con una chiave RSA tramite l'interfaccia utente e verifica che la chiave venga memorizzata correttamente nel database.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

0. Needs triage 35-feedback bug
⚠️ This issue respects the following points: ⚠️
  • This is not a troubleshooting question, general support matter, or webserver/proxy problem, but likely a bug (if unsure, ask the Community Help Forum).
  • This issue is not already reported on Github OR solved at the Community Help Forum (I've searched!).
  • I'm using a maintained major version of Nextcloud Server and tested against the latest patch level. (Supported major versions and current patch levels).
  • I agree to follow Nextcloud's Code of Conduct.
  • I've tried my best to provide clear reproduction steps that someone unfamiliar with this bug could use to reproduce it.
Bug description

I'm using files_external using the RSA private key authentication method.

However, when trying to use it after the update I'm getting the error Unable to read key from phpseclib3

I believe the problem is that the private key is stored without its enters. This is because the form for inserting the private key uses an input element and not a textarea element, so the enters of the key will be lost.

Setting the private key using: ./occ -vvv files_external:config --value-from-file <mount-id> private_key ./key.pem preserves the enters and fixes the issue.

Steps to reproduce
  1. Create a new external storage
  2. Select SFTP as the storage type
  3. And RSA private key as the authentication method
  4. Set up the rest of the form further
  5. Try to open this external storage folder
  6. Check the logs and see the Unable to read key error.
Expected behavior

It should store the private key correctly so it works.

Nextcloud Server version

35

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.5

Web server

Nginx

Database engine version

PostgreSQL

Is this bug present after an update or on a fresh install?

Upgraded to a MAJOR version (ex. 31 to 32)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
{
    "system": {
        "overwriteprotocol": "https",
        "htaccess.RewriteBase": "\/",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "allow_local_remote_servers": true,
        "default_phone_region": "NL",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "35.0.0.10",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "theme": "",
        "log_type": "file",
        "logfile": "\/tmp\/nextcloud.log",
        "loglevel": 2,
        "maintenance": false,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_smtpport": "587",
        "mail_smtpauthtype": "PLAIN",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "has_rebuilt_cache": true,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "maintenance_window_start": 1,
        "serverid": "0"
    }
}
List of activated Apps
Enabled:
  - activity: 8.0.0
  - admin_audit: 2.0.0-dev.0
  - app_api: 35.0.0
  - appstore: 2.0.0-dev.0
  - bruteforcesettings: 8.0.0
  - calendar: 6.6.1
  - circles: 35.0.0
  - cloud_federation_api: 2.0.0-dev.0
  - comments: 2.0.0-dev.0
  - contacts: 8.9.0
  - contactsinteraction: 2.0.0-dev.0
  - dashboard: 8.0.0-dev.0
  - dav: 2.0.0-dev.1
  - federatedfilesharing: 2.0.0-dev.1
  - federation: 2.0.0-dev.0
  - files: 3.0.0-dev.0
  - files_downloadlimit: 5.3.0
  - files_external: 2.0.0-dev.0
  - files_lock: 35.0.0
  - files_pdfviewer: 8.0.0
  - files_reminders: 2.0.0-dev.0
  - files_sharing: 2.0.0-dev.1
  - files_trashbin: 2.0.0-dev.0
  - files_versions: 2.0.0-dev.0
  - firstrunwizard: 8.0.0
  - logreader: 8.0.0
  - lookup_server_connector: 2.0.0-dev.0
  - nextcloud_announcements: 7.0.0
  - notes: 6.1.0
  - notifications: 8.0.0
  - oauth2: 2.0.0-dev.0
  - office: 1.1.0
  - password_policy: 7.0.0
  - photos: 8.0.0
  - privacy: 7.0.0
  - profile: 2.0.0-dev.0
  - provisioning_api: 2.0.0-dev.0
  - recommendations: 8.0.0
  - related_resources: 6.0.0
  - richdocuments: 12.0.0
  - serverinfo: 7.0.0
  - settings: 2.0.0-dev.0
  - sharebymail: 2.0.0-dev.0
  - sharing: 1.0.4
  - support: 7.0.0
  - survey_client: 7.0.0
  - suspicious_login: 13.0.0
  - systemtags: 2.0.0-dev.0
  - text: 9.0.0
  - theming: 3.0.0-dev.0
  - twofactor_backupcodes: 2.0.0-dev.0
  - twofactor_nextcloud_notification: 9.0.0
  - twofactor_totp: 17.1.0
  - twofactor_webauthn: 2.7.1
  - updatenotification: 2.0.0-dev.0
  - user_oidc: 8.11.0
  - user_status: 2.0.0-dev.0
  - viewer: 8.0.0
  - weather_status: 2.0.0-dev.0
  - webhook_listeners: 2.0.0-dev.0
  - workflowengine: 3.0.0-dev.0
Disabled:
  - carnet: 0.25.13 (installed 0.25.13)
  - encryption: 3.0.0-dev.0
  - files_antivirus: 6.3.0 (installed 6.3.0)
  - previewgenerator: 5.13.0 (installed 5.13.0)
  - sharelisting: 1.3.0 (installed 1.3.0)
  - tasks: 0.18.0 (installed 0.18.0)
  - user_ldap: 2.0.0-dev.0
Nextcloud Signing status
No errors have been found.
Nextcloud Logs
{
	"reqId": "hzaIhqkFWcPeo0nTPRi7",
	"level": 2,
	"time": "2026-09-23T18:48:07+00:00",
	"remoteAddr": "2001:4c3c:7300:48de:4691:8e78:5b95:1791",
	"user": "jeroen",
	"app": "no app in context",
	"method": "PROPFIND",
	"url": "/remote.php/dav/files/jeroen/",
	"scriptName": "/remote.php",
	"message": "Error while getting quota info, using root quota",
	"userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:156.0) Gecko/20100101 Firefox/156.0",
	"version": "35.0.0.10",
	"exception": {
		"Exception": "OCP\\Files\\StorageNotAvailableException",
		"Message": "Unable to read key",
		"Code": 0,
		"Trace": [
			{
				"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
				"line": 323,
				"function": "getAvailability",
				"class": "OC\\Files\\Storage\\FailedStorage",
				"type": "->",
				"args": []
			},
			{
				"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
				"line": 61,
				"function": "getAvailability",
				"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
				"type": "->",
				"args": []
			},
			{
				"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
				"line": 74,
				"function": "isAvailable",
				"class": "OC\\Files\\Storage\\Wrapper\\Availability",
				"type": "->",
				"args": []
			},
			{
				"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
				"line": 83,
				"function": "checkAvailability",
				"class": "OC\\Files\\Storage\\Wrapper\\Availability",
				"type": "->",
				"args": []
			},
			{
				"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
				"line": 217,
				"function": "handleAvailability",
				"class": "OC\\Files\\Storage\\Wrapper\\Availability",
				"type": "->",
				"args": [
					"free_space",
					""
				]
			},
			{
				"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
				"line": 186,
				"function": "free_space",
				"class": "OC\\Files\\Storage\\Wrapper\\Availability",
				"type": "->",
				"args": [
					""
				]
			},
			{
				"file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
				"line": 186,
				"function": "free_space",
				"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
				"type": "->",
				"args": [
					""
				]
			},
			{
				"file": "/var/www/html/lib/private/legacy/OC_Helper.php",
				"line": 231,
				"function": "free_space",
				"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
				"type": "->",
				"args": [
					""
				]
			},
			{
				"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
				"line": 349,
				"function": "getStorageInfo",
				"class": "OC_Helper",
				"type": "::",
				"args": [
					"/home-Jeroen",
					{
						"__class__": "OC\\Files\\Node\\Folder"
					},
					false
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
				"line": 770,
				"function": "getQuotaInfo",
				"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
				"type": "->",
				"args": []
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php",
				"line": 95,
				"function": "{closure:Sabre\\DAV\\CorePlugin::propFind():768}",
				"class": "Sabre\\DAV\\CorePlugin",
				"type": "->",
				"args": [
					"*** sensitive parameters replaced ***"
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
				"line": 768,
				"function": "handle",
				"class": "Sabre\\DAV\\PropFind",
				"type": "->",
				"args": [
					"{DAV:}quota-available-bytes",
					{
						"__class__": "Closure"
					}
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
				"line": 89,
				"function": "propFind",
				"class": "Sabre\\DAV\\CorePlugin",
				"type": "->",
				"args": [
					{
						"__class__": "Sabre\\DAV\\PropFind"
					},
					{
						"__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
					}
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
				"line": 1052,
				"function": "emit",
				"class": "Sabre\\DAV\\Server",
				"type": "->",
				"args": [
					"propFind",
					[
						{
							"__class__": "Sabre\\DAV\\PropFind"
						},
						{
							"__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
						}
					]
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
				"line": 984,
				"function": "getPropertiesByNode",
				"class": "Sabre\\DAV\\Server",
				"type": "->",
				"args": [
					{
						"__class__": "Sabre\\DAV\\PropFind"
					},
					{
						"__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
					}
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
				"line": 1664,
				"function": "getPropertiesIteratorForPath",
				"class": "Sabre\\DAV\\Server",
				"type": "->",
				"args": [
					"files/jeroen",
					[
						"{DAV:}getcontentlength",
						"{DAV:}getcontenttype",
						"{DAV:}getetag",
						"{DAV:}getlastmodified",
						"{DAV:}creationdate",
						"And 33 more entries, set log level to debug to see all entries"
					],
					1
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
				"line": 1649,
				"function": "writeMultiStatus",
				"class": "Sabre\\DAV\\Server",
				"type": "->",
				"args": [
					{
						"__class__": "Sabre\\Xml\\Writer",
						"elementMap": [],
						"contextUri": "/remote.php/dav/",
						"namespaceMap": {
							"DAV:": "d",
							"http://sabredav.org/ns": "s",
							"http://owncloud.org/ns": "oc",
							"http://nextcloud.org/ns": "nc"
						},
						"classMap": []
					},
					{
						"__class__": "Generator"
					},
					false
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
				"line": 346,
				"function": "generateMultiStatus",
				"class": "Sabre\\DAV\\Server",
				"type": "->",
				"args": [
					{
						"__class__": "Generator"
					},
					false
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
				"line": 89,
				"function": "httpPropFind",
				"class": "Sabre\\DAV\\CorePlugin",
				"type": "->",
				"args": [
					{
						"__class__": "Sabre\\HTTP\\Request"
					},
					{
						"__class__": "Sabre\\HTTP\\Response"
					}
				]
			},
			{
				"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
				"line": 472,
				"function": "emit",
				"class": "Sabre\\DAV\\Server",
				"type": "->",
				"args": [
					"method:PROPFIND",
					[
						{
							"__class__": "Sabre\\HTTP\\Request"
						},
						{
							"__class__": "Sabre\\HTTP\\Response"
						}
					]
				]
			},
			{
				"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
				"line": 216,
				"function": "invokeMethod",
				"class": "Sabre\\DAV\\Server",
				"type": "->",
				"args": [
					{
						"__class__": "Sabre\\HTTP\\Request"
					},
					{
						"__class__": "Sabre\\HTTP\\Response"
					}
				]
			},
			{
				"file": "/var/www/html/apps/dav/lib/Server.php",
				"line": 436,
				"function": "start",
				"class": "OCA\\DAV\\Connector\\Sabre\\Server",
				"type": "->",
				"args": []
			},
			{
				"file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
				"line": 25,
				"function": "exec",
				"class": "OCA\\DAV\\Server",
				"type": "->",
				"args": []
			},
			{
				"file": "/var/www/html/remote.php",
				"line": 158,
				"args": [
					"/var/www/html/apps/dav/appinfo/v2/remote.php"
				],
				"function": "require"
			},
			{
				"file": "/var/www/html/lib/OC.php",
				"line": 1397,
				"function": "{closure:/var/www/html/remote.php:102}",
				"args": [
					"*** sensitive parameters replaced ***"
				]
			},
			{
				"file": "/var/www/html/remote.php",
				"line": 102,
				"function": "handleRequests",
				"class": "OC",
				"type": "::",
				"args": [
					{
						"__class__": "Closure"
					}
				]
			}
		],
		"File": "/var/www/html/lib/private/Files/Storage/FailedStorage.php",
		"Line": 225,
		"Hint": "Storage is temporarily not available",
		"Previous": {
			"Exception": "OCP\\Files\\StorageNotAvailableException",
			"Message": "Unable to read key",
			"Code": 0,
			"Trace": [
				{
					"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
					"line": 124,
					"function": "getAvailability",
					"class": "OC\\Files\\Storage\\FailedStorage",
					"type": "->",
					"args": []
				},
				{
					"function": "{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():122}",
					"class": "OCA\\Files_External\\Config\\ConfigAdapter",
					"type": "->",
					"args": [
						"*** sensitive parameters replaced ***"
					]
				},
				{
					"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
					"line": 122,
					"function": "array_map",
					"args": [
						{
							"__class__": "Closure"
						},
						{
							"6": "*** sensitive parameters replaced ***",
							"7": "*** sensitive parameters replaced ***",
							"8": "*** sensitive parameters replaced ***",
							"14": "*** sensitive parameters replaced ***"
						},
						{
							"6": "*** sensitive parameters replaced ***",
							"7": "*** sensitive parameters replaced ***",
							"8": "*** sensitive parameters replaced ***",
							"14": "*** sensitive parameters replaced ***"
						}
					]
				},
				{
					"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
					"line": 144,
					"function": "getAvailableStorages",
					"class": "OCA\\Files_External\\Config\\ConfigAdapter",
					"type": "->",
					"args": [
						{
							"6": "*** sensitive parameters replaced ***",
							"7": "*** sensitive parameters replaced ***",
							"8": "*** sensitive parameters replaced ***",
							"14": "*** sensitive parameters replaced ***"
						},
						{
							"__class__": "OC\\User\\User"
						}
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
					"line": 62,
					"function": "getMountsForUser",
					"class": "OCA\\Files_External\\Config\\ConfigAdapter",
					"type": "->",
					"args": [
						{
							"__class__": "OC\\User\\User"
						},
						{
							"__class__": "OC\\Files\\Storage\\StorageFactory"
						}
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
					"line": 177,
					"function": "getMountsFromProvider",
					"class": "OC\\Files\\Config\\MountProviderCollection",
					"type": "->",
					"args": [
						{
							"__class__": "OCA\\Files_External\\Config\\ConfigAdapter"
						},
						{
							"__class__": "OC\\User\\User"
						},
						{
							"__class__": "OC\\Files\\Storage\\StorageFactory"
						}
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/SetupManager.php",
					"line": 290,
					"function": "addMountForUser",
					"class": "OC\\Files\\Config\\MountProviderCollection",
					"type": "->",
					"args": [
						{
							"__class__": "OC\\User\\User"
						},
						{
							"__class__": "OC\\Files\\Mount\\Manager"
						},
						{
							"__class__": "Closure"
						}
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/SetupManager.php",
					"line": 415,
					"function": "{closure:OC\\Files\\SetupManager::setupForUser():289}",
					"class": "OC\\Files\\SetupManager",
					"type": "->",
					"args": [
						"*** sensitive parameters replaced ***"
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/SetupManager.php",
					"line": 289,
					"function": "setupForUserWith",
					"class": "OC\\Files\\SetupManager",
					"type": "->",
					"args": [
						{
							"__class__": "OC\\User\\User"
						},
						{
							"__class__": "Closure"
						}
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/SetupManager.php",
					"line": 501,
					"function": "setupForUser",
					"class": "OC\\Files\\SetupManager",
					"type": "->",
					"args": [
						{
							"__class__": "OC\\User\\User"
						}
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/Mount/Manager.php",
					"line": 116,
					"function": "setupForPath",
					"class": "OC\\Files\\SetupManager",
					"type": "->",
					"args": [
						"/jeroen/files",
						true
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/View.php",
					"line": 1577,
					"function": "findIn",
					"class": "OC\\Files\\Mount\\Manager",
					"type": "->",
					"args": [
						"/jeroen/files"
					]
				},
				{
					"file": "/var/www/html/lib/private/Files/Node/Folder.php",
					"line": 89,
					"function": "getDirectoryContent",
					"class": "OC\\Files\\View",
					"type": "->",
					"args": [
						"/jeroen/files",
						null,
						{
							"__class__": "OC\\Files\\Node\\LazyUserFolder"
						}
					]
				},
				{
					"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
					"line": 267,
					"function": "getDirectoryListing",
					"class": "OC\\Files\\Node\\Folder",
					"type": "->",
					"args": []
				},
				{
					"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
					"line": 59,
					"function": "getChildren",
					"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
					"type": "->",
					"args": []
				},
				{
					"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
					"line": 108,
					"function": "cacheDirectory",
					"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
					"type": "->",
					"args": [
						{
							"__class__": "OCA\\DAV\\Files\\FilesHome"
						},
						{
							"__class__": "Sabre\\DAV\\PropFind"
						}
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
					"line": 89,
					"function": "preloadCollection",
					"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
					"type": "->",
					"args": [
						{
							"__class__": "Sabre\\DAV\\PropFind"
						},
						{
							"__class__": "OCA\\DAV\\Files\\FilesHome"
						}
					]
				},
				{
					"file": "/var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php",
					"line": 46,
					"function": "emit",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						"preloadCollection",
						[
							{
								"__class__": "Sabre\\DAV\\PropFind"
							},
							{
								"__class__": "OCA\\DAV\\Files\\FilesHome"
							}
						]
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
					"line": 89,
					"function": "collectionPreloadNotifier",
					"class": "OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin",
					"type": "->",
					"args": [
						{
							"__class__": "Sabre\\DAV\\PropFind"
						},
						{
							"__class__": "OCA\\DAV\\Files\\FilesHome"
						}
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
					"line": 1052,
					"function": "emit",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						"propFind",
						[
							{
								"__class__": "Sabre\\DAV\\PropFind"
							},
							{
								"__class__": "OCA\\DAV\\Files\\FilesHome"
							}
						]
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
					"line": 984,
					"function": "getPropertiesByNode",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						{
							"__class__": "Sabre\\DAV\\PropFind"
						},
						{
							"__class__": "OCA\\DAV\\Files\\FilesHome"
						}
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
					"line": 1664,
					"function": "getPropertiesIteratorForPath",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						"files/jeroen",
						[
							"{DAV:}getcontentlength",
							"{DAV:}getcontenttype",
							"{DAV:}getetag",
							"{DAV:}getlastmodified",
							"{DAV:}creationdate",
							"And 33 more entries, set log level to debug to see all entries"
						],
						1
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
					"line": 1649,
					"function": "writeMultiStatus",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						{
							"__class__": "Sabre\\Xml\\Writer",
							"elementMap": [],
							"contextUri": "/remote.php/dav/",
							"namespaceMap": {
								"DAV:": "d",
								"http://sabredav.org/ns": "s",
								"http://owncloud.org/ns": "oc",
								"http://nextcloud.org/ns": "nc"
							},
							"classMap": []
						},
						{
							"__class__": "Generator"
						},
						false
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
					"line": 346,
					"function": "generateMultiStatus",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						{
							"__class__": "Generator"
						},
						false
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
					"line": 89,
					"function": "httpPropFind",
					"class": "Sabre\\DAV\\CorePlugin",
					"type": "->",
					"args": [
						{
							"__class__": "Sabre\\HTTP\\Request"
						},
						{
							"__class__": "Sabre\\HTTP\\Response"
						}
					]
				},
				{
					"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
					"line": 472,
					"function": "emit",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						"method:PROPFIND",
						[
							{
								"__class__": "Sabre\\HTTP\\Request"
							},
							{
								"__class__": "Sabre\\HTTP\\Response"
							}
						]
					]
				},
				{
					"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
					"line": 216,
					"function": "invokeMethod",
					"class": "Sabre\\DAV\\Server",
					"type": "->",
					"args": [
						{
							"__class__": "Sabre\\HTTP\\Request"
						},
						{
							"__class__": "Sabre\\HTTP\\Response"
						}
					]
				},
				{
					"file": "/var/www/html/apps/dav/lib/Server.php",
					"line": 436,
					"function": "start",
					"class": "OCA\\DAV\\Connector\\Sabre\\Server",
					"type": "->",
					"args": []
				},
				{
					"file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
					"line": 25,
					"function": "exec",
					"class": "OCA\\DAV\\Server",
					"type": "->",
					"args": []
				},
				{
					"file": "/var/www/html/remote.php",
					"line": 158,
					"args": [
						"/var/www/html/apps/dav/appinfo/v2/remote.php"
					],
					"function": "require"
				},
				{
					"file": "/var/www/html/lib/OC.php",
					"line": 1397,
					"function": "{closure:/var/www/html/remote.php:102}",
					"args": [
						"*** sensitive parameters replaced ***"
					]
				},
				{
					"file": "/var/www/html/remote.php",
					"line": 102,
					"function": "handleRequests",
					"class": "OC",
					"type": "::",
					"args": [
						{
							"__class__": "Closure"
						}
					]
				}
			],
			"File": "/var/www/html/lib/private/Files/Storage/FailedStorage.php",
			"Line": 225,
			"Hint": "Storage is temporarily not available",
			"Previous": {
				"Exception": "phpseclib3\\Exception\\NoKeyLoadedException",
				"Message": "Unable to read key",
				"Code": 0,
				"Trace": [
					{
						"file": "/var/www/html/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php",
						"line": 56,
						"function": "load",
						"class": "phpseclib3\\Crypt\\PublicKeyLoader",
						"type": "::",
						"args": [
							false,
							""
						]
					},
					{
						"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
						"line": 77,
						"function": "manipulateStorageConfig",
						"class": "OCA\\Files_External\\Lib\\Auth\\PublicKey\\RSAPrivateKey",
						"type": "->",
						"args": [
							"*** sensitive parameters replaced ***",
							{
								"__class__": "OC\\User\\User"
							}
						]
					},
					{
						"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
						"line": 82,
						"function": "prepareStorageConfig",
						"class": "OCA\\Files_External\\Config\\ConfigAdapter",
						"type": "->",
						"args": [
							"*** sensitive parameters replaced ***",
							{
								"__class__": "OC\\User\\User"
							}
						]
					},
					{
						"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
						"line": 111,
						"function": "constructStorageForUser",
						"class": "OCA\\Files_External\\Config\\ConfigAdapter",
						"type": "->",
						"args": [
							{
								"__class__": "OC\\User\\User"
							},
							"*** sensitive parameters replaced ***"
						]
					},
					{
						"function": "{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():109}",
						"class": "OCA\\Files_External\\Config\\ConfigAdapter",
						"type": "->",
						"args": [
							"*** sensitive parameters replaced ***"
						]
					},
					{
						"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
						"line": 109,
						"function": "array_map",
						"args": [
							{
								"__class__": "Closure"
							},
							{
								"6": "*** sensitive parameters replaced ***",
								"7": "*** sensitive parameters replaced ***",
								"8": "*** sensitive parameters replaced ***",
								"14": "*** sensitive parameters replaced ***"
							}
						]
					},
					{
						"file": "/var/www/html/apps/files_external/lib/Config/ConfigAdapter.php",
						"line": 144,
						"function": "getAvailableStorages",
						"class": "OCA\\Files_External\\Config\\ConfigAdapter",
						"type": "->",
						"args": [
							{
								"6": "*** sensitive parameters replaced ***",
								"7": "*** sensitive parameters replaced ***",
								"8": "*** sensitive parameters replaced ***",
								"14": "*** sensitive parameters replaced ***"
							},
							{
								"__class__": "OC\\User\\User"
							}
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
						"line": 62,
						"function": "getMountsForUser",
						"class": "OCA\\Files_External\\Config\\ConfigAdapter",
						"type": "->",
						"args": [
							{
								"__class__": "OC\\User\\User"
							},
							{
								"__class__": "OC\\Files\\Storage\\StorageFactory"
							}
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/Config/MountProviderCollection.php",
						"line": 177,
						"function": "getMountsFromProvider",
						"class": "OC\\Files\\Config\\MountProviderCollection",
						"type": "->",
						"args": [
							{
								"__class__": "OCA\\Files_External\\Config\\ConfigAdapter"
							},
							{
								"__class__": "OC\\User\\User"
							},
							{
								"__class__": "OC\\Files\\Storage\\StorageFactory"
							}
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/SetupManager.php",
						"line": 290,
						"function": "addMountForUser",
						"class": "OC\\Files\\Config\\MountProviderCollection",
						"type": "->",
						"args": [
							{
								"__class__": "OC\\User\\User"
							},
							{
								"__class__": "OC\\Files\\Mount\\Manager"
							},
							{
								"__class__": "Closure"
							}
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/SetupManager.php",
						"line": 415,
						"function": "{closure:OC\\Files\\SetupManager::setupForUser():289}",
						"class": "OC\\Files\\SetupManager",
						"type": "->",
						"args": [
							"*** sensitive parameters replaced ***"
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/SetupManager.php",
						"line": 289,
						"function": "setupForUserWith",
						"class": "OC\\Files\\SetupManager",
						"type": "->",
						"args": [
							{
								"__class__": "OC\\User\\User"
							},
							{
								"__class__": "Closure"
							}
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/SetupManager.php",
						"line": 501,
						"function": "setupForUser",
						"class": "OC\\Files\\SetupManager",
						"type": "->",
						"args": [
							{
								"__class__": "OC\\User\\User"
							}
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/Mount/Manager.php",
						"line": 116,
						"function": "setupForPath",
						"class": "OC\\Files\\SetupManager",
						"type": "->",
						"args": [
							"/jeroen/files",
							true
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/View.php",
						"line": 1577,
						"function": "findIn",
						"class": "OC\\Files\\Mount\\Manager",
						"type": "->",
						"args": [
							"/jeroen/files"
						]
					},
					{
						"file": "/var/www/html/lib/private/Files/Node/Folder.php",
						"line": 89,
						"function": "getDirectoryContent",
						"class": "OC\\Files\\View",
						"type": "->",
						"args": [
							"/jeroen/files",
							null,
							{
								"__class__": "OC\\Files\\Node\\LazyUserFolder"
							}
						]
					},
					{
						"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
						"line": 267,
						"function": "getDirectoryListing",
						"class": "OC\\Files\\Node\\Folder",
						"type": "->",
						"args": []
					},
					{
						"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
						"line": 59,
						"function": "getChildren",
						"class": "OCA\\DAV\\Connector\\Sabre\\Directory",
						"type": "->",
						"args": []
					},
					{
						"file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
						"line": 108,
						"function": "cacheDirectory",
						"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
						"type": "->",
						"args": [
							{
								"__class__": "OCA\\DAV\\Files\\FilesHome"
							},
							{
								"__class__": "Sabre\\DAV\\PropFind"
							}
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
						"line": 89,
						"function": "preloadCollection",
						"class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
						"type": "->",
						"args": [
							{
								"__class__": "Sabre\\DAV\\PropFind"
							},
							{
								"__class__": "OCA\\DAV\\Files\\FilesHome"
							}
						]
					},
					{
						"file": "/var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php",
						"line": 46,
						"function": "emit",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							"preloadCollection",
							[
								{
									"__class__": "Sabre\\DAV\\PropFind"
								},
								{
									"__class__": "OCA\\DAV\\Files\\FilesHome"
								}
							]
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
						"line": 89,
						"function": "collectionPreloadNotifier",
						"class": "OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin",
						"type": "->",
						"args": [
							{
								"__class__": "Sabre\\DAV\\PropFind"
							},
							{
								"__class__": "OCA\\DAV\\Files\\FilesHome"
							}
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
						"line": 1052,
						"function": "emit",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							"propFind",
							[
								{
									"__class__": "Sabre\\DAV\\PropFind"
								},
								{
									"__class__": "OCA\\DAV\\Files\\FilesHome"
								}
							]
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
						"line": 984,
						"function": "getPropertiesByNode",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							{
								"__class__": "Sabre\\DAV\\PropFind"
							},
							{
								"__class__": "OCA\\DAV\\Files\\FilesHome"
							}
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
						"line": 1664,
						"function": "getPropertiesIteratorForPath",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							"files/jeroen",
							[
								"{DAV:}getcontentlength",
								"{DAV:}getcontenttype",
								"{DAV:}getetag",
								"{DAV:}getlastmodified",
								"{DAV:}creationdate",
								"And 33 more entries, set log level to debug to see all entries"
							],
							1
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
						"line": 1649,
						"function": "writeMultiStatus",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							{
								"__class__": "Sabre\\Xml\\Writer",
								"elementMap": [],
								"contextUri": "/remote.php/dav/",
								"namespaceMap": {
									"DAV:": "d",
									"http://sabredav.org/ns": "s",
									"http://owncloud.org/ns": "oc",
									"http://nextcloud.org/ns": "nc"
								},
								"classMap": []
							},
							{
								"__class__": "Generator"
							},
							false
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
						"line": 346,
						"function": "generateMultiStatus",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							{
								"__class__": "Generator"
							},
							false
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
						"line": 89,
						"function": "httpPropFind",
						"class": "Sabre\\DAV\\CorePlugin",
						"type": "->",
						"args": [
							{
								"__class__": "Sabre\\HTTP\\Request"
							},
							{
								"__class__": "Sabre\\HTTP\\Response"
							}
						]
					},
					{
						"file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
						"line": 472,
						"function": "emit",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							"method:PROPFIND",
							[
								{
									"__class__": "Sabre\\HTTP\\Request"
								},
								{
									"__class__": "Sabre\\HTTP\\Response"
								}
							]
						]
					},
					{
						"file": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
						"line": 216,
						"function": "invokeMethod",
						"class": "Sabre\\DAV\\Server",
						"type": "->",
						"args": [
							{
								"__class__": "Sabre\\HTTP\\Request"
							},
							{
								"__class__": "Sabre\\HTTP\\Response"
							}
						]
					},
					{
						"file": "/var/www/html/apps/dav/lib/Server.php",
						"line": 436,
						"function": "start",
						"class": "OCA\\DAV\\Connector\\Sabre\\Server",
						"type": "->",
						"args": []
					},
					{
						"file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
						"line": 25,
						"function": "exec",
						"class": "OCA\\DAV\\Server",
						"type": "->",
						"args": []
					},
					{
						"file": "/var/www/html/remote.php",
						"line": 158,
						"args": [
							"/var/www/html/apps/dav/appinfo/v2/remote.php"
						],
						"function": "require"
					},
					{
						"file": "/var/www/html/lib/OC.php",
						"line": 1397,
						"function": "{closure:/var/www/html/remote.php:102}",
						"args": [
							"*** sensitive parameters replaced ***"
						]
					},
					{
						"file": "/var/www/html/remote.php",
						"line": 102,
						"function": "handleRequests",
						"class": "OC",
						"type": "::",
						"args": [
							{
								"__class__": "Closure"
							}
						]
					}
				],
				"File": "/var/www/html/custom_apps/richdocuments/vendor/phpseclib/phpseclib/phpseclib/Crypt/PublicKeyLoader.php",
				"Line": 64
			}
		},
		"message": "Error while getting quota info, using root quota",
		"exception": "{\"class\":\"OCP\\Files\\StorageNotAvailableException\",\"message\":\"Unable to read key\",\"code\":0,\"file\":\"/var/www/html/lib/private/Files/Storage/FailedStorage.php:225\",\"trace\":\"#0 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(323): OC\\Files\\Storage\\FailedStorage->getAvailability()\\n#1 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(61): OC\\Files\\Storage\\Wrapper\\Wrapper->getAvailability()\\n#2 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(74): OC\\Files\\Storage\\Wrapper\\Availability->isAvailable()\\n#3 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(83): OC\\Files\\Storage\\Wrapper\\Availability->checkAvailability()\\n#4 /var/www/html/lib/private/Files/Storage/Wrapper/Availability.php(217): OC\\Files\\Storage\\Wrapper\\Availability->handleAvailability('free_space', '')\\n#5 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(186): OC\\Files\\Storage\\Wrapper\\Availability->free_space('')\\n#6 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(186): OC\\Files\\Storage\\Wrapper\\Wrapper->free_space('')\\n#7 /var/www/html/lib/private/legacy/OC_Helper.php(231): OC\\Files\\Storage\\Wrapper\\Wrapper->free_space('')\\n#8 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(349): OC_Helper::getStorageInfo('/home-Jeroen', Object(OC\\Files\\Node\\Folder), false)\\n#9 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(770): OCA\\DAV\\Connector\\Sabre\\Directory->getQuotaInfo()\\n#10 /var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php(95): Sabre\\DAV\\CorePlugin->{closure:Sabre\\DAV\\CorePlugin::propFind():768}()\\n#11 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(768): Sabre\\DAV\\PropFind->handle('{DAV:}quota-ava...', Object(Closure))\\n#12 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->propFind(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Connector\\Sabre\\Directory))\\n#13 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#14 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Connector\\Sabre\\Directory))\\n#15 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/jeroen', Array, 1)\\n#16 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#17 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#18 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#19 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#20 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#21 /var/www/html/apps/dav/lib/Server.php(436): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#22 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#23 /var/www/html/remote.php(158): require('/var/www/html/a...')\\n#24 /var/www/html/lib/OC.php(1397): {closure:/var/www/html/remote.php:102}()\\n#25 /var/www/html/remote.php(102): OC::handleRequests(Object(Closure))\\n#26 {main}\",\"previous\":{\"class\":\"OCP\\Files\\StorageNotAvailableException\",\"message\":\"Unable to read key\",\"code\":0,\"file\":\"/var/www/html/lib/private/Files/Storage/FailedStorage.php:225\",\"trace\":\"#0 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(124): OC\\Files\\Storage\\FailedStorage->getAvailability()\\n#1 [internal function]: OCA\\Files_External\\Config\\ConfigAdapter->{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():122}(Object(OC\\Files\\Storage\\FailedStorage), Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#2 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(122): array_map(Object(Closure), Array, Array)\\n#3 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(144): OCA\\Files_External\\Config\\ConfigAdapter->getAvailableStorages(Array, Object(OC\\User\\User))\\n#4 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(62): OCA\\Files_External\\Config\\ConfigAdapter->getMountsForUser(Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#5 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(177): OC\\Files\\Config\\MountProviderCollection->getMountsFromProvider(Object(OCA\\Files_External\\Config\\ConfigAdapter), Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#6 /var/www/html/lib/private/Files/SetupManager.php(290): OC\\Files\\Config\\MountProviderCollection->addMountForUser(Object(OC\\User\\User), Object(OC\\Files\\Mount\\Manager), Object(Closure))\\n#7 /var/www/html/lib/private/Files/SetupManager.php(415): OC\\Files\\SetupManager->{closure:OC\\Files\\SetupManager::setupForUser():289}()\\n#8 /var/www/html/lib/private/Files/SetupManager.php(289): OC\\Files\\SetupManager->setupForUserWith(Object(OC\\User\\User), Object(Closure))\\n#9 /var/www/html/lib/private/Files/SetupManager.php(501): OC\\Files\\SetupManager->setupForUser(Object(OC\\User\\User))\\n#10 /var/www/html/lib/private/Files/Mount/Manager.php(116): OC\\Files\\SetupManager->setupForPath('/jeroen/files', true)\\n#11 /var/www/html/lib/private/Files/View.php(1577): OC\\Files\\Mount\\Manager->findIn('/jeroen/files')\\n#12 /var/www/html/lib/private/Files/Node/Folder.php(89): OC\\Files\\View->getDirectoryContent('/jeroen/files', NULL, Object(OC\\Files\\Node\\LazyUserFolder))\\n#13 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(267): OC\\Files\\Node\\Folder->getDirectoryListing()\\n#14 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(59): OCA\\DAV\\Connector\\Sabre\\Directory->getChildren()\\n#15 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(108): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->cacheDirectory(Object(OCA\\DAV\\Files\\FilesHome), Object(Sabre\\DAV\\PropFind))\\n#16 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->preloadCollection(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#17 /var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php(46): Sabre\\DAV\\Server->emit('preloadCollecti...', Array)\\n#18 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin->collectionPreloadNotifier(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#19 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#20 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#21 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/jeroen', Array, 1)\\n#22 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#23 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#24 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#25 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#26 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#27 /var/www/html/apps/dav/lib/Server.php(436): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#28 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#29 /var/www/html/remote.php(158): require('/var/www/html/a...')\\n#30 /var/www/html/lib/OC.php(1397): {closure:/var/www/html/remote.php:102}()\\n#31 /var/www/html/remote.php(102): OC::handleRequests(Object(Closure))\\n#32 {main}\",\"previous\":{\"class\":\"phpseclib3\\Exception\\NoKeyLoadedException\",\"message\":\"Unable to read key\",\"code\":0,\"file\":\"/var/www/html/custom_apps/richdocuments/vendor/phpseclib/phpseclib/phpseclib/Crypt/PublicKeyLoader.php:64\",\"trace\":\"#0 /var/www/html/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php(56): phpseclib3\\Crypt\\PublicKeyLoader::load(false, '')\\n#1 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(77): OCA\\Files_External\\Lib\\Auth\\PublicKey\\RSAPrivateKey->manipulateStorageConfig(Object(OCA\\Files_External\\Lib\\StorageConfig), Object(OC\\User\\User))\\n#2 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(82): OCA\\Files_External\\Config\\ConfigAdapter->prepareStorageConfig(Object(OCA\\Files_External\\Lib\\StorageConfig), Object(OC\\User\\User))\\n#3 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(111): OCA\\Files_External\\Config\\ConfigAdapter->constructStorageForUser(Object(OC\\User\\User), Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#4 [internal function]: OCA\\Files_External\\Config\\ConfigAdapter->{closure:OCA\\Files_External\\Config\\ConfigAdapter::getAvailableStorages():109}(Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#5 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(109): array_map(Object(Closure), Array)\\n#6 /var/www/html/apps/files_external/lib/Config/ConfigAdapter.php(144): OCA\\Files_External\\Config\\ConfigAdapter->getAvailableStorages(Array, Object(OC\\User\\User))\\n#7 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(62): OCA\\Files_External\\Config\\ConfigAdapter->getMountsForUser(Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#8 /var/www/html/lib/private/Files/Config/MountProviderCollection.php(177): OC\\Files\\Config\\MountProviderCollection->getMountsFromProvider(Object(OCA\\Files_External\\Config\\ConfigAdapter), Object(OC\\User\\User), Object(OC\\Files\\Storage\\StorageFactory))\\n#9 /var/www/html/lib/private/Files/SetupManager.php(290): OC\\Files\\Config\\MountProviderCollection->addMountForUser(Object(OC\\User\\User), Object(OC\\Files\\Mount\\Manager), Object(Closure))\\n#10 /var/www/html/lib/private/Files/SetupManager.php(415): OC\\Files\\SetupManager->{closure:OC\\Files\\SetupManager::setupForUser():289}()\\n#11 /var/www/html/lib/private/Files/SetupManager.php(289): OC\\Files\\SetupManager->setupForUserWith(Object(OC\\User\\User), Object(Closure))\\n#12 /var/www/html/lib/private/Files/SetupManager.php(501): OC\\Files\\SetupManager->setupForUser(Object(OC\\User\\User))\\n#13 /var/www/html/lib/private/Files/Mount/Manager.php(116): OC\\Files\\SetupManager->setupForPath('/jeroen/files', true)\\n#14 /var/www/html/lib/private/Files/View.php(1577): OC\\Files\\Mount\\Manager->findIn('/jeroen/files')\\n#15 /var/www/html/lib/private/Files/Node/Folder.php(89): OC\\Files\\View->getDirectoryContent('/jeroen/files', NULL, Object(OC\\Files\\Node\\LazyUserFolder))\\n#16 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(267): OC\\Files\\Node\\Folder->getDirectoryListing()\\n#17 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(59): OCA\\DAV\\Connector\\Sabre\\Directory->getChildren()\\n#18 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(108): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->cacheDirectory(Object(OCA\\DAV\\Files\\FilesHome), Object(Sabre\\DAV\\PropFind))\\n#19 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->preloadCollection(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#20 /var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php(46): Sabre\\DAV\\Server->emit('preloadCollecti...', Array)\\n#21 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin->collectionPreloadNotifier(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#22 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#23 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#24 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/jeroen', Array, 1)\\n#25 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#26 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#27 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#28 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#29 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#30 /var/www/html/apps/dav/lib/Server.php(436): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#31 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#32 /var/www/html/remote.php(158): require('/var/www/html/a...')\\n#33 /var/www/html/lib/OC.php(1397): {closure:/var/www/html/remote.php:102}()\\n#34 /var/www/html/remote.php(102): OC::handleRequests(Object(Closure))\\n#35 {main}\"}}}",
		"CustomMessage": "Error while getting quota info, using root quota"
	},
	"id": "6ab41eeccec45"
}
Additional info

No response

Lingua principale
PHP
Stelle
36.9k
Fork
5.2k
Merge medio
1g 23h
PR unite (30g)
716

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nextcloud/server

Tutte le issue di nextcloud/server

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.