Core - ownCloud gives you freedom and control over your own data.

Overview

ownCloud Core

Build Status Quality Gate Status Security Rating Coverage

ownCloud gives you freedom and control over your own data. A personal cloud which runs on your own server.

Why is this so awesome?

  • 📁 Access your Data You can store your files, contacts, calendars and more on a server of your choosing.
  • 📦 Sync your Data You keep your files, contacts, calendars and more synchronized amongst your devices.
  • 🔄 Share your Data You share your data with others, and give them access to your latest photo galleries, your calendar or anything else you want them to see.
  • 🚀 Expandable with dozens of Apps ...like Calendar, Contacts, Mail or News.
  • ☁️ All Benefits of the Cloud ...on your own Server.
  • 🔒 Encryption You can encrypt data in transit with secure https connections. You can enable the encryption app to encrypt data on storage for improved security and privacy.
  • ...

Installation instructions

https://doc.owncloud.com/server/latest/admin_manual/installation/

Contribution Guidelines

https://owncloud.com/contribute/

Support

Learn about the different ways you can get support for ownCloud: https://owncloud.com/support/

Get in touch

Important notice on translations

Please submit translations via Transifex: https://www.transifex.com/projects/p/owncloud/

For detailed information about translations: https://doc.owncloud.com/server/latest/developer_manual/core/translation.html

Comments
  • File Sharing stack overflow, memory issue, crash, CSRF issue on 9.1.0

    File Sharing stack overflow, memory issue, crash, CSRF issue on 9.1.0

    Steps to reproduce

    1. Upgrade to owncloud 9.1
    2. Login
    3. It shows CSRF check failed
    4. Deactivated files_sharing via occ
    5. Login workes

    Expected behaviour

    Login and works

    Actual behaviour

    shows CSRF check failed

    Server configuration

    Operating system:

    Web server: all-inkl.com Database: 5.6.30 PHP version: 5.6.23 ownCloud version: (see ownCloud admin page) 9.1 Updated from an older ownCloud or fresh install: updated from 9.0.3 Where did you install ownCloud from: Install from tar.bz2 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 here.
    

    List of activated apps:

    Enabled:

    • activity: 2.3.2
    • calendar: 1.2.2
    • comments: 0.3.0
    • contacts: 1.3.1.0
    • dav: 0.2.5
    • federatedfilesharing: 0.3.0
    • federation: 0.1.0
    • files: 1.5.1
    • files_pdfviewer: 0.8.1
    • files_texteditor: 2.1
    • files_trashbin: 0.9.0
    • files_sharing 0.10.0
    • files_versions: 1.3.0
    • files_videoplayer: 0.9.8
    • gallery: 15.0.0
    • notifications: 0.3.0
    • provisioning_api: 0.5.0
    • systemtags: 0.3.0
    • updatenotification: 0.2.1 Disabled:
    • encryption
    • external
    • files_antivirus
    • files_external
    • firstrunwizard
    • templateeditor
    • user_external
    • user_ldap

    The content of config/config.php:

    $CONFIG = array ( 'trusted_domains' => array ( 0 => 'owncloud..de', 1 => 'owncloud..de', 2 => '.de', 3 => 'www.owncloud..de', 4 => 'www.owncloud..de', 5 => '.de', ), 'datadirectory' => '/www/htdocs///ownclouddata/data', 'tempdirectory' => '/www/htdocs///ownclouddata/tmp', 'overwrite.cli.url' => 'http://.de/cloud/owncloud', 'dbtype' => 'mysql', 'version' => '9.1.0.15', 'dbname' => 'd01cd1d3', 'dbhost' => '127.0.0.1', 'dbtableprefix' => 'oc_', 'filesystem_check_changes' => 0, 'dbuser' => 'd01cd1d3', 'dbpassword' => '', 'installed' => true, 'forcessl' => true, 'theme' => '', 'maintenance' => false, 'loglevel' => 3, 'mail_smtpmode' => 'smtp', 'appstore.experimental.enabled' => true, 'mail_from_address' => 'info', 'mail_domain' => 'owncloud.de', 'mail_smtpauthtype' => 'LOGIN', 'mail_smtphost' => 'w01078ba.kasserver.com', 'mail_smtpport' => '465', 'mail_smtpauth' => 1, 'mail_smtpname' => '', 'mail_smtppassword' => '', 'trashbin_retention_obligation' => 'auto', 'enabledPreviewProviders' => array ( 0 => 'OC\Preview\Image', 1 => 'OC\Preview\MP3', 2 => 'OC\Preview\TXT', 3 => 'OC\Preview\MarkDown', 4 => 'OC\Preview\Epub', 5 => 'OC\Preview\PDF', 6 => 'OC\Preview\OpenDocument', 7 => 'OC\Preview\StarOffice', 8 => 'OC\Preview\MSOfficeDoc', 9 => 'OC\Preview\MSOffice2003', 10 => 'OC\Preview\MSOffice2007', ), 'updater.secret' => '', 'mail_smtpsecure' => 'ssl', );

    Are you using external storage, if yes which one: local/smb/sftp/...

    Are you using encryption: yes/no no Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

    Client configuration

    Browser: Chrome Operating system: Mac OSX 10.11.6

    Logs

    Web server error log

    {"reqId":"V5DHUlUNh8EAAC3bt5kAAAAk","remoteAddr":"217.93.9.75","app":"core","message":"starting upgrade from 9.0.1.3 to 9.1.0.15","level":0,"time":"2016-07-21T13:00:03+00:00","method":"GET","url":"/core/ajax/update.php?requesttoken=%3D%%3D","user":"--"} {"reqId":"V5DHUlUNh8EAAC3bt5kAAAAk","remoteAddr":"217.93.9.75","app":"core","message":"Exception: {"Exception":"Exception","Message":"Die Anwendung konnte nicht installiert werden, weil Sie nicht mit dieser Version von ownCloud kompatibel ist.","Code":0,"Trace":"#grity(Array, '\/www\/htdocs\/w01...', '\/www\/htdocs\/w01...', false)\n#1 \/www\/htdocs\/w01078ba\/simon\/cloud\/owncloud\/lib\/private\/Installer.php(263): OC\Installer::updateApp(Array)\n#2 \/www\/htdocs\/w01078ba\/simon\/cloud\/owncloud\/lib\/private\/Updater.php(454): OC\Installer::updateAppByOCSId('164356')\n#3 \/www\/htdocs\/w01078ba\/simon\/cloud\/owncloud\/lib\/private\/Updater.php(254): OC\Updater->upgradeAppStoreApps(Array)\n#4 \/www\/htdocs\/w01078ba\/simon\/cloud\/owncloud\/lib\/private\/Updater.php(150): OC\Updater->doUpgrade('9.1.0.15', '9.0.1.3')\n#5 \/www\/htdocs\/w01078ba\/simon\/cloud\/owncloud\/core\/ajax\/update.php(193): OC\Updater->upgrade()\n#6 {main}","File":"\/www\/htdocs\/w01078ba\/simon\/cloud\/owncloud\/lib\/private\/Installer.php","Line":377}","level":3,"time":"2016-07-21T13:02:21+00:00","method":"GET","url":"/core/ajax/update.php?requesttoken=I3g2NToLJgUlehQpPikjBWMvOQMBV2wbOgQyOzwgN2U%3D%3AfSRxkQHLRIfSJLAsZFmNMb4BcfhZfNO5pfFUDm96pio%3D","user":"--"}

    ownCloud log (data/owncloud.log)

    Browser log

    Insert your browser log here, this could for example include:
    
    a) The javascript console log
    b) The network log 
    c) ...
    
    Type:Bug feature:sharing regression sev1-critical 
    opened by Revisor01 205
  • Problems with german

    Problems with german "Umlaut" in folder name

    Hi,

    if i create a folder with a german Umlaut in the name, for example "Kontoauszüge", on my mac, the folder is of course instantly synchronised. Then I open the webinterface, the folder appears twice, but on my mac there is still only one version of the folder. See screenshot attached. Bildschirmfoto 2013-03-16 um 15 26 46

    Type:Bug needs info 
    opened by mahnuh 187
  • Can't migrate encryption keys from cli

    Can't migrate encryption keys from cli

    Hi, on my test installation i installed the newest master revision and activated the server side encryption module. (oC 8.1 latest master, php 5.6.10, mariaDB 10.0) In my logs this warning rises: Warning no app in context Installation is in transit between the old Encryption (ownCloud <= 8.0) and the new encryption. Please enable the "Default encryption module" and run 'occ encryption:migrate'

    I followed the warning: sudo -u USER /path/to/occ encryption:migrate

    The cli got following output: Reorganize system folder structure PHP Fatal error: Call to a member function getRelativePath() on a non-object in /path/to/apps/files_trashbin/lib/storage.php on line 123

    Type:Bug 
    opened by redhell 183
  • Shared files, oC 9.1 adding

    Shared files, oC 9.1 adding "(2)" at the end

    Steps to reproduce (I don't know how to reproduce it, I need to investigate more)

    1. Use oC 9.1
    2. Share some files
    3. Wait untill some random magic happens and oC will add to all shared files some "(2)"

    I found same issue here, but these steps to reproduce does not work: https://github.com/owncloud/core/issues/10736

    Expected behaviour

    oC should not rename shared files ...

    Actual behaviour

    oC adds "(2)" to all shared files (owner does not see renamed + "(2)" files

    Server configuration

    Ubuntu 14.04 Apache2 MySQL PHP 5.6 oC 9.1 Updated from 9.04 Installed from official website manually

    Integrity check: No errors have been found.
    
    

    List of activated apps:

      - activity: 2.3.2
      - comments: 0.3.0
      - dav: 0.2.5
      - encryption: 1.3.0
      - external: 1.2
      - federatedfilesharing: 0.3.0
      - federation: 0.1.0
      - files: 1.5.1
      - files_pdfviewer: 0.8.1
      - files_sharing: 0.10.0
      - files_texteditor: 2.1
      - files_trashbin: 0.9.0
      - files_versions: 1.3.0
      - files_videoplayer: 0.9.8
      - firstrunwizard: 1.1
      - gallery: 15.0.0
      - notifications: 0.3.0
      - ownnote: 1.08
      - provisioning_api: 0.5.0
      - systemtags: 0.3.0
      - templateeditor: 0.1
      - updatenotification: 0.2.1
      - user_ldap: 0.9.0
    Disabled:
      - files_antivirus
      - files_external
      - user_external
    
    

    The content of config/config.php:

    {
        "system": {
            "updatechecker": false,
            "instanceid": "***",
            "passwordsalt": "***REMOVED SENSITIVE VALUE***",
            "secret": "***REMOVED SENSITIVE VALUE***",
            "trusted_domains": [
                ***
            ],
            "datadirectory": "\/home\/owncloud\/owncloud",
            "overwrite.cli.url": "*",
            "dbtype": "mysql",
            "version": "9.1.0.15",
            "default_language": "cz",
            "dbname": "ownCloud",
            "dbhost": "localhost",
            "dbtableprefix": "oc_",
            "dbuser": "***REMOVED SENSITIVE VALUE***",
            "dbpassword": "***REMOVED SENSITIVE VALUE***",
            "logtimezone": "UTC",
            "installed": true,
            "ldapIgnoreNamingRules": false,
            "loglevel": 2,
            "appstore.experimental.enabled": true,
            "theme": "HZS",
            "maintenance": false,
            "memcache.local": "\\OC\\Memcache\\APCu",
            "preview_libreoffice_path": "\/usr\/bin\/libreoffice",
            "mail_from_address": "owncloud",
            "mail_smtpmode": "php",
            "mail_domain": "**"
        }
    }
    
    

    Are you using external storage, if yes which one: no

    Are you using encryption: yes

    Are you using an external user-backend, if yes which one: LDAP

    Client configuration

    Browser: Opera 39 Operating system: Windows 10

    Type:Bug feature:sharing regression sev1-critical 
    opened by Mysterycz 181
  • Add repair step to repair mismatch filecache paths

    Add repair step to repair mismatch filecache paths

    Description

    Whenever a parent-child relationship describes a specific path but the entry's actual path is different, this new repair step will adjust it.

    In the event where another entry already exists under that name, the latter is deleted and replaced by the above entry. This should help preserve the metadata associated with the original entry.

    This kind of situation can be create through the bug from https://github.com/owncloud/core/issues/28018

    This is a better fix than https://github.com/owncloud/core/pull/28217

    The cases that this repair step fixes:

    • current path doesn't match the one from the parent on same storage: reproducible before https://github.com/owncloud/core/pull/28022 by moving a file between two received shares from the same user or by moving a file out of a received share.
    • current path doesn't match the one from the parent on a different storage: reproducible before https://github.com/owncloud/core/pull/28022 by moving a file between two received shares where each share comes from a different user (two storages)
    • parentid pointing to a non-existing entry: not reproducible in the wild, however the first phase of the repair step will create such entries which the second phase fixes. I assume that there might be such cases existing out there so this would fix them too.
    • parent = fileid: not reproducible at all, was reported by @butonic as seen in the wild (clustered env). I added it because such entries would have caused an infinite loop in the repair step which is bad.

    This repair step does not:

    • repair mismatch path_hashes
    • mime types

    Here are the queries that are run to find broken entries, could be used to pre-check an instance:

    select fc.storage,fc.fileid,fc.parent as "wrongparent",fc3.fileid "correctparent",fc.path,fc.etag from oc_filecache fc, oc_filecache fc3 where fc.parent <> -1 and fc.parent != fc3.fileid and fc3.storage=fc.storage and fc3.path = substring(fc.path, 1, length(fc.path) - length(substring_index(fc.path, '/', -1)) - 1) and not exists (select 1 from oc_filecache fc2 where fc2.fileid = fc.parent) order by path;
    SELECT fc.`storage`, fc.`fileid`, fc.`path` as `path`, fc.`name`, fcp.`storage` as `parentstorage`, fcp.`path` as `parentpath`     FROM `oc_filecache` fc, `oc_filecache` fcp     WHERE (fc.`parent` = fcp.`fileid`)     AND (         (CONCAT(fcp.`path`, '/', fc.`name`) <> fc.`path`)         OR (fc.`storage` <> fcp.`storage`)     )     AND (fcp.`path` <> '')     AND (fc.`fileid` <> fcp.`fileid`);
    select fc.storage,fc.fileid,fc.parent as "wrongparent",fc.path,fc.etag from oc_filecache fc where fc.parent <> -1 and not exists (select 1 from oc_filecache fc2 where fc2.fileid = fc.parent) order by path;
    select * from oc_filecache where parent=fileid;
    

    Related Issue

    Fixes the fallout created by https://github.com/owncloud/core/issues/28018

    Motivation and Context

    Because we hate filecache inconsistencies.

    How Has This Been Tested?

    • [x] TEST: Unit test (some pending)
    • [x] TEST: manual test

    ⚠️ Use the test steps from here: https://github.com/owncloud/core/pull/28253#issuecomment-311781465

    Screenshots (if appropriate):

    Types of changes

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    2 - Developing 
    opened by PVince81 176
  • Accept user share notification

    Accept user share notification

    Description

    New notification to accept shares and pending shares list

    • Reusing the "oc_share.accepted" field to store share states.
    • Added checkbox in settings page to enable automatically accepting shares, this defaults to enabled currently. Unchecking this option will prompt users to accept or reject shares through notifications
    • Added pending and rejected shares in the "Shared with you" view
    • The "unshare from self" action now changes the state of shares to "Rejected" instead of deleting directly

    Related Issue

    https://github.com/owncloud/core/issues/19153

    Motivation and Context

    How Has This Been Tested?

    TODO - for testcases see https://github.com/owncloud/core/pull/30106#issuecomment-369961079

    Screenshots (if appropriate):

    fireshot capture 21 - mit ihnen geteilt - owncloud_ - http___localhost_8000_index php_apps_files_

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.

    TODOs:

    • [x] expose share state value in PHP API
    • [x] add setting in share settings page to switch on this feature
    • [x] send notification to user
    • [x] send notification to group members
    • [x] implement endpoint for accepting share
    • [x] implement endpoint for declining share
    • [x] discard notification if share is deleted
    • [x] discard notification if target user is not member of the group any more
    • [x] add missing unit tests
    • [x] do not render folder favorite start
    3 - To Review blue-ticket 
    opened by PVince81 166
  • Sabre_DAV_Exception_BadRequest: expected filesize mismatch

    Sabre_DAV_Exception_BadRequest: expected filesize mismatch

    With ownCloud 7.0.0 (already present before in at least 6.0.4) I see a lot of Sabre_DEV_Exception_BadRequest errors in /var/www/owncloud/data/owncloud.log.

    {"app":"webdav","message":"Sabre_DAV_Exception_BadRequest: expected filesize 4734206 got 458752","level":4,"time":"2014-07-10T13:58:54+00:00"}
    

    There is one user having problems synchronizing it’s files with the server. The user has the latest ownCloud client 1.6.1 installed and experiences the problems with the client on Microsoft Windows and Mac OS. Other users with Mac OS and the client do not experience any problems.

    Type:Bug blue-ticket 
    opened by paulepanter 164
  • Continuing the New User management

    Continuing the New User management

    :construction: PR just for collaborating. Work In Progress, don't click merge yet.

    First priority, basic functionality

    • [x] the settings area should slide out smoothly, like in News. Also it should be possible to close it again by clicking on the same header area. And the header shouldn’t have a different color than the drawer. Best just try to extract it out from News and transfer the styles to core.
    • [x] Search filter needs to rely on server response, because not necessarily all users are already in the list (by @blizzz )
    • [ ] the undo notification should disappear after 7 seconds and perform the the delete operation (by @DeepDiver1975 / @jancborchardt )
    • [x] creating a group on the drop down menu dies not update the group list on the left (by @DeepDiver1975 )
    • [x] creating a group on the group panel does not update the list (by @DeepDiver1975 )
    • [x] delete of group does not trigger delete on the server (by @DeepDiver1975 )
    • [x] adding a group should not be an input and button right away, but rather work like adding Groups in the Contacts app (inserting a new entry below) (by @jancborchardt)
    • [x] the clickable area of the group actions (rename, delete) needs to be the whole row height and width of 44px
    • [x] the rename button should be directly next to the name, just like in the Files app
    • [x] the rename and delete icons should show half-transparent, and only dark on hover – maybe only use the .action class, just like Files and News do
    • [x] create users fails with: Fatal error: Call to undefined method OCP\JSON::checkSubAdminUser() in /home/blizzz/owncloud/dev/master/settings/ajax/createuser.php on line 4 (by @blizzz)
    • [x] filtering users oftentimes does not work, filtering admins almost never works (shows more people) (by @jancborchardt )
    • [x] we need a spinner as feedback when switching groups (by @jancborchardt )
    • [x] when a group is selected/shown, mark the entry in the sidebar as active. Just like in Notes. (by @jancborchardt )
    • [x] The delete group action should only show up for the currently active group. That is, not on hover. (by @jancborchardt )
    • [x] The »Create« buttons have too big of a font-size (18.33 px, cause of 0.8 em of the body) (by @jancborchardt )
    • [x] »admin« is a set group, it shouldn’t be possible to delete (right @DeepDiver1975?) (by @jancborchardt )
    • [x] In addition to deletion, we need a »rename« action on the group (by @jancborchardt )
    • [x] We need search in form of a filter (by @jancborchardt )
    • [x] selecting a group on the group panel does not update the user list (by @DeepDiver1975 )
    • [x] rename Storage to Quota (by @blizzz)
    • [x] groups should be sorted by number of people in them, not by alphabet (by @jancborchardt)
    • [x] groups with no members should have no number, instead of a 0 (by @jancborchardt)
    • [x] the sidebar should be position: fixed so it doesn’t move around when scrolling (should be in the core styles) (by @jancborchardt)
    • [x] the app-navigation needs a higher z-index than the content, so that the content does not overlap the sidebar when you scroll horizontally (should be in the core styles, by @jancborchardt)
    • [x] the »Create« button should say »Add user« to be more specific (by @jancborchardt)
    • [x] the settings area should be a slide-out drawer like in the News app (by @jancborchardt)
    • [ ] What shall happen when clicking on a filtered group? – Show all users of that group, but show those first which also match the filter term. Maybe with a divider below. (by @blizzz )
    • [x] Click on Everybody: No, it should display »Everybody« but filtered by the filter. Only resetting the filter should reset the filter. (by @blizzz )
    • [x] To reset filter: »clickable x icon in the filter box to empty the filter«(by @blizzz )

    Additional features

    • [ ] should be usable to manage huge amount of users (>20k) (by @blizzz )
    • [ ] pre-defined filters: Everyone, Users by Backend (Internal, LDAP, etc.), Not Grouped (users without group), Disabled Users. They shall be shown only if they contain rows, and be post-loaded using Ajax (by @blizzz )
    • [x] Last Login requires core to store last login/session refresh (by @blizzz )
    • [ ] column for email (after Full Name), lets admin edit the email (by @blizzz )
    • [ ] optional columns (to activate by checkbox on the bottom left): Usage (displays Quota usage in %, after Quota), followed by Storage Location, Last Login (last col). Choice of which are displayed should be remembered (by @blizzz )
    • [ ] checkbox to send email to users after creation of the account (by @blizzz )
    • [ ] when encryption app is enabled and a recovery key is available: on password change ask for recovery key by prompt so that files are recovered. see current implementation as example on how it works. (by @blizzz \cc @schiesbn )

    Big features which have to wait first

    • [ ] multiselect and edit of users (as in Files or Contacts-master app) (by @blizzz )
    • [ ] option to disable internal users (by @blizzz )
    • [ ] sortable columns (by @blizzz )
    enhancement design settings:users 
    opened by raghunayyar 159
  • Problems with Zip Files after upgrade to 7.0.0

    Problems with Zip Files after upgrade to 7.0.0

    Steps to reproduce

    1. Login und go to files
    2. select a couple of files download the generated zip file
    3. try to decompress with Total Commander

    Expected behaviour

    Files should be extracted

    Actual behaviour

    Total Commander gives CRC warnings

    Server configuration

    Operating system: debian 7

    Web server: apache 2.2 Database: postgres 9.1 PHP version: 5.4 ownCloud version: (see ownCloud admin page) 7.0.0 Updated from an older ownCloud or fresh install: From 6.0.4

    I got an hint from the Total Commander forum: http://ghisler.ch/board/viewtopic.php?t=40766 (in german)

    The linked forum post says that the generated zip has two issues:

    • the content is not compressed
    • the file entries in the zip file don't provide valid crc data (and thats why total commander complains).
    Type:Bug app:files sev1-critical blue-ticket 
    opened by maddox-DX 155
  • Synchronizing small files = very slow

    Synchronizing small files = very slow

    Expected behaviour

    Files sync at about the speed of the broadband connection, independent of size unless limited by CPU or IO on client or server.

    Actual behaviour

    Synchronizing a folder with many small files is terribly slow. For instance a test folder with 10k 3-byte-files synchronizes with a speed of about 1 file per second over a broadband connection. The load on both client and server while doing this is negligible. Tested with server running Ubuntu 12.04 with current owncloud 6.0.1-1, client current Linux or Macos clients. The transfer rates on the broadband connection are very low as well, so this is not the bottleneck.

    Steps to reproduce

    1. Download http://xn--grgen-jua.name/owncloudStressTest.tar.bz2
    2. unpack it into an owncloud folder that syncs with a remote owncloud machine.
    3. Observe upload speeds of one to a few 3-byte-files per second.

    Server configuration

    Operating system: Ubuntu 12.04

    Web server: lighttpd

    Database: mysql

    PHP version: PHP 5.3.10-1ubuntu3.9

    ownCloud version: 6.0.1-1

    Updated from an older ownCloud or fresh install: Updated from ownCloud 5

    The content of config/config.php: $CONFIG = array ( 'instanceid' => 'removed', 'passwordsalt' => 'removed', 'datadirectory' => '/var/www/owncloud/data', 'dbtype' => 'mysql', 'version' => '6.0.0.16', 'dbname' => 'dropbox', 'dbhost' => 'localhost', 'dbtableprefix' => 'removed', 'dbuser' => 'removed', 'dbpassword' => 'removed', 'installed' => true, 'theme' => '', 'maintenance' => false, );

    no external storage used.

    Log files do not show error messages or warnings that seem related.

    Client configuration

    Both MacosX and Ubuntu 13.10 running current owncloud versions are affected. Browser was not used.

    Why I think this is an issue

    I regularly sync folders with several thousands of files. I think I am not the only one.

    What I think is the reason

    I am guessing that owncloud does at least one if not several http requests per file sent. It works sequentially, so the next file can only be sent when the last file is acknowledged. Therefore while preparing the request takes no time and effort, and storing the file does not either, the network delay comes into play: For each file to be sent you have to wait at least one if not several round-trip times.

    Another indication is that syncing the folder on the local network or between two VMs on the same machine is much faster. This emphasizes the network delay being of importance in this scenario.

    How I think it could be circumvented

    Sync not file-by-file but instead several files per request, at least if the files are small.

    enhancement discussion performance 
    opened by ghost 155
  • LDAP: Domain Users are not being loaded with User Filter

    LDAP: Domain Users are not being loaded with User Filter

    Environment: OC v7.0.4 on apache CentOS 6.5 php 5.4.32 MySQL AD LDAP Description: Customer is attempting to select just a Domain Users group from the User Filter, however only 2 (as oppose to 200) are shown. As a workaround we have to either use a different group or allow all the groups to login with OC.

    Here's the log excerpt:

    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:24:20+00:00"}
    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:24:20+00:00"}
    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:24:21+00:00"}
    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:24:31+00:00"}
    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:24:42+00:00"}
    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:24:59+00:00"}
    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:25:03+00:00"}
    {"app":"PHP","message":"ldap_search(): Partial search results returned: Sizelimit exceeded at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:25:04+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/group_ldap.php#477","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/manager.php#100","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#209","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Statement.php#138","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#250","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#136","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/user\/manager.php#140","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/user\/manager.php#142","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"ldap_explode_dn() expects parameter 1 to be string, array given at \/var\/www\/html\/owncloud\/apps\/user_ldap\/lib\/ldap.php#252","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Statement.php#138","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Statement.php#138","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#142","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#144","level":3,"time":"2015-01-20T17:31:15+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/manager.php#100","level":3,"time":"2015-01-20T17:31:17+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#209","level":3,"time":"2015-01-20T17:31:17+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Statement.php#138","level":3,"time":"2015-01-20T17:31:17+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#250","level":3,"time":"2015-01-20T17:31:17+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#136","level":3,"time":"2015-01-20T17:31:17+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#137","level":3,"time":"2015-01-20T17:31:17+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/manager.php#100","level":3,"time":"2015-01-20T17:31:21+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#209","level":3,"time":"2015-01-20T17:31:21+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Statement.php#138","level":3,"time":"2015-01-20T17:31:21+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#250","level":3,"time":"2015-01-20T17:31:21+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#136","level":3,"time":"2015-01-20T17:31:21+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#137","level":3,"time":"2015-01-20T17:31:21+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/manager.php#100","level":3,"time":"2015-01-20T17:31:22+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#209","level":3,"time":"2015-01-20T17:31:22+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/3rdparty\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Statement.php#138","level":3,"time":"2015-01-20T17:31:22+00:00"}
    {"app":"PHP","message":"Illegal offset type in isset or empty at \/var\/www\/html\/owncloud\/lib\/private\/user\/database.php#250","level":3,"time":"2015-01-20T17:31:22+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#136","level":3,"time":"2015-01-20T17:31:22+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/user_ldap.php#137","level":3,"time":"2015-01-20T17:31:22+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/group_ldap.php#561","level":3,"time":"2015-01-20T17:32:11+00:00"}
    {"app":"PHP","message":"Array to string conversion at \/var\/www\/html\/owncloud\/apps\/user_ldap\/group_ldap.php#561","level":3,"time":"2015-01-20T17:32:12+00:00"}
    

    @gig13

    Type:Bug needs info blue-ticket 
    opened by sbelov1 144
  • allow specifying available space for objectstorages

    allow specifying available space for objectstorages

    Description

    Feature: Allow specifying available space for objectstorages

    Before this change, objectstorages were reporting only infinite storage space. This could have caused problems in other apps that rely on this storage method, e.g. metrics app that monitors available space

    Related Issue

    • Fixes https://github.com/owncloud/enterprise/issues/5384
    • Related https://github.com/owncloud/enterprise/issues/5006

    How Has This Been Tested?

    • manually in the developer instance
    • unit/acceptance tests

    Add configurations for files primary s3 being ceph, specifying availablestorage

    <?php
    $CONFIG = [
    	'objectstore' => [
    		'class' => 'OCA\Files_Primary_S3\S3Storage',
    		'arguments' => [
    			// replace with your bucket
    			'bucket' => 'owncloud',
    			// uncomment to indicate to owncloud available storage size in bytes (in this example 1TB)
    			'availablestorage' => 1099511627776,
    			// uncomment to enable server side encryption
    			//'serversideencryption' => 'AES256',
    			'options' => [
    				// version and region are required
    				'version' => '2006-03-01',
    				'region'  => 'us-central-1',
    				'credentials' => [
    					// replace key and secret with your credentials
    					'key' => 'owncloud123456',
    					'secret' => 'secret123456',
    				],
    				'use_path_style_endpoint' => true,
    				'endpoint' => 'http://ceph:8009/',
    			],
    		],
    	],
    ];
    

    Start ceph additionaly with owncloud instance

      ceph:
        image: ceph/daemon:master-dba849b-pacific-centos-8-aarch64
        command: demo
        restart: always
        environment:
          - NETWORK_AUTO_DETECT=4
          - RGW_NAME=ceph
          - CEPH_DEMO_UID=owncloud
          - CEPH_DEMO_ACCESS_KEY=owncloud123456
          - CEPH_DEMO_SECRET_KEY=secret123456
          - CEPH_DEMO_BUCKET=owncloud
        ports:
          - ${OWNCLOUD_S3_PORT}:8080
          - ${OWNCLOUD_S3_REST_PORT}:5000
    

    Types of changes

    • [x] New feature (non-breaking change which adds functionality)

    Checklist:

    • [x] Base code changes
    • [x] Unit tests added
    • [x] Acceptance tests added
    • [ ] Changelog item, see TEMPLATE

    Example

    Example use-case: metrics app

    Now metric is correctly reported in the app Screenshot 2022-09-27 at 23 37 12

    opened by mrow4a 3
  • 403 Forbidden Error: Logs say Duplicate ID but oc_filecache only 1 record

    403 Forbidden Error: Logs say Duplicate ID but oc_filecache only 1 record

    Background

    A2 Hosting Swift for 5 years ran without a hitch. Moved to A2 Hosting New Server- migrated exactly the same install. Files moved and database moved.

    Expected behaviour

    Tell us what should happen Upload to server!

    Actual behaviour

    Tell us what happens instead image

    26/09/2022 08:19:24, , ownCloud,Server replied "503 Service Unavailable" to "PUT https://planspace.net/cloud/remote.php/dav/files/cloudmin/Projects/XolasUI/yarn.lock"
    26/09/2022 08:19:24, Projects/XolasUI/src/mixins/FormatingMixins.js, ownCloud,Server replied "403 Forbidden" to "PUT https://planspace.net/cloud/remote.php/dav/files/cloudmin/Projects/XolasUI/src/mixins/FormatingMixins.js" (Sabre\DAV\Exception\Forbidden) (skipped due to earlier error, trying again in 46 second(s))
    
    

    Also I can login to the server, but can't create folders: Browser error: Sabre\DAV\Exception\Forbidden Could not create directory /Documents/Xolas/Accounts/2022/SST/Sep In the web client when I try upload a file, there's no network activity at all.

    Server configuration

    Operating system: CloudLinux 7.9 (based CentOS Kernel Version: 3.10.0-962.3.2.lve1.5.70.el7.x86_64)

    Web server: Apache 2.4.54

    Database: MariaDB 10.3.35-MariaDB-cll-lve

    PHP version: 7.2.34

    ownCloud version: (see ownCloud admin page)

    installed | 1
    version | 10.4.1.3
    versionstring | 10.4.1
    edition | Community
    productname | ownCloud
    hostname | sg1-ss18.a2hosting.com
    

    Updated from an older ownCloud or fresh install: Migrated same install to new server.

    When I attempt to upgrade: image

    Where did you install ownCloud from: A2 Hosting Swift Hosting

    The content of config/config.php:

    {
        "system": {
            "instanceid": "ocuec1fz4fbh",
            "passwordsalt": "***REMOVED SENSITIVE VALUE***",
            "secret": "***REMOVED SENSITIVE VALUE***",
            "cors.allowed-domains": [
                "https:\/\/planspace.net"
            ],
            "trusted_domains": [
                "planspace.net"
            ],
            "datadirectory": "\/home\/xolascoa\/ownclouddata",
            "overwrite.cli.url": "https:\/\/planspace.net\/cloud",
            "excluded_directories": [
                "node_modules\/",
                "storage\/",
                "dist\/"
            ],
            "dbtype": "mysql",
            "version": "10.4.1.3",
            "dbname": "xolascoa_ownCloud",
            "dbhost": "localhost",
            "dbtableprefix": "oc_",
            "dbuser": "***REMOVED SENSITIVE VALUE***",
            "dbpassword": "***REMOVED SENSITIVE VALUE***",
            "logtimezone": "UTC",
            "installed": true,
            "mail_from_address": "***REMOVED SENSITIVE VALUE***",
            "mail_smtpmode": "php",
            "mail_domain": "***REMOVED SENSITIVE VALUE***",
            "updater.secret": "***REMOVED SENSITIVE VALUE***",
            "loglevel": 3,
            "log_rotate_size": 26214400,
            "memcache.local": "\\OC\\Memcache\\APCu",
            "filelocking.enabled": true,
            "filelocking.ttl": 3600,
            "versions_retention_obligation": "7, 7",
            "maintenance": false,
            "theme": ""
        },
        "apps": {
            "backgroundjob": {
                "lastjob": "380"
            },
            "comments": {
                "enabled": "yes",
                "installed_version": "0.3.0",
                "types": "logging,dav"
            },
            "configreport": {
                "enabled": "yes",
                "installed_version": "0.2.0",
                "types": "filesystem"
            },
            "core": {
                "backgroundjobs_mode": "cron",
                "installedat": "1496712457.3628",
                "lastcron": "1580518480",
                "lastupdateResult": "{\"version\":\"10.8.0\",\"versionstring\":\"ownCloud 10.8.0\",\"url\":\"https:\\\/\\\/download.owncloud.org\\\/community\\\/owncloud-10.8.0.zip\",\"web\":\"https:\\\/\\\/doc.owncloud.com\\\/server\\\/latest\\\/admin_manual\\\/maintenance\\\/upgrading\\\/upgrade.html\"}",
                "lastupdatedat": "1664231253",
                "oc.integritycheck.checker": "[]",
                "public_files": "files_sharing\/public.php",
                "public_webdav": "dav\/appinfo\/v1\/publicwebdav.php",
                "updater.secret.created": "1664186464",
                "vendor": "owncloud"
            },
            "dav": {
                "enabled": "yes",
                "installed_version": "0.5.0",
                "types": "filesystem"
            },
            "federatedfilesharing": {
                "enabled": "yes",
                "installed_version": "0.5.0",
                "types": "filesystem"
            },
            "federation": {
                "enabled": "yes",
                "installed_version": "0.1.0",
                "types": "authentication"
            },
            "files": {
                "cronjob_scan_files": "500",
                "enabled": "yes",
                "installed_version": "1.5.2",
                "types": "filesystem"
            },
            "files_external": {
                "enabled": "yes",
                "installed_version": "0.7.1",
                "ocsid": "166048",
                "types": "filesystem"
            },
            "files_mediaviewer": {
                "enabled": "yes",
                "installed_version": "1.0.2",
                "types": ""
            },
            "files_sharing": {
                "enabled": "yes",
                "installed_version": "0.12.0",
                "types": "filesystem"
            },
            "files_trashbin": {
                "enabled": "yes",
                "installed_version": "0.9.1",
                "types": "filesystem"
            },
            "files_versions": {
                "enabled": "yes",
                "installed_version": "1.3.0",
                "types": "filesystem"
            },
            "files_videoplayer": {
                "enabled": "yes",
                "installed_version": "0.9.9",
                "types": ""
            },
            "firstrunwizard": {
                "enabled": "yes",
                "installed_version": "1.2.0",
                "ocsid": "166055",
                "types": ""
            },
            "market": {
                "enabled": "no",
                "installed_version": "0.2.3",
                "types": ""
            },
            "notifications": {
                "enabled": "yes",
                "installed_version": "0.5.0",
                "types": "logging"
            },
            "provisioning_api": {
                "enabled": "yes",
                "installed_version": "0.5.0",
                "types": "prevent_group_restriction"
            },
            "systemtags": {
                "enabled": "yes",
                "installed_version": "0.3.0",
                "types": "logging"
            },
            "templateeditor": {
                "enabled": "no",
                "installed_version": "0.1",
                "types": ""
            },
            "updatenotification": {
                "enabled": "yes",
                "installed_version": "0.2.1",
                "types": ""
            }
        }
    }
    

    When Generating Config Report

    image

    List of activated apps:

    Enabled:
      - comments: 0.3.0
      - configreport: 0.2.0
      - dav: 0.5.0
      - federatedfilesharing: 0.5.0
      - federation: 0.1.0
      - files: 1.5.2
      - files_external: 0.7.1
      - files_mediaviewer: 1.0.2
      - files_sharing: 0.12.0
      - files_trashbin: 0.9.1
      - files_versions: 1.3.0
      - files_videoplayer: 0.9.9
      - firstrunwizard: 1.2.0
      - notifications: 0.5.0
      - provisioning_api: 0.5.0
      - systemtags: 0.3.0
      - updatenotification: 0.2.1
    Disabled:
      - encryption
      - external
      - market
      - user_external
    

    Are you using external storage, if yes which one: local/smb/sftp/... No

    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:

    ownCloud log (data/owncloud.log)

    `{"reqId":"XDrv3WfjsAgACbbBPZkAAAJL","level":3,"time":"2019-01-13T07:59:26+00:00","remoteAddr":"115.164.207.89","user":"cloudmin","app":"index","method":"GET","url":"\/cloud\/index.php\/core\/preview.png?file=\/Documents\/Profiles\/anthony-blokshow.jpg&x=1080&y=2154&modified=1522676723000&rid=00146022ocuec1fz4fbh&a=true","message":"Exception: {\"Exception\":\"Doctrine\\\\DBAL\\\\Exception\\\\UniqueConstraintViolationException\",\"Message\":\"An exception occurred while executing 'INSERT INTO `oc_filecache` (`mimepart`,`mimetype`,`mtime`,`size`,`etag`,`storage_mtime`,`permissions`,`checksum`,`parent`,`path_hash`,`path`,`name`,`storage`) SELECT ?,?,?,?,?,?,?,?,?,?,?,?,? FROM `oc_filecache` WHERE `storage` = ? AND `path_hash` = ? HAVING COUNT(*) = 0' with params [\\\"7\\\", \\\"13\\\", 1547366366, 87519, \\\"2c151759d5380116c602200121a850d1\\\", 1547366366, 27, \\\"\\\", 149525, \\\"010524b40df0a34a137141d11bcf4ce5\\\", \\\"thumbnails\\\\\\\/146022\\\\\\\/1080-1080-with-aspect.png\\\", \\\"1080-1080-with-aspect.png\\\", 1, 1, \\\"010524b40df0a34a137141d11bcf4ce5\\\"]:\\n\\nSQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1-010524b40df0a34a137141d11bcf4ce5' for key 'fs_storage_path_hash'\",\"Code\":0,\"Trace\":\"#0 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/composer\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/DBALException.php(128): Doctrine\\\\DBAL\\\\Driver\\\\AbstractMySQLDriver->convertException('An exception oc...', Object(Doctrine\\\\DBAL\\\\Driver\\\\PDOException))\\n#1 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/composer\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/Connection.php(1015): Doctrine\\\\DBAL\\\\DBALException::driverExceptionDuringQuery(Object(Doctrine\\\\DBAL\\\\Driver\\\\PDOMySql\\\\Driver), Object(Doctrine\\\\DBAL\\\\Driver\\\\PDOException), 'INSERT INTO `oc...', Array)\\n#2 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/DB\\\/Connection.php(212): Doctrine\\\\DBAL\\\\Connection->executeUpdate('INSERT INTO `oc...', Array, Array)\\n#3 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/DB\\\/Adapter.php(113): OC\\\\DB\\\\Connection->executeUpdate('INSERT INTO `oc...', Array)\\n#4 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/DB\\\/Connection.php(250): OC\\\\DB\\\\Adapter->insertIfNotExist('*PREFIX*filecac...', Array, Array)\\n#5 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/Cache\\\/Cache.php(265): OC\\\\DB\\\\Connection->insertIfNotExist('*PREFIX*filecac...', Array, Array)\\n#6 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/Cache\\\/Cache.php(222): OC\\\\Files\\\\Cache\\\\Cache->insert('thumbnails\\\/1460...', Array)\\n#7 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/Cache\\\/Scanner.php(271): OC\\\\Files\\\\Cache\\\\Cache->put('thumbnails\\\/1460...', Array)\\n#8 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/Cache\\\/Scanner.php(211): OC\\\\Files\\\\Cache\\\\Scanner->addToCache('thumbnails\\\/1460...', Array, -1)\\n#9 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/Cache\\\/Scanner.php(314): OC\\\\Files\\\\Cache\\\\Scanner->scanFile('thumbnails\\\/1460...', 3, '149525', false, false)\\n#10 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/Cache\\\/Updater.php(124): OC\\\\Files\\\\Cache\\\\Scanner->scan('thumbnails\\\/1460...', false, 3, false)\\n#11 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/View.php(314): OC\\\\Files\\\\Cache\\\\Updater->update('thumbnails\\\/1460...', 1547366366)\\n#12 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/View.php(1138): OC\\\\Files\\\\View->writeUpdate(Object(OCA\\\\Files_Trashbin\\\\Storage), 'thumbnails\\\/1460...')\\n#13 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Files\\\/View.php(671): OC\\\\Files\\\\View->basicOperation('file_put_conten...', '\\\/thumbnails\\\/146...', Array, '\\\\xFF\\\\xD8\\\\xFF\\\\xE0\\\\x00\\\\x10JFIF\\\\x00\\\\x01\\\\x01\\\\x00\\\\x00...')\\n#14 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Preview.php(1054): OC\\\\Files\\\\View->file_put_contents('thumbnails\\\/1460...', '\\\\xFF\\\\xD8\\\\xFF\\\\xE0\\\\x00\\\\x10JFIF\\\\x00\\\\x01\\\\x01\\\\x00\\\\x00...')\\n#15 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Preview.php(900): OC\\\\Preview->storePreview(146022, 1080, 1080)\\n#16 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Preview.php(838): OC\\\\Preview->resizeAndStore(146022)\\n#17 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Preview.php(772): OC\\\\Preview->getCachedPreview(146022, 'thumbnails\\\/1460...')\\n#18 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Preview.php(801): OC\\\\Preview->getPreview()\\n#19 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/core\\\/ajax\\\/preview.php(63): OC\\\\Preview->showPreview()\\n#20 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Route\\\/Route.php(155) : runtime-created function(1): require_once('\\\/home\\\/simplysu\\\/...')\\n#21 [internal function]: __lambda_func(NULL)\\n#22 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/private\\\/Route\\\/Router.php(342): call_user_func('\\\\x00lambda_19', Array)\\n#23 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/base.php(929): OC\\\\Route\\\\Router->match('\\\/core\\\/preview.p...')\\n#24 \\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/index.php(56): OC::handleRequest()\\n#25 {main}\",\"File\":\"\\\/home\\\/simplysu\\\/public_html\\\/planspace.net\\\/cloud\\\/lib\\\/composer\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/Driver\\\/AbstractMySQLDriver.php\",\"Line\":66}"}`
    

    image

    opened by adavie1 2
  • [tests-only] Run PHP tests with 7.4-ubuntu20.04

    [tests-only] Run PHP tests with 7.4-ubuntu20.04

    Description

    WIP - replaces #40292

    Related Issue

    #38348

    How Has This Been Tested?

    CI

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Database schema changes (next release will require increase of minor version instead of patch)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] Technical debt
    • [x] Tests only (no source changes)

    Checklist:

    • [ ] Code changes
    • [ ] Unit tests added
    • [ ] Acceptance tests added
    • [ ] Documentation ticket raised:
    • [ ] Changelog item, see TEMPLATE
    opened by phil-davis 1
  • Improvement: Save storage in google APIs

    Improvement: Save storage in google APIs

    Right now the google APIs consume 78 MB in apps/files_external/3rdparty/google/apiclient-services/. On https://github.com/googleapis/google-api-php-client#cleaning-up-unused-services google described how the total set of 200 services can be stripped down to those which are actually needed. I think oC10 could benefit here if the services are limited as e.g. YouTube API should not be required.

    opened by d7oc 2
  • previews:cleanup issues

    previews:cleanup issues

    Important, files and database are on a fast NFS (NetApp) backend connected via GbE. Enterprise server running VMWare as host for ownCloud.

    Steps to reproduce

    1. upgrade from 10.10 to 10.11
    2. run occ previews:cleanup without any options/arguments

    Post successful upgrading, started occ previews:cleanup without any options/arguments. This means it should make one round with max 1000 entries (chunks) which is the default. The command started at 18h and did not finish until 23h. Rechecking in the moring, ist finished and reported 1103 orphaned previews deleted. Means it took between 4 and 11h... (remember, it is only a small instance started many years ago). Running htop in a second shell, memory is fine, mariadb takes 1-2 cores with 100%.

    Following findings:

    • the command took extremely long, my instance is a small one
    • there is no update what is going on, though you see a lot of NFS traffic
    • the default chunksize of 1000 does not get respected, it cleaned up 1103
    • compared when you do a fresh install of oc 10.11, when upgrading, you do not get the entry in the backgroundjobs table OCA\Files\BackgroundJob\PreviewCleanupJob
    • the command cant be stopped (ctrl c) once started

    Required Solutions:

    • update the documentation to relax this situation
    • fix the code, especially for: -- improve performance -- respect the chunksize -- add the bg job to the table automatically when upgrading (migration step necessary?) -- improve command responsiveness (maybe to add a progress option, a timestamp how long it took)

    @DeepDiver1975 @pmaier1 fyi @jnweiger

    Referencing feat: previews are physically deleted from disk and db in an async manner

    Server configuration

    Operating system: U22.04

    Web server: nginx

    Database: mariadb

    PHP version: 7.4

    ownCloud version: 10.11

    Updated from an older ownCloud or fresh install: yes

    Where did you install ownCloud from: tar

    Signing status (ownCloud 9.0 and above): all good

    ownCloud log (data/owncloud.log)

    nothing relevant

    Type:Bug 
    opened by mmattel 1
  • Locked out from OC10 when web is the default app but crashes

    Locked out from OC10 when web is the default app but crashes

    Coming from https://central.owncloud.org/t/web-ui-redirection-2-0-its-even-worse/39322

    1. Install OC10 and web
    2. Set web as default app for the user
    3. Make web crash somehow (likely some wrong configuration somewhere)

    Expected behaviour

    The user can somehow revert the default app to the old UI

    Actual behaviour

    It isn't easy to revert the default app for the user. The occ command to set the default app is undocumented (as far as I know), and OC 10 doesn't provide an easy way to change the default app in case the user manage to enter (which might not happen if he doesn't know the url). Note that, since the web app crashes, the user can't revert the default app from the web app.

    Server configuration

    Operating system:

    Web server:

    Database:

    PHP version:

    ownCloud version: (see ownCloud admin page)

    Updated from an older ownCloud or fresh install:

    Where did you install ownCloud from:

    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.
    

    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.
    

    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.
    

    Are you using external storage, if yes which one: local/smb/sftp/...

    Are you using encryption: yes/no

    Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

    LDAP configuration (delete this part if not used)

    With access to your command line run e.g.:
    sudo -u www-data php occ ldap:show-config
    from within your ownCloud installation folder
    
    Without access to your command line download the data/owncloud.db to your local
    computer or access your SQL server remotely and run the select query:
    SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';
    
    
    Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.
    

    Client configuration

    Browser:

    Operating system:

    Logs

    Web server error log

    Insert your webserver log here
    

    ownCloud log (data/owncloud.log)

    Insert your ownCloud log here
    

    Browser log

    Insert your browser log here, this could for example include:
    
    a) The javascript console log
    b) The network log 
    c) ...
    
    opened by jvillafanez 0
Owner
ownCloud
A safe home for all your data
ownCloud
This Statamic addon allows you to modify the tags rendered by the Bard fieldtype, giving you full control over the final HTML.

Bard Mutator This Statamic addon allows you to modify the tags rendered by the Bard fieldtype, giving you full control over the final HTML. You can ad

Jack Sleight 10 Sep 26, 2022
Keep control over the complexity of your methods by checking that they do not have too many arguments.

php arguments detector The ideal number of arguments for a function is zero. ~ Robert C. Martin Keep control over the complexity of your methods by ch

DeGraciaMathieu 13 Aug 31, 2022
A privacy respecting free as in freedom meta search engine for Google and popular torrent sites

A privacy respecting free as in freedom meta search engine for Google and popular torrent sites

null 235 Sep 23, 2022
Michael Pratt 304 Sep 20, 2022
This is a Native PHP MVC. If you will build your own PHP project in MVC with router, you can clone this ready to use MVC pattern repo.

Welcome to PHP-Native-MVC-Pattern ?? If you will build your own PHP project in MVC with router, you can clone this ready to use MVC pattern repo. Work

null 2 Jun 6, 2022
Moodle ReactJS - gives you ability to use ReactJS inside any moodle page.

moodle-local_reactjs Moodle ReactJS - gives you ability to use ReactJS inside any moodle page. Note for devs: You'll need to set up npm dependencies d

SmartApp 4 Aug 1, 2022
PHP Meminfo is a PHP extension that gives you insights on the PHP memory content

MEMINFO PHP Meminfo is a PHP extension that gives you insights on the PHP memory content. Its main goal is to help you understand memory leaks: by loo

Benoit Jacquemont 893 Sep 22, 2022
JsonQ is a simple, elegant PHP package to Query over any type of JSON Data

php-jsonq JsonQ is a simple, elegant PHP package to Query over any type of JSON Data. It'll make your life easier by giving the flavour of an ORM-like

Nahid Bin Azhar 824 Sep 25, 2022
Magento 2 GDPR extension Free by Magepow helps websites comply with GDPR regulations, allowing customers to control personal data and avoid penalties.

Magento 2 GDPR extension Free by Magepow helps websites comply with GDPR regulations, allowing customers to control personal data and avoid penalties.

https://magepow.com 11 Apr 6, 2022
Download this Plugin and you will have Hive MC server in your own!

Your-Own-Hive Version: v1.9.0 Murder Mystery Update Next Update: Survival Games This Plugin has all the essentials with HiveMC! Updates Every Day! Pla

null 16 Sep 9, 2022
Chat over your local network: 127.0.0.1

#Howto: install packages: apache2 (or nginx but I wouldn't prefer it if you're using your local computer) php for ubuntu/debian instance: $ apt instal

Omer Erbilgin 1 Jan 12, 2022
Osclass Enterprise allows you to quickly build your own classifieds site for free.

Osclass Enterprise Osclass Enterprise is a fork of the Osclass v3.8.0 repository, containing many fixes and improvements (check the CHANGELOG). Releas

null 5 Jul 18, 2022
It's MX Player API gives All Content in JSON format

?? MXPlayer API ?? ?? MXPlayer API Can get Streaming URLs and Other Data in JSON Format From mxplayer.in links for Streaming ?? How to Use : ?? Method

Techie Sneh 8 Nov 30, 2021
The Current US Version of PHP-Nuke Evolution Xtreme v3.0.1b-beta often known as Nuke-Evolution Xtreme. This is a hardened version of PHP-Nuke and is secure and safe. We are currently porting Xtreme over to PHP 8.0.3

2021 Nightly Builds Repository PHP-Nuke Evolution Xtreme Developers TheGhost - Ernest Allen Buffington (Lead Developer) SeaBeast08 - Sebastian Scott B

Ernest Buffington 7 Aug 28, 2022
Fact Extraction and VERification Over Unstructured and Structured information

Repository for Fact Extraction and VERification Over Unstructured and Structured information (FEVEROUS), used for the FEVER Workshop Shared Task at EMNLP2021.

Rami 45 Sep 15, 2022
🏆 Learn You PHP! - An introduction to PHP's core features: i/o, http, arrays, exceptions and so on.

Learn You PHP! The very first PHP School workshop. A revolutionary new way to learn PHP Bring your imagination to life in an open learning eco-system

PHP School 312 Sep 22, 2022
Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Martti Malmi 14 Jun 8, 2022