Commit graph

261 commits

Author SHA1 Message Date
Thomas Müller
52dc31e13c Merge pull request #10725 from owncloud/sabredav-etag-master
adding OC-ETag header
2014-09-03 11:21:47 +02:00
Thomas Müller
96a931929e adding OC-ETag header 2014-08-29 12:09:33 +02:00
Thomas Müller
647120fb36 adding new webdav property containing the folder size 2014-08-29 11:39:02 +02:00
Jörn Friedrich Dreyer
f551917a3c kill OC::$session
maintain deprecated \OC::$session when getting or setting the session via the server container or UserSession

restore order os OC::$session and OC::$CLI

remove unneded initialization of dummy session

write back session when $useCustomSession is true

log warning when deprecated app is used
2014-08-29 10:22:21 +02:00
Lukas Reschke
92c80dd946 Merge pull request #10518 from owncloud/fix_storage_const_autoload
Fix storage const autoload
2014-08-20 23:23:42 +02:00
Morris Jobke
b3b3354809 move to public namespace 2014-08-19 14:05:08 +02:00
Stephan Peijnik
2df52e54d7 Fix STORAGE_* constants usage by moving those constants into \OC\Files\Filesystem.
As constants not defined within a class cannot be automatically found by the
autoloader moving those constants into a class makes them accessible to
code which uses them.

Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com>
2014-08-19 13:55:35 +02:00
Vincent Petry
ec274ad40b Use afterBind to send fileId header for files and directories
afterBind is called for both files and directories and is now used to
send the OC-FileId headers.
2014-08-18 18:40:58 +02:00
Vincent Petry
cc8c1d8e07 Return whole file if range request cannot be granted due to encryption
Whenenver range headers are set and encryption is enabled, it is not
possible to automatically fseek() to the proper position.

To avoid returning corrupt/invalid data or causing a decryption error,
the range headers are stripped so that the SabreDAV code in httpGet()
returns the whole file.
2014-08-14 15:18:49 +02:00
Thomas Müller
31149fb1c3 adding special handling of checkPrecondition() for chunked upload 2014-07-22 13:06:20 +02:00
Thomas Müller
0a9e0d1051 perm -> permissions 2014-07-21 13:49:22 +02:00
Thomas Müller
ea269f0067 Upload abortion is now detected within the OC_Connector_Sabre_File::put()
OC_Connector_Sabre_AbortedUploadDetectionPlugin is pointless

Adding unit test testUploadAbort()
2014-07-08 11:09:59 +02:00
Robin Appelman
8161104420 Catch StorageInvalidException in webdav 2014-07-01 15:03:29 +02:00
Robin Appelman
99960d7747 Handle StorageNotAvailableException in webdav 2014-06-30 16:36:11 +02:00
Robin Appelman
80e6d357a2 Fix permissions check when moving a file to a different directory over webdav 2014-06-20 14:29:13 +02:00
Robin Appelman
07fdeba50b Fix moving movablemount over webdav 2014-06-17 14:10:11 +02:00
Robin Appelman
c6a83b2f17 Fix exposing single files over webdav 2014-06-14 10:13:24 +02:00
Robin Appelman
65f3b2fad2 Add server<->server sharing backend 2014-06-14 10:10:37 +02:00
icewind1991
c47d4ebbac Merge pull request #8666 from owncloud/mount-remove
Support for (re)moving mountpoints
2014-06-06 11:57:43 +02:00
Bjoern Schiessle
b0a74edbb2 allow moving files to the root 2014-06-06 09:56:00 +02:00
Markus Goetz
e6665a0542 WebDAV Permissions: Distinguish between renameing and moving 2014-06-05 14:39:06 +02:00
Thomas Müller
48eee0b432 use the right interface \Sabre\DAVACL\PrincipalBackend\BackendInterface 2014-06-04 17:47:09 +02:00
Thomas Müller
76e04027bc Upgrade SabreDAV to 1.8.10
Updating SabreDAV namespaces
2014-06-04 12:22:23 +02:00
ringmaster
cda87fd9c4 Normalize lock exception messages. 2014-06-04 07:55:45 +02:00
Lukas Reschke
9bbc4b0034 Fix typo 2014-06-04 07:55:44 +02:00
ringmaster
6b94732bdf Respect locked files, surface correct exception. 2014-06-04 07:55:44 +02:00
Andreas Fischer
fb4556033a Cast '{DAV:}getcontentlength' to number instead of int. 2014-05-29 16:26:02 +02:00
Morris Jobke
dc36d30953 Remove all occurences of @brief and @returns from PHPDoc
* test case added to avoid adding them later
2014-05-19 17:50:53 +02:00
Thomas Müller
95741f3936 Merge pull request #8435 from owncloud/fix-8322-master
Expose permission via WebDAV
2014-05-19 16:52:03 +02:00
Robin McCorkell
87b548ed91 Fix all PHPDoc types and variable names, in /lib 2014-05-13 19:08:14 +01:00
Robin McCorkell
a7ae2e874a Squash 'a | b' into 'a|b', in /lib 2014-05-13 19:08:14 +01:00
Thomas Müller
e5ee84ca9b - update permissions
- change xml tag to perm
2014-05-09 17:18:43 +02:00
Vincent Petry
4a493c8835 Some expected Sabre exceptions are now logged with DEBUG level 2014-05-07 11:43:50 +02:00
Thomas Müller
c92c577b5e - Introduce isShared() and isMounted() on FileInfo class
- Reuse these methods on determineIcon()
- Generate permission string for the desktop client
- expose {http://owncloud.org/ns}permissions as additional WebDAV property containing the permission string
2014-05-02 17:37:16 +02:00
Robin Appelman
6c20a014ea merge master into webdav-injection 2014-04-25 11:47:06 +02:00
Robin Appelman
cd0c5990f8 properly quote etags 2014-04-24 11:12:39 +02:00
Robin Appelman
49b44e7e22 Normalize paths when moving properties 2014-04-24 11:12:39 +02:00
Thomas Müller
4ba6f4839d fixing typos and PHPDoc 2014-04-23 15:36:01 +02:00
Robin Appelman
e77d89fc4b Revert changes to OC_Connector_Sabre_Server 2014-04-23 14:21:09 +02:00
Bjoern Schiessle
7ef8f6d352 always allow to rename the share mount point 2014-04-23 12:54:26 +02:00
Bjoern Schiessle
27c5a978f9 we no longer need to handle the Shared folder different from any other folder 2014-04-23 12:54:25 +02:00
Morris Jobke
a2a0eb370b Merge pull request #8222 from owncloud/type-hinting
Type hinting fixes
2014-04-17 16:08:15 +02:00
Bart Visscher
a4b7f5155f Fix PHPdoc in lib/private
using scrutinizer patch
2014-04-15 22:55:20 +02:00
Robin Appelman
295b75cca9 merge master into webdav-injection 2014-04-15 20:05:43 +02:00
Robin Appelman
c82adb8c5d merge master into webdav-injection 2014-04-15 20:03:00 +02:00
Thomas Tanghus
51e47319ef White-list known secure mime types. Refs. #8184 2014-04-14 17:17:50 +02:00
Vincent Petry
4f11786a3d Fixed Sabre Node implementation to correctly return timestamps as int
Negative timestamps were returned as string and were confusing other

Sabre API like Sabre_DAV_Property_GetLastModified.

This fix makes sure the timestamp is returned as int when defined.
2014-04-09 15:46:51 +02:00
Vincent Petry
6e6a131b32 Merge pull request #7696 from owncloud/chunk-remainingspacefix
Fixed chunking and insufficient storage check
2014-04-01 16:09:19 +02:00
Robin Appelman
371a924c92 merge master into webdav-injection 2014-03-26 14:26:07 +01:00
Vincent Petry
4033eba374 Fixed chunking and insufficient storage check
- fixed free space detection based on the already uploaded chunks
- now deleting chunks as soon as it is read out before writing it into
  the part file, which reduces the space needed when assembling part
files
2014-03-17 13:04:34 +01:00
Thomas Müller
f0603a971d close the session for all DAV calls right after authentication - no need to write to the session afterwards 2014-03-10 14:40:36 +01:00
Robin Appelman
84cf40ed82 merge master into webdav-injection 2014-03-06 13:35:06 +01:00
Bjoern Schiessle
2e73c957e5 don't allow to create a file or folder named 'Shared' in the root folder, also exclude all combinations of lower and upper case letters 2014-03-05 13:16:25 +01:00
Robin Appelman
5ef37c28d1 Remove the need for a custom SabreDav server constructor 2014-03-04 13:28:48 +01:00
Robin Appelman
fe994669cd Make path for dummy fileinfo absolute 2014-03-03 13:57:08 +01:00
Robin Appelman
3a21755963 Pass the filesystem view as argument in the sabredav connectors and use the fileinfo object 2014-02-25 16:23:09 +01:00
Lukas Reschke
719f1111b6 Merge pull request #6714 from owncloud/files-newfileinvalidcharsfix
Added extra checks for invalid file chars in newfile.php and newfolder.php
2014-02-20 11:53:58 +01:00
Scrutinizer Auto-Fixer
adaee6a5a1 Scrutinizer Auto-Fixes
This patch was automatically generated as part of the following inspection:
https://scrutinizer-ci.com/g/owncloud/core/inspections/cdfecc4e-a37e-4233-8025-f0d7252a8720

Enabled analysis tools:
 - PHP Analyzer
 - JSHint
 - PHP Copy/Paste Detector
 - PHP PDepend
2014-02-19 09:31:54 +01:00
Vincent Petry
bd71a1b7b6 Added file name check in webdav connector
- added file name check for the put, rename and setNames() methods which
  throw a "Bad Request" whenever invalid characters are used
- replaced \OC\Filesystem usage with $this->getFS() to be able to write
  unit tests
2014-02-18 17:54:32 +01:00
Jörn Friedrich Dreyer
2a6a9a8cef polish documentation based on scrutinizer patches 2014-02-06 17:02:21 +01:00
Vincent Petry
bd6734291c Merge pull request #6081 from owncloud/partfilewebdavfix
Allow getting info or renaming part files through WebDAV
2014-02-04 07:48:37 -08:00
Vincent Petry
11ef12a106 Added exception logger plugin for sabre connector
Whenever an exception occurs in the sabre connector code or code called
by it, it will be logged.

This plugin approach is needed because Sabre already catches exceptions
to return them to the client in the XML response, so they don't appear
logged in the web server log.

This will make it much easier to debug syncing issues.
2014-01-27 11:40:17 +01:00
Vincent Petry
5ad28f4d1f Allow getting info or renaming part files through WebDAV
When mounting an ownCloud (backend OC) inside another ownCloud (frontend
OC), the frontend OC will use WebDAV to upload file, which will create
part files. These part files need to be accessible for the frontend OC
to rename them to the actual file name.

This fix leaves the file cache untouched but gives direct access to part
file info when requested.

This means that part file can be accessed only when their path and name
are known. These won't appear in file listtings.

Fixes #6068
2014-01-23 18:42:56 +01:00
Vincent Petry
8eaa39f4e2 Removed special handling of part files in shared storage rename
This fixes the issue introduced by the transfer id which itself wasn't
taken into account by the shortcut code for part file in the shared
storage class.
2014-01-08 18:43:20 +01:00
Thomas Müller
ed469a7d2c in order to work properly with encryption ocTransferId is added to the file path - questionable usage of magic string 2014-01-07 11:53:33 +01:00
Thomas Müller
1c0b8ed214 Adding a random postfix to the part file. 2013-12-20 13:48:46 +01:00
Vincent Petry
80d2371f97 Fixed touch after chunk assembling
Fixed touch after chunk assembling which was using the wrong path,
resulting in the creation of an extra file.

Fixes #6007
2013-11-29 16:29:35 +01:00
Thomas Müller
27cc333dfe adding chunked upload handling 2013-11-25 15:35:26 +01:00
Thomas Müller
51a8172868 always get the right node for the given file path 2013-11-20 16:14:08 +01:00
Vincent Petry
3fa651f2b1 Merge pull request #5447 from owncloud/fixing-5117-master
No data corruption duriing parallel upload
2013-11-13 02:59:34 -08:00
Bjoern Schiessle
68f3f2e691 make it possible to detect transferID part 2013-11-11 17:47:46 +01:00
Thomas Müller
c455cb989b add header 'OC-FileId' on PUT 2013-10-25 13:20:59 +02:00
Thomas Müller
3bca1519ee switch instance id and file id 2013-10-25 13:20:29 +02:00
Thomas Müller
222f1b8da2 Merge pull request #5494 from owncloud/fixing-3593-master
introducing new dav property {xmlns:oc="http://owncloud.org/ns}id
2013-10-24 09:41:56 -07:00
Thomas Müller
a22f12cfe0 - fixing namespace
- remove property only if present
2013-10-24 14:40:43 +02:00
Thomas Müller
808e9b0f51 Merge pull request #5402 from owncloud/fixing-5367-master
fixes chunked upload
2013-10-24 00:56:46 -07:00
Thomas Müller
caa3a8d784 Merge pull request #5464 from owncloud/fixing-5456-master
Fixing 5456 master
2013-10-23 10:50:36 -07:00
Thomas Müller
b02a485712 handle case where fileid is not set 2013-10-23 16:40:29 +02:00
Thomas Müller
b60ae11db8 introducing new dav property {xmlns:oc="http://owncloud.org/ns}id 2013-10-23 16:03:57 +02:00
Thomas Müller
09903aa36c - delete properties on node delete
- move properties on node move
2013-10-22 19:41:26 +02:00
Thomas Müller
6e0e621218 creating and deleting of file and folder 'Shared' in root is not allowed 2013-10-22 11:10:07 +02:00
Thomas Müller
2628601e79 adding oc-mtime handling to chunked upload 2013-10-21 15:00:28 +02:00
Thomas Müller
3cb666ad77 chunked files are assembled into a part file on the target storage followed by an atomic rename operation. 2013-10-21 13:21:39 +02:00
Thomas Müller
d2d2c9a46d fixes #5367 2013-10-17 20:20:13 +02:00
Andreas Fischer
5ee74b656c Move OC_Connector_Sabre_Server to expected location. 2013-10-17 16:04:59 +02:00
Thomas Müller
fa3a65aea7 Merge pull request #5325 from owncloud/setup-fs-on-apache-auth-backend
file system is now initialized with apache authentication as well
2013-10-16 04:23:45 -07:00
Thomas Müller
5318df3b3c there shall be tabs 2013-10-14 14:51:25 +02:00
Thomas Müller
fb3829e8b8 file system is now initialized with apache authentication as well 2013-10-14 14:46:43 +02:00
Thomas Müller
a5e808defc Merge branch 'master' into fixing-4546-master
Conflicts:
	lib/private/connector/sabre/file.php
2013-10-14 10:56:50 +02:00
Thomas Müller
dc58195c7f Merge pull request #5207 from owncloud/fixing-4011-part2-master
[OC6] file upload exception handling
2013-10-11 10:35:17 -07:00
Thomas Müller
27738fc4f5 due to internal implementations touch will always be successful - $mtime will be stored in the cache
from desktop client perspective it is necessary to set the mtime under every condition
2013-10-09 15:35:09 +02:00
Thomas Müller
3f27fefdbe fixing status code and formatting 2013-10-08 15:40:42 +02:00
Thomas Müller
e7e53363ac Merge pull request #5194 from owncloud/fixing-5172-master
adding check isDeletable() on $sourcePath
2013-10-08 06:18:29 -07:00
Thomas Müller
caa27824a9 catch specific file exceptions and convert them to proper http status code via webdav 2013-10-08 15:04:31 +02:00
Bjoern Schiessle
6c45fab037 part file needs to have .part extension 2013-10-08 12:00:32 +02:00
Thomas Müller
c77f74e1de adding check isDeletable() on $sourcePath 2013-10-08 11:43:44 +02:00
Bjoern Schiessle
dd202d9ad3 updating a existing large file creates new file chunks. Therefore createFile() needs to check not only if we can write to the parent folder but also if we can update the existing file" 2013-10-08 11:27:08 +02:00
Bjoern Schiessle
0293d8e04f If a existing file in Shared/ with update permissions gets updated we need to write the .part file to a different place because we can't create new files in the Shared folder 2013-10-08 11:26:49 +02:00
Thomas Müller
61a534fb60 moving createFileChunked() to OC_Connector_Sabre_File 2013-10-07 17:49:21 +02:00
Thomas Müller
5e397d89c4 Merge branch 'master' into fixing-4546-master
Conflicts:
	lib/private/connector/sabre/directory.php
2013-10-07 17:47:54 +02:00
Thomas Müller
f496609085 the path for reassembling was created the wrong way 2013-10-07 17:34:21 +02:00
Thomas Müller
b48dffa9a3 Merge pull request #5072 from owncloud/apache-auth-master
OC6 Apache Authentication
2013-10-07 06:29:56 -07:00
Thomas Müller
730c80ff9c adding additional exceptions for special cases where creating a file might not be allowed 2013-10-07 15:11:47 +02:00
Thomas Müller
1e47468c53 Merge pull request #4974 from owncloud/fixing-4011-master
error handling added in case file_put_contents is failing
2013-10-07 02:58:00 -07:00
Thomas Müller
414b2eb4b6 upload abortion detection only for PUT
e.g. LOCK would break with this approach
2013-10-04 20:20:33 +02:00
Thomas Müller
aebc330f26 Merge branch 'master' into fixing-4011-master 2013-10-04 14:06:42 +02:00
Markus Goetz
7f7718888d DAV: Use fileinfo_cache for ETag 2013-10-03 17:09:08 +02:00
Thomas Müller
4cecede13d code cleanup - remove special case for webdav in handleApacheAuth() 2013-10-02 00:55:35 +02:00
Thomas Müller
7e9e23f210 Merge branch 'master' into apache-auth-master 2013-10-02 00:21:11 +02:00
Thomas Müller
8e0060405d reorganize file in lib 2013-09-30 16:39:03 +02:00
Thomas Müller
9c9dc276b7 move the private namespace OC into lib/private - OCP will stay in lib/public
Conflicts:
	lib/private/vcategories.php
2013-09-30 16:36:59 +02:00