Steps to reproduce
- Setup a S3 bucket as primary storage like described here Configuring S3 as Primary Storage :: ownCloud Documentation
- Used files_primary_s3
- Uploading a file in the storage of any user (created AFTER setup of S3) results in Call to undefined function Aws\boolean_value()
Expected behaviour
File should be uploaded
Actual behaviour
I get Call to undefined function Aws\boolean_value()
Server configuration
Ubuntu 20.04:
Apache
MySQL 8.x:
PHP version: 7.4
ownCloud version: 10.7 from zip source of today (see ownCloud admin page)
Updated from an older ownCloud or fresh install: no, clean setup
Where did you install ownCloud from: zip from distribution site
Signing status (ownCloud 9.0 and above):
Login as admin user into your ownCloud and access
http://example.com/index.php/settings/integrity/failed
paste the results into https://gist.github.com/ and puth the link here.
No errors have been found.
The content of config/config.php:
Log in to the web-UI with an administrator account and click on
'admin' -> 'Generate Config Report' -> 'Download ownCloud config report'
This report includes the config.php settings, the list of activated apps
and other details in a well sanitized form.
or
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your ownCloud installation folder
*ATTENTION:* Do not post your config.php file in public as is. Please use one of the above
methods whenever possible. Both, the generated reports from the web-ui and from occ config:list
consistently remove sensitive data. You still may want to review the report before sending.
If done manually then it is critical for your own privacy to dilligently
remove *all* host names, passwords, usernames, salts and other credentials before posting.
You should assume that attackers find such information and will use them against your systems.
<?php
$CONFIG = array (
'instanceid' => 'xxx',
'passwordsalt' => 'xxx',
'secret' => 'D/xxx',
'trusted_domains' =>
array (
0 => 'own.xxx.xxx',
),
'datadirectory' => '/mnt/web/owncloud/data',
'overwrite.cli.url' => 'https://xxx',
'dbtype' => 'mysql',
'version' => '10.7.0.4',
'dbname' => 'xxx',
'dbhost' => 'xxx',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'xxx',
'dbpassword' => 'xxx',
'logtimezone' => 'UTC',
'apps_paths' =>
array (
0 =>
array (
'path' => '/mnt/web/owncloud/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/mnt/web/owncloud/apps-external',
'url' => '/apps-external',
'writable' => true,
),
),
'installed' => true,
'objectstore' => [
'class' => 'OCA\Files_Primary_S3\S3Storage',
'arguments' => [
'bucket' => 'xxx-owncloud',
// uncomment to enable server side encryption
//'serversideencryption' => 'AES256',
'options' => [
// version and region are required
'version' => '2006-03-01',
'region' => 'eu-central-1',
'credentials' => [
// replace key and secret with your credentials
'key' => 'xxx',
'secret' => 'xxx',
],
],
],
],
);
List of activated apps:
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your ownCloud installation folder.
Enabled:
- activity:
- Version: 2.6.0
- Path: /mnt/web/owncloud/apps/activity
- comments:
- Version: 0.3.0
- Path: /mnt/web/owncloud/apps/comments
- configreport:
- Version: 0.2.0
- Path: /mnt/web/owncloud/apps/configreport
- dav:
- Version: 0.6.0
- Path: /mnt/web/owncloud/apps/dav
- federatedfilesharing:
- Version: 0.5.0
- Path: /mnt/web/owncloud/apps/federatedfilesharing
- federation:
- Version: 0.1.0
- Path: /mnt/web/owncloud/apps/federation
- files:
- Version: 1.5.2
- Path: /mnt/web/owncloud/apps/files
- files_external:
- Version: 0.7.1
- Path: /mnt/web/owncloud/apps/files_external
- files_external_s3:
- Version: 1.0.0
- Path: /mnt/web/owncloud/apps-external/files_external_s3
- files_mediaviewer:
- Version: 1.0.4
- Path: /mnt/web/owncloud/apps/files_mediaviewer
- files_pdfviewer:
- Version: 0.12.1
- Path: /mnt/web/owncloud/apps-external/files_pdfviewer
- files_primary_s3:
- Version: 1.1.2
- Path: /mnt/web/owncloud/apps-external/files_primary_s3
- files_sharing:
- Version: 0.14.0
- Path: /mnt/web/owncloud/apps/files_sharing
- files_texteditor:
- Version: 2.3.1
- Path: /mnt/web/owncloud/apps-external/files_texteditor
- files_trashbin:
- Version: 0.9.1
- Path: /mnt/web/owncloud/apps/files_trashbin
- files_versions:
- Version: 1.3.0
- Path: /mnt/web/owncloud/apps/files_versions
- firstrunwizard:
- Version: 1.2.0
- Path: /mnt/web/owncloud/apps/firstrunwizard
- market:
- Version: 0.6.0
- Path: /mnt/web/owncloud/apps/market
- notifications:
- Version: 0.5.2
- Path: /mnt/web/owncloud/apps/notifications
- provisioning_api:
- Version: 0.5.0
- Path: /mnt/web/owncloud/apps/provisioning_api
- systemtags:
- Version: 0.3.0
- Path: /mnt/web/owncloud/apps/systemtags
- templateeditor:
- Version: 0.4.0
- Path: /mnt/web/owncloud/apps/templateeditor
- updatenotification:
- Version: 0.2.1
- Path: /mnt/web/owncloud/apps/updatenotification
Are you using external storage, if yes which one: local/smb/sftp/…
Trying to use S3…
Are you using encryption: yes/no
No
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/…
No
Client configuration
Browser:
IE/FF/EDGE/FFox/Brave/Safari
Operating system:
Win, Ubuntu, MacOs
Logs
Web server error log
Insert your webserver log here
ownCloud log (data/owncloud.log)
Insert your ownCloud log here
{"reqId":"YL9e-nSvha@PZNORdCijPAAAAAo","level":4,"time":"2021-06-08T12:13:50+00:00","remoteAddr":"8xxx.xxx","user":"admin","app":"webdav","method":"GET","url":"\/remote.php\/dav\/files\/admin\/509_pullus.jpg?c=60bf5d516bb47&x=40&y=40&forceIcon=0&preview=1","message":"Exception: Call to undefined function Aws\\boolean_value(): {\"Exception\":\"Error\",\"Message\":\"Call to undefined function Aws\\\\boolean_value()\",\"Code\":0,\"Trace\":\"#0 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/aws\\\/aws-sdk-php\\\/src\\\/S3\\\/UseArnRegion\\\/ConfigurationProvider.php(168): Aws\\\\S3\\\\UseArnRegion\\\\Configuration->__construct()\\n#1 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/Promise.php(203): Aws\\\\S3\\\\UseArnRegion\\\\ConfigurationProvider::Aws\\\\S3\\\\UseArnRegion\\\\{closure}(*** sensitive parameters replaced ***)\\n#2 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/Promise.php(174): GuzzleHttp\\\\Promise\\\\Promise::callHandler()\\n#3 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/RejectedPromise.php(40): GuzzleHttp\\\\Promise\\\\Promise::GuzzleHttp\\\\Promise\\\\{closure}(*** sensitive parameters replaced ***)\\n#4 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/TaskQueue.php(47): GuzzleHttp\\\\Promise\\\\RejectedPromise::GuzzleHttp\\\\Promise\\\\{closure}(*** sensitive parameters replaced ***)\\n#5 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/Promise.php(246): GuzzleHttp\\\\Promise\\\\TaskQueue->run()\\n#6 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/Promise.php(223): GuzzleHttp\\\\Promise\\\\Promise->invokeWaitFn()\\n#7 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/Promise.php(267): GuzzleHttp\\\\Promise\\\\Promise->waitIfPending()\\n#8 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/Promise.php(225): GuzzleHttp\\\\Promise\\\\Promise->invokeWaitList()\\n#9 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/guzzlehttp\\\/promises\\\/src\\\/Promise.php(62): GuzzleHttp\\\\Promise\\\\Promise->waitIfPending()\\n#10 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/aws\\\/aws-sdk-php\\\/src\\\/S3\\\/S3Client.php(408): GuzzleHttp\\\\Promise\\\\Promise->wait()\\n#11 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/aws\\\/aws-sdk-php\\\/src\\\/ClientResolver.php(316): Aws\\\\S3\\\\S3Client::_apply_use_arn_region()\\n#12 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/aws\\\/aws-sdk-php\\\/src\\\/AwsClient.php(195): Aws\\\\ClientResolver->resolve()\\n#13 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/aws\\\/aws-sdk-php\\\/src\\\/S3\\\/S3Client.php(327): Aws\\\\AwsClient->__construct()\\n#14 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/aws\\\/aws-sdk-php\\\/src\\\/AwsClient.php(440): Aws\\\\S3\\\\S3Client->__construct()\\n#15 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/lib\\\/s3storage.php(95): Aws\\\\AwsClient::factory()\\n#16 \\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/lib\\\/s3storage.php(179): OCA\\\\Files_Primary_S3\\\\S3Storage->init()\\n#17 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/ObjectStore\\\/ObjectStoreStorage.php(313): OCA\\\\Files_Primary_S3\\\\S3Storage->readObject()\\n#18 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/LocalTempFileTrait.php(66): OC\\\\Files\\\\ObjectStore\\\\ObjectStoreStorage->fopen()\\n#19 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/LocalTempFileTrait.php(48): OC\\\\Files\\\\Storage\\\\Common->toTmpFile()\\n#20 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Common.php(265): OC\\\\Files\\\\Storage\\\\Common->getCachedFile()\\n#21 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(371): OC\\\\Files\\\\Storage\\\\Common->getLocalFile()\\n#22 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Availability.php(383): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->getLocalFile()\\n#23 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Encryption.php(837): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Availability->getLocalFile()\\n#24 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(371): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Encryption->getLocalFile()\\n#25 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(371): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->getLocalFile()\\n#26 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Preview\\\/Image.php(49): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->getLocalFile()\\n#27 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Preview.php(1129): OC\\\\Preview\\\\Image->getThumbnail()\\n#28 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Preview.php(768): OC\\\\Preview->generatePreview()\\n#29 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Node\\\/File.php(170): OC\\\\Preview->getPreview()\\n#30 \\\/mnt\\\/web\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Files\\\/PreviewPlugin.php(116): OC\\\\Files\\\\Node\\\\File->getThumbnail()\\n#31 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/event\\\/lib\\\/WildcardEmitterTrait.php(89): OCA\\\\DAV\\\\Files\\\\PreviewPlugin->httpGet()\\n#32 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(472): Sabre\\\\DAV\\\\Server->emit()\\n#33 \\\/mnt\\\/web\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(253): Sabre\\\\DAV\\\\Server->invokeMethod()\\n#34 \\\/mnt\\\/web\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Server.php(330): Sabre\\\\DAV\\\\Server->start()\\n#35 \\\/mnt\\\/web\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(31): OCA\\\\DAV\\\\Server->exec()\\n#36 \\\/mnt\\\/web\\\/owncloud\\\/remote.php(165): require_once('\\\/mnt\\\/web\\\/ownclo...')\\n#37 {main}\",\"File\":\"\\\/mnt\\\/web\\\/owncloud\\\/apps-external\\\/files_primary_s3\\\/vendor\\\/aws\\\/aws-sdk-php\\\/src\\\/S3\\\/UseArnRegion\\\/Configuration.php\",\"Line\":13}"}
Browser log
Insert your browser log here, this could for example include:
Nothing here, server side error