{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/core/issues/13193","labels_url":"https://api.github.com/repos/owncloud/core/issues/13193/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/core/issues/13193/comments","events_url":"https://api.github.com/repos/owncloud/core/issues/13193/events","html_url":"https://github.com/owncloud/core/issues/13193","id":53869359,"number":13193,"title":"can not upload changed shared file via syncclient with only change permissions","user":{"login":"dttpy","id":6545677,"avatar_url":"https://avatars.githubusercontent.com/u/6545677?v=3","gravatar_id":"","url":"https://api.github.com/users/dttpy","html_url":"https://github.com/dttpy","followers_url":"https://api.github.com/users/dttpy/followers","following_url":"https://api.github.com/users/dttpy/following{/other_user}","gists_url":"https://api.github.com/users/dttpy/gists{/gist_id}","starred_url":"https://api.github.com/users/dttpy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dttpy/subscriptions","organizations_url":"https://api.github.com/users/dttpy/orgs","repos_url":"https://api.github.com/users/dttpy/repos","events_url":"https://api.github.com/users/dttpy/events{/privacy}","received_events_url":"https://api.github.com/users/dttpy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/owncloud/core/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/owncloud/core/labels/Sharing","name":"Sharing","color":"e102d8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-01-09T13:50:54Z","updated_at":"2015-01-30T13:13:35Z","closed_at":null,"body":"### Steps to reproduce\r\n1. log in with admin account\r\n2. create a user \"user1\"\r\n3. create a folder \"sharetest\"\r\n4. share the folder \"sharetest\" with user1, but with only \"change\" permission\r\n5. go into \"sharetest\" and create a text file \"permissiontest.txt\"\r\n6. set syncclient account for user1\r\n7. open the local \"data\" folder for user1\r\n8. go into \"sharetest\" and open \"permissiontest.txt\"\r\n9. make some changes of this text file and save it\r\n10. wait for sync of syncclient (ERROR1)\r\n11. rename the text file to \"sharetest.txt\"\r\n12. wait for sync of syncclient (ERROR2)\r\n\r\n\r\n### Expected behaviour\r\nThe changed file can be uploaded, and \"admin\" can see the changes of the file.\r\n\r\n\r\n### Actual behaviour\r\nERROR1:\r\nThe changed file can not be uploaded due to an error:\r\nError downloading http://192.168.1.80/owncloud704/remote.php/webdav/sharetest/permissiontest.txt - server replied: Internal Server Error (Could not write file contents) \r\n\r\nERROR2: \r\nsharetest/sharetest.txt--Not allowed because you don't have permission to add files in that directory          \r\nsharetest/permissiontest.txt--Not allowed to remove, restoring          \r\nsharetest/sharetest.txt--Not allowed because you don't have permission to add files in that directory    \r\n      \r\nUser1 can find 2 text files in local sync client data/sharetest folder, permissiontest.txt (the origin one) and sharetest.txt (the changed one), but neither user1 or admin can get all these changes in the web ownCloud\r\n\r\n\r\n### Server configuration\r\n**Operating system:** Ubuntu 13.10\r\n\r\n**Web server:** apache 2.4.6 (Ubuntu)\r\n\r\n**Database:** SQLite\r\n\r\n**PHP version:** 5.5.3-1ubuntu2.3\r\n\r\n**ownCloud version:** 7.0.4 & master\r\n\r\n**Updated from an older ownCloud or fresh install:** owncloud 7.0.3\r\n\r\n**List of activated apps:** standard apps of owncloud\r\n\r\n**The content of config/config.php:**\r\n\r\n```\r\nInsert your config.php content here\r\n(Without the database password and passwordsalt)\r\n$CONFIG = array (\r\n  'instanceid' => 'oc6d9cda6e26',\r\n\r\n  'datadirectory' => '/var/ocdata/.../owncloud/data',\r\n  'dbtype' => 'sqlite3',\r\n  'version' => '7.0.4.2',\r\n  'installed' => true,\r\n  'theme' => '',\r\n  'maintenance' => false,\r\n  'maxZipInputSize' => 838860800,\r\n  'allowZipDownload' => true,\r\n  'loglevel' => '0',\r\n  'trusted_domains' => \r\n  array (\r\n    0 => '192.168.1.80',\r\n  ),\r\n\r\n);\r\n```\r\n\r\n**Are you using external storage, if yes which one:** no\r\n**Are you using encryption:** yes\r\n\r\n### Client configuration\r\n**Browser:** firefox 34.0.5\r\n\r\n**Operating system:** ubuntu 13.10\r\n\r\n### Logs\r\n#### Web server error log\r\n```\r\n\r\n```\r\n\r\n#### ownCloud log (data/owncloud.log)\r\n```\r\n\r\n```\r\n\r\n#### Browser log\r\n```\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/owncloud/core/issues/comments/72198634","html_url":"https://github.com/owncloud/core/issues/13193#issuecomment-72198634","issue_url":"https://api.github.com/repos/owncloud/core/issues/13193","id":72198634,"user":{"login":"PVince81","id":277525,"avatar_url":"https://avatars.githubusercontent.com/u/277525?v=3","gravatar_id":"","url":"https://api.github.com/users/PVince81","html_url":"https://github.com/PVince81","followers_url":"https://api.github.com/users/PVince81/followers","following_url":"https://api.github.com/users/PVince81/following{/other_user}","gists_url":"https://api.github.com/users/PVince81/gists{/gist_id}","starred_url":"https://api.github.com/users/PVince81/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PVince81/subscriptions","organizations_url":"https://api.github.com/users/PVince81/orgs","repos_url":"https://api.github.com/users/PVince81/repos","events_url":"https://api.github.com/users/PVince81/events{/privacy}","received_events_url":"https://api.github.com/users/PVince81/received_events","type":"User","site_admin":false},"created_at":"2015-01-30T13:13:35Z","updated_at":"2015-01-30T13:13:35Z","body":"The problem is as follows: when uploading the new copy of \"permissiontest.txt\" it will first create a part file \"permissiontest.txt.octransferid123.part\".\r\nIn fopen() from sharedstorage it will see that the file doesn't exist (the part file) so it will also check `isCreatable` which will return false.\r\n\r\nWe might want to add an exception there for part files."}}