Internal Server Error when trying to download from public link
Steps to reproduce
- share a file/folder
- create a public link
- visit link, attempt to download
- tried with default theme and custom theme, same results
Expected behaviour
the file should download
Actual behaviour
internal server error
Server configuration
Operating system: debian 10
Web server: apache2
Database: mysql/mariadb 10.3.25
PHP version: 7.3
ownCloud version: (see ownCloud admin page) 10.9.1
Updated from an older ownCloud or fresh install: updated from older versions as they have been released
Where did you install ownCloud from: https://owncloud.com/download-server/
Signing status (ownCloud 9.0 and above):
Results
- castheme
- EXCEPTION
- OC\IntegrityCheck\Exceptions\MissingSignatureException
- Signature data not found.
- EXCEPTION
Raw output
Array ( [castheme] => Array ( [EXCEPTION] => Array ( [class] => OC\IntegrityCheck\Exceptions\MissingSignatureException [message] => Signature data not found. )
)
)
The content of config/config.php:
{ "basic": { "license key": "REMOVED SENSITIVE VALUE", "date": "Tue, 15 Mar 2022 15:53:22 +0000", "ownCloud version": "10.9.1.2", "ownCloud version string": "10.9.1", "ownCloud edition": "Enterprise", "server OS": "Linux", "server OS version": "Linux 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64", "server SAPI": "apache2handler", "webserver version": "Apache/2.4.38 (Debian) OpenSSL/1.1.1g", "hostname": "xxx", "logged-in user": "ocadmin" }, "stats": { "users": { "Database": { "count": 4, "seen": 3, "logged in (30 days)": 2 }, "LDAP": { "count": 100830, "seen": 368, "logged in (30 days)": 20 } }, "groups": { "OC\Group\Database": 2, "OCA\User_LDAP\Group_Proxy": 499 } }, "config": { "installed": true, "dbtype": "mysql", "dbname": "owncloud", "dbuser": "REMOVED SENSITIVE VALUE", "dbpassword": "REMOVED SENSITIVE VALUE", "dbhost": "localhost", "dbtableprefix": "oc_", "passwordsalt": "REMOVED SENSITIVE VALUE", "forcessl": true, "blacklisted_files": [ ".htaccess" ], "overwritehost": "", "overwriteprotocol": "", "overwritewebroot": "", "overwritecondaddr": "", "trusted_domains": [ "xxx" ], "default_language": "en", "3rdpartyroot": "", "3rdpartyurl": "", "defaultapp": "files", "knowledgebaseenabled": true, "appstoreenabled": true, "mail_domain": "REMOVED SENSITIVE VALUE", "mail_smtpdebug": false, "mail_smtpmode": "smtp", "mail_smtphost": "REMOVED SENSITIVE VALUE", "mail_smtpport": "25", "mail_smtptimeout": 30, "memcached_server": [ "localhost", 11211 ], "trashbin_retention_obligation": "30, auto", "allow_user_to_change_display_name": true, "appcodechecker": "", "updatechecker": false, "has_internet_connection": true, "check_for_working_webdav": true, "check_for_working_htaccess": true, "log_type": "owncloud", "logfile": "", "loglevel": 3, "logdateformat": "F d, Y H:i:s", "logtimezone": "Europe/Berlin", "log_query": false, "log_authfailip": false, "log_rotate_size": 104857600, "log_rotate_sizerotation": 262144000, "remember_login_cookie_lifetime": 1296000, "session_lifetime": 86400, "session_keepalive": true, "custom_csp_policy": "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src *; font-src 'self' data:; media-src *", "xframe_restriction": true, "datadirectory": "/home/ocdata/ocdata", "maintenance": false, "customclient_desktop": "http://owncloud.org/sync-clients/", "customclient_android": "https:///", "customclient_ios": "https:///", "enable_previews": true, "preview_max_x": "", "preview_max_y": "", "preview_max_scale_factor": 10, "preview_libreoffice_path": "/usr/bin/libreoffice", "preview_office_cl_parameters": "", "enable_avatars": true, "openssl": [], "singleuser": false, "instanceid": "oc065582e124", "version": "10.9.1.2", "ldapIgnoreNamingRules": false, "license-key": "REMOVED SENSITIVE VALUE", "supportedDatabases": [ "mysql", "pgsql", "oci" ], "secret": "REMOVED SENSITIVE VALUE", "share_folder": "/Shared", "mail_from_address": "REMOVED SENSITIVE VALUE", "overwrite.cli.url": "https://xxx", "htaccess.RewriteBase": "/", "accounts.enable_medial_search": true, "updater.secret": "REMOVED SENSITIVE VALUE", "allow_user_to_change_mail_address": true, "integrity.ignore.missing.app.signature": [ "castheme22" ] }, "integritychecker": { "passing": false, "enabled": true, "result": { "castheme": { "EXCEPTION": { "class": "OC\IntegrityCheck\Exceptions\MissingSignatureException", "message": "Signature data not found." } } } }, "core": { "allow_user_mount_sharing": "no", "backgroundjobs_step": "regular_tasks", "backgroundjobs_task": "OC_Cache_FileGlobal-gc", "enable_external_storage": "yes", "global_cache_gc_lastrun": "1442638674", "grace_period": "1643255754", "installedat": "1383324080.6065", "lastcron": "1647359567", "lastupdateResult": "[]", "lastupdatedat": "1647357869", "public_documents": "documents/public.php", "public_files": "files_sharing/public.php", "public_webdav": "dav/appinfo/v1/publicwebdav.php", "remote_caldav": "dav/appinfo/v1/caldav.php", "remote_calendar": "dav/appinfo/v1/caldav.php", "remote_carddav": "dav/appinfo/v1/carddav.php", "remote_contacts": "dav/appinfo/v1/carddav.php", "remote_core.css": "/core/minimizer.php", "remote_core.js": "/core/minimizer.php", "remote_dav": "dav/appinfo/v2/remote.php", "remote_files": "dav/appinfo/v1/webdav.php", "remote_filesync": "files/appinfo/filesync.php", "remote_nonshib-webdav": "user_shibboleth/appinfo/remote.php", "remote_webdav": "dav/appinfo/v1/webdav.php", "repairlegacystoragesdone": "yes", "shareapi_allow_mail_notification": "yes", "shareapi_allow_public_notification": "yes", "shareapi_allow_resharing": "yes", "shareapi_allow_share_dialog_user_enumeration": "yes", "shareapi_default_permissions": "31", "shareapi_only_share_with_group_members": "no", "shareapi_only_share_with_membership_groups": "no", "updater.secret.created": "1537586406", "vendor": "owncloud" },...
List of activated apps:
Enabled:
- activity:
- Version: 2.6.1
- Path: /var/www/owncloud/apps/activity
- castheme22:
- Version: 1.0.0
- Path: /var/www/owncloud/apps/castheme22
- comments:
- Version: 0.3.0
- Path: /var/www/owncloud/apps/comments
- configreport:
- Version: 0.2.0
- Path: /var/www/owncloud/apps/configreport
- dav:
- Version: 0.7.0
- Path: /var/www/owncloud/apps/dav
- federatedfilesharing:
- Version: 0.5.0
- Path: /var/www/owncloud/apps/federatedfilesharing
- federation:
- Version: 0.1.0
- Path: /var/www/owncloud/apps/federation
- files:
- Version: 1.5.2
- Path: /var/www/owncloud/apps/files
- files_external:
- Version: 0.8.0
- Path: /var/www/owncloud/apps/files_external
- files_mediaviewer:
- Version: 1.0.5
- Path: /var/www/owncloud/apps/files_mediaviewer
- files_sharing:
- Version: 0.14.0
- Path: /var/www/owncloud/apps/files_sharing
- files_trashbin:
- Version: 0.9.1
- Path: /var/www/owncloud/apps/files_trashbin
- files_versions:
- Version: 1.3.0
- Path: /var/www/owncloud/apps/files_versions
- firstrunwizard:
- Version: 1.2.0
- Path: /var/www/owncloud/apps/firstrunwizard
- market:
- Version: 0.6.2
- Path: /var/www/owncloud/apps/market
- notifications:
- Version: 0.5.4
- Path: /var/www/owncloud/apps/notifications
- provisioning_api:
- Version: 0.5.0
- Path: /var/www/owncloud/apps/provisioning_api
- systemtags:
- Version: 0.3.0
- Path: /var/www/owncloud/apps/systemtags
- updatenotification:
- Version: 0.2.1
- Path: /var/www/owncloud/apps/updatenotification
- user_ldap:
- Version: 0.16.0
- Path: /var/www/owncloud/apps/user_ldap
Are you using external storage, if yes which one: local/smb/sftp/...
nfs
Are you using encryption: yes/no
no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
active directory over ldaps
LDAP configuration (delete this part if not used)
+-------------------------------+------------------------------------------------------------+ | Configuration | s01 | +-------------------------------+------------------------------------------------------------+ | hasMemberOfFilterSupport | 1 | | hasPagedResultSupport | | | homeFolderNamingRule | | | lastJpegPhotoLookup | 0 | | ldapAgentName | xxxx | | ldapAgentPassword | *** | | ldapAttributesForGroupSearch | | | ldapAttributesForUserSearch | | | ldapBackupHost | | | ldapBackupPort | | | ldapBase | xxxxx | | ldapBaseGroups | xxxxx | | ldapBaseUsers | xxxxx | | ldapCacheTTL | 600 | | ldapConfigurationActive | 1 | | ldapDynamicGroupMemberURL | | | ldapEmailAttribute | mail | | ldapExperiencedAdmin | 0 | | ldapExpertUUIDGroupAttr | | | ldapExpertUUIDUserAttr | objectguid | | ldapExpertUsernameAttr | samaccountname | | ldapGroupDisplayName | samaccountname | | ldapGroupFilter | (&(|(objectclass=group))) | | ldapGroupFilterGroups | | | ldapGroupFilterMode | 0 | | ldapGroupFilterObjectclass | group | | ldapGroupMemberAlgo | groupScan | | ldapGroupMemberAssocAttr | member | | ldapHost | xxxxx | | ldapIgnoreNamingRules | | | ldapLoginFilter | (&(&(|(objectclass=user)))(samaccountname=%uid)) | | ldapLoginFilterAttributes | | | ldapLoginFilterEmail | 0 | | ldapLoginFilterMode | 0 | | ldapLoginFilterUsername | 1 | | ldapNestedGroups | 0 | | ldapNetworkTimeout | 2 | | ldapOverrideMainServer | 0 | | ldapPagingSize | 500 | | ldapPort | 636 | | ldapQuotaAttribute | | | ldapQuotaDefault | | | ldapTLS | | | ldapUserDisplayName | samaccountname | | ldapUserDisplayName2 | | | ldapUserFilter | (&(|(objectclass=user))) | | ldapUserFilterGroups | | | ldapUserFilterMode | 1 | | ldapUserFilterObjectclass | user | | ldapUserName | samaccountname | | ldapUuidGroupAttribute | auto | | ldapUuidUserAttribute | auto | | turnOffCertCheck | 0 | | useMemberOfToDetectMembership | 1 | +-------------------------------+------------------------------------------------------------+
Client configuration
Browser:
any browser
Operating system:
Logs
Web server error log
no entries in error log
Insert your webserver log here
-
- [15/Mar/2022:11:06:18 -0500] "GET /s/8Z2PmTph8aJZXyC/download HTTP/1.1" 500 17077 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0"
ownCloud log (data/owncloud.log)
{"reqId":"cM4vBCn5LfqY4x40VcKO","level":3,"time":"March 15, 2022 16:37:54","remoteAddr":"ipaddr","user":"--","app":"index","method":"GET","url":"\/s\/8Z2PmTph8aJZXyC\/download","message":"Caused by: {\"Exception\":\"Doctrine\\\\DBAL\\\\Driver\\\\PDO\\\\Exception\",\"Message\":\"SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user' cannot be null\",\"Code\":\"23000\",\"Trace\":\"#0 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/Driver\\\/PDOStatement.php(119): Doctrine\\\\DBAL\\\\Driver\\\\PDO\\\\Exception::new(Object(PDOException))\\n#1 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/Connection.php(1526): Doctrine\\\\DBAL\\\\Driver\\\\PDOStatement->execute()\\n#2 \\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/DB\\\/Connection.php(238): Doctrine\\\\DBAL\\\\Connection->executeStatement('INSERT INTO `oc...', Array, Array)\\n#3 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/Query\\\/QueryBuilder.php(216): OC\\\\DB\\\\Connection->executeStatement('INSERT INTO `oc...', Array, Array)\\n#4 \\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/DB\\\/QueryBuilder\\\/QueryBuilder.php(142): Doctrine\\\\DBAL\\\\Query\\\\QueryBuilder->execute()\\n#5 \\\/var\\\/www\\\/owncloud\\\/apps\\\/activity\\\/lib\\\/Data.php(126): OC\\\\DB\\\\QueryBuilder\\\\QueryBuilder->execute()\\n#6 \\\/var\\\/www\\\/owncloud\\\/apps\\\/activity\\\/lib\\\/Consumer.php(76): OCA\\\\Activity\\\\Data->send(Object(OC\\\\Activity\\\\Event))\\n#7 \\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/Activity\\\/Manager.php(195): OCA\\\\Activity\\\\Consumer->receive(Object(OC\\\\Activity\\\\Event))\\n#8 \\\/var\\\/www\\\/owncloud\\\/apps\\\/files_sharing\\\/lib\\\/Controllers\\\/ShareController.php(463): OC\\\\Activity\\\\Manager->publish(Object(OC\\\\Activity\\\\Event))\\n#9 \\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/AppFramework\\\/Http\\\/Dispatcher.php(170): OCA\\\\Files_Sharing\\\\Controllers\\\\ShareController->downloadShare('8Z2PmTph8aJZXyC', NULL, '', '')\\n#10 \\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/AppFramework\\\/Http\\\/Dispatcher.php(89): OC\\\\AppFramework\\\\Http\\\\Dispatcher->executeController(Object(OCA\\\\Files_Sharing\\\\Controllers\\\\ShareController), 'downloadShare')\\n#11 \\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/AppFramework\\\/App.php(100): OC\\\\AppFramework\\\\Http\\\\Dispatcher->dispatch(Object(OCA\\\\Files_Sharing\\\\Controllers\\\\ShareController), 'downloadShare')\\n#12 \\\/var\\\/www\\\/owncloud\\\/lib\\\/public\\\/AppFramework\\\/App.php(132): OC\\\\AppFramework\\\\App::main('ShareController', 'downloadShare', Object(OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer))\\n#13 \\\/var\\\/www\\\/owncloud\\\/core\\\/routes.php(142): OCP\\\\AppFramework\\\\App->dispatch('ShareController', 'downloadShare')\\n#14 \\\/var\\\/www\\\/owncloud\\\/lib\\\/private\\\/Route\\\/Router.php(344): OC\\\\Route\\\\Router->{closure}(*** sensitive parameters replaced ***)\\n#15 \\\/var\\\/www\\\/owncloud\\\/lib\\\/base.php(927): OC\\\\Route\\\\Router->match('\\\/s\\\/8Z2PmTph8aJZ...')\\n#16 \\\/var\\\/www\\\/owncloud\\\/index.php(54): OC::handleRequest()\\n#17 {main}\",\"File\":\"\\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/Driver\\\/PDO\\\/Exception.php\",\"Line\":18}"}
block of code causing the problem from apps/activity/lib/Data.php (starting at line 86):
public function send(IEvent $event) { if ($event->getAffectedUser() === '' || $event->getAffectedUser() === null) { return false; }
// store in DB $queryBuilder = $this->connection->getQueryBuilder(); $queryBuilder->insert('activity') ->values([ 'app' => $queryBuilder->createParameter('app'), 'subject' => $queryBuilder->createParameter('subject'), 'subjectparams' => $queryBuilder->createParameter('subjectparams'), 'message' => $queryBuilder->createParameter('message'), 'messageparams' => $queryBuilder->createParameter('messageparams'), 'file' => $queryBuilder->createParameter('object_name'), 'link' => $queryBuilder->createParameter('link'), 'user' => $queryBuilder->createParameter('user'), 'affecteduser' => $queryBuilder->createParameter('affecteduser'), 'timestamp' => $queryBuilder->createParameter('timestamp'), 'priority' => $queryBuilder->createParameter('priority'), 'type' => $queryBuilder->createParameter('type'), 'object_type' => $queryBuilder->createParameter('object_type'), 'object_id' => $queryBuilder->createParameter('object_id'), ]) ->setParameters([ 'app' => $event->getApp(), 'type' => $event->getType(), 'user' => $event->getAuthor(), 'affecteduser' => $event->getAffectedUser(), 'timestamp' => (int) $event->getTimestamp(), 'subject' => $event->getSubject(), 'subjectparams' => \json_encode($event->getSubjectParameters()), 'message' => $event->getMessage(), 'messageparams' => \json_encode($event->getMessageParameters()), 'priority' => IExtension::PRIORITY_MEDIUM, 'object_type' => $event->getObjectType(), 'object_id' => (int) $event->getObjectId(), 'object_name' => $event->getObjectName(), 'link' => $event->getLink(), ]) ->execute();
when i comment out the if statement at the top and change BOTH 'user' and 'affecteduser' to a specified dummy account i created, it works:
'user' => 'public', //$event->getAuthor(), 'affecteduser' => 'public', //$event->getAffectedUser,
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.
This issue has been automatically closed.
I experienced this same issue and resolved it by syncing the base table structure with that of a new instance. I've had my install for a very long time so my thinking is there were some missing migrations or table changes. I had 240 total changes that had to be made so not entirely certain which one fixed the issue but here are all of the changes related to user column:
ALTER TABLE `owncloud`.`oc_activity` MODIFY COLUMN `user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL AFTER `type`;
ALTER TABLE `owncloud`.`oc_credentials` MODIFY COLUMN `user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL FIRST;
ALTER TABLE `owncloud`.`oc_files_trash` MODIFY COLUMN `user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' AFTER `id`;
ALTER TABLE `owncloud`.`oc_notifications` MODIFY COLUMN `user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL AFTER `app`;
ALTER TABLE `owncloud`.`oc_privatedata` MODIFY COLUMN `user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' AFTER `keyid`;
ALTER TABLE `owncloud`.`oc_share_external` MODIFY COLUMN `user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'Local user which added the external share' AFTER `owner`;
SQL changes were generated by Navicat comparing a new install of 10.13.2 to an upgraded 10.13.2 database