TYPO3CMS/Extensions/fal_webdav.git
6 years ago[BUGFIX] Catch exceptions thrown in davPropFind function 19/19219/4
Nicole Cordes [Sat, 23 Mar 2013 14:18:08 +0000 (15:18 +0100)]
[BUGFIX] Catch exceptions thrown in davPropFind function

If any error occurs (e.g. authentication data or URL is wrong) SabreDAV
throws an exception. In the driver function this exception should be
caught and logged but should prevent backend modules to break.

Change-Id: I0d741b84d5a786672529d2a56241b4632f796bda
Fixes: #46597
Reviewed-on: https://review.typo3.org/19219
Reviewed-by: Andreas Wolf
Tested-by: Andreas Wolf
6 years ago[BUGFIX] FileNotFound exception caught too early 29/19229/4
Andreas Wolf [Sat, 23 Mar 2013 16:07:03 +0000 (17:07 +0100)]
[BUGFIX] FileNotFound exception caught too early

Change-Id: Iae9bb0c9a20947f39cad96582f76a7ae1cccf0c5
Related: #46629
Reviewed-on: https://review.typo3.org/19229
Reviewed-by: Andreas Wolf
Tested-by: Andreas Wolf
6 years ago[FEATURE] Add status report for mcrypt availability
Andreas Wolf [Fri, 22 Mar 2013 21:10:21 +0000 (22:10 +0100)]
[FEATURE] Add status report for mcrypt availability

Change-Id: Ifb34d466fc915e5641a4ae6616455244ff4676be

6 years ago[TASK] Set TYPO3 version constraint
Andreas Wolf [Fri, 22 Mar 2013 20:53:49 +0000 (21:53 +0100)]
[TASK] Set TYPO3 version constraint

Change-Id: Ib11d863d8b94873ebd00de6abb2597b381ff4a86

6 years ago[BUGFIX] Error if mcrypt is not available
Andreas Wolf [Fri, 22 Mar 2013 14:47:09 +0000 (15:47 +0100)]
[BUGFIX] Error if mcrypt is not available

Change-Id: Ief9b84c7897751092da2cc09a5c77edcff673225

6 years ago[BUGFIX] SabreDAV exceptions are not caught 71/15071/5
Nicole Cordes [Tue, 25 Sep 2012 21:24:04 +0000 (23:24 +0200)]
[BUGFIX] SabreDAV exceptions are not caught

SabreDAV throws exceptions when errors occur (e.g. when a server does
not respond). These exceptions bubble up to the UI currently, leaving
the user with a broken backend and probably without any clue what to do.

This patch introduces exception handling in the WebDAV driver, though
currently a rather ugly one that just suppresses the exceptions and logs
a message.
Ideally, the exceptions would be transformed into more user-friendly
messages by the driver and then handed up to the UI to be displayed.

Change-Id: I951773f8a909b4ad620a3d5343293ec1a680a28d
Fixes: #41373

6 years ago[TASK] Add manual
Andreas Wolf [Thu, 21 Mar 2013 20:26:37 +0000 (21:26 +0100)]
[TASK] Add manual

Change-Id: I3b5fc8318d2b4f1979090c8956bcd0a0f54457c8

6 years agoMerge "[TASK] Raise submodule pointer for SabreDAV."
Andreas Wolf [Sun, 2 Dec 2012 18:13:54 +0000 (19:13 +0100)]
Merge "[TASK] Raise submodule pointer for SabreDAV."

6 years ago[BUGFIX] Fix TCEmain hook for password encryption 31/16931/2
Stefan Neufeind [Sun, 2 Dec 2012 00:55:09 +0000 (01:55 +0100)]
[BUGFIX] Fix TCEmain hook for password encryption

Hook was not called and so passwords remained unencrypted, leading to a
failure on decryption.
Also the call to the EncryptionUtility needed a fix.

Change-Id: Ic65de75c07e9bef26e6111db31906309e79ab010
Fixes: #43512

6 years ago[TASK] Raise submodule pointer for SabreDAV. 81/16881/1
Jan Philipp Timme [Fri, 30 Nov 2012 09:49:32 +0000 (10:49 +0100)]
[TASK] Raise submodule pointer for SabreDAV.

There is a minor bugfix in the SabreDAV submodule
concerning its sabre-vobject submodule.
It fixes the submodule mapping for its sabre-vobject submodule.

Resolves: #43478

Change-Id: I856d8cdbfd6f0d667e4dcadfa9cd193eff5a52ad

6 years ago[BUGFIX] Compatibility error with current 6.0 master 11/15411/2
Benjamin Mack [Mon, 8 Oct 2012 20:16:19 +0000 (22:16 +0200)]
[BUGFIX] Compatibility error with current 6.0 master

The extension is not compatible with 6.0 master as you cannot add
a new storage with type WebDav.

Resolves: #41744

Change-Id: I5ee6c0d033d1df77f371de67633ff39d718d291b

6 years ago[TASK] Bump SabreDAV submodule pointer
Andreas Wolf [Tue, 11 Sep 2012 20:42:28 +0000 (22:42 +0200)]
[TASK] Bump SabreDAV submodule pointer

6 years ago[TASK] Introduce namespaces
Andreas Wolf [Tue, 11 Sep 2012 20:33:07 +0000 (22:33 +0200)]
[TASK] Introduce namespaces

6 years ago[TASK] Fix wrong and missing exception annotations
Andreas Wolf [Tue, 11 Sep 2012 19:41:30 +0000 (21:41 +0200)]
[TASK] Fix wrong and missing exception annotations

6 years ago[TASK] Bump submodule pointer for SabreDAV
Andreas Wolf [Tue, 11 Sep 2012 14:22:20 +0000 (16:22 +0200)]
[TASK] Bump submodule pointer for SabreDAV

6 years ago[TASK] Adjust Extension to new Core namespaces
Andreas Wolf [Sat, 1 Sep 2012 10:23:50 +0000 (12:23 +0200)]
[TASK] Adjust Extension to new Core namespaces

6 years ago[FEATURE] Server response caching
Andreas Wolf [Wed, 20 Jun 2012 13:51:12 +0000 (15:51 +0200)]
[FEATURE] Server response caching

This caches the raw responses from a server to avoid duplicate requests.
The processed results are not cached, as this patch mainly aims at
reducing load on the WebDAV servers. Using the unprocessed information
allows reuse for pagination and reordering, helping to further reduce
the server load.

6 years ago[BUGFIX] fileExists() returns true for folders
Andreas Wolf [Wed, 20 Jun 2012 13:56:11 +0000 (15:56 +0200)]
[BUGFIX] fileExists() returns true for folders

The WebDAV protocol does not differ hard between files and folders. The
only way to tell if a resource is a file or folder is by considering the
name - if it ends in a slash, it is most likely a folder, if it does
not, it is a file. This commit changes the behaviour of fileExists() to
check for a trailing slash; folderExists() already did this before.

6 years ago[BUGFIX] Password is not stored encrypted but expected to be on invoking client
Oliver Hader [Wed, 20 Jun 2012 17:02:52 +0000 (19:02 +0200)]
[BUGFIX] Password is not stored encrypted but expected to be on invoking client

Due to a bug in the TceMainHook the password is not stored
encrypted. However on invoking the WebDavClient the plain
password is "decrypted" which leads to a wrong authentication
request at the WebDav server.

6 years ago[FEATURE] Configurable file/folder list filters
Andreas Wolf [Tue, 24 Apr 2012 12:54:55 +0000 (14:54 +0200)]
[FEATURE] Configurable file/folder list filters

This adds support for the recently added file/folder list filtering
through callback methods.

6 years ago[TASK] Raise submodule pointer
Andreas Wolf [Tue, 24 Apr 2012 10:24:47 +0000 (12:24 +0200)]
[TASK] Raise submodule pointer

6 years ago[FEATURE] Override authentication information from URL
Andreas Wolf [Tue, 24 Apr 2012 10:12:44 +0000 (12:12 +0200)]
[FEATURE] Override authentication information from URL

When saving a URL with authentication information, this information is
now extracted from the URL, saved into the accordant fields and removed
from the URL. This means that a password is never stored unencrypted,
plus users can copy and paste the URL and don't have to care about
manually doing extraction.

6 years ago[BUGFIX] Empty passwords throw warning
Andreas Wolf [Tue, 24 Apr 2012 08:32:48 +0000 (10:32 +0200)]
[BUGFIX] Empty passwords throw warning

Empty passwords were encrypted by our helper methods, but lead to the
fourth part of the encrypted string (the actual password) being empty.
This made the decryption method struggle, which is now fixed by just
returning an empty string when encrypting an empty password (this case
is considered in the decryption routine already).

Additionally, this commit adds a unit test for the encryption class.

7 years ago[TASK] Proxy all DAV requests through driver method
Andreas Wolf [Sat, 14 Apr 2012 13:25:08 +0000 (15:25 +0200)]
[TASK] Proxy all DAV requests through driver method

The proxy method allows to catch exceptions from the DAV library and
act accordingly, e.g. change settings in the driver

7 years ago[TASK] Update submodule pointer
Andreas Wolf [Sat, 14 Apr 2012 10:23:06 +0000 (12:23 +0200)]
[TASK] Update submodule pointer

7 years ago[TASK] Adjust Test initialization to change in FAL
Andreas Wolf [Sat, 14 Apr 2012 10:22:43 +0000 (12:22 +0200)]
[TASK] Adjust Test initialization to change in FAL

7 years ago[TASK] Add test for timeout of WebDAV driver
Andreas Wolf [Sat, 14 Apr 2012 10:22:06 +0000 (12:22 +0200)]
[TASK] Add test for timeout of WebDAV driver

7 years ago[TASK] Adjust Driver to changes in FAL
Benjamin Mack [Fri, 13 Apr 2012 19:27:53 +0000 (21:27 +0200)]
[TASK] Adjust Driver to changes in FAL

7 years ago[FEATURE] Add option to skip zero-byte-indexing and -listing by default
Benjamin Mack [Fri, 13 Apr 2012 19:27:23 +0000 (21:27 +0200)]
[FEATURE] Add option to skip zero-byte-indexing and -listing by default

7 years ago[CLEANUP] Cleaned up extension files
Benjamin Mack [Thu, 12 Apr 2012 13:56:25 +0000 (15:56 +0200)]
[CLEANUP] Cleaned up extension files

7 years ago[BUGFIX] Fixed arguments that were modified in the AbstractDriver
Benjamin Mack [Thu, 12 Apr 2012 11:09:09 +0000 (13:09 +0200)]
[BUGFIX] Fixed arguments that were modified in the AbstractDriver

7 years ago[BUGFIX] Encryption utility method throws warning for empty string
Andreas Wolf [Fri, 13 Apr 2012 13:04:17 +0000 (15:04 +0200)]
[BUGFIX] Encryption utility method throws warning for empty string

7 years ago[TASK] Adjust Driver to changes in FAL
Andreas Wolf [Fri, 13 Apr 2012 13:03:50 +0000 (15:03 +0200)]
[TASK] Adjust Driver to changes in FAL

7 years ago[TASK] Adjust driver class to latest changes in FAL
Andreas Wolf [Thu, 12 Apr 2012 14:07:04 +0000 (16:07 +0200)]
[TASK] Adjust driver class to latest changes in FAL

7 years ago[BUGFIX] Wrong interface names, missing excludeHiddenFields/excludeHiddenFolders...
Oliver Hader [Sun, 5 Feb 2012 14:11:48 +0000 (15:11 +0100)]
[BUGFIX] Wrong interface names, missing excludeHiddenFields/excludeHiddenFolders properties

7 years ago[TASK] Adopt new AbstractDriver API for FileInterface in method signatures
Benjamin Mack [Wed, 1 Feb 2012 13:14:34 +0000 (14:14 +0100)]
[TASK] Adopt new AbstractDriver API for FileInterface in method signatures

7 years ago[TASK] Add parameter to addFile() method
Andreas Wolf [Wed, 1 Feb 2012 12:20:11 +0000 (13:20 +0100)]
[TASK] Add parameter to addFile() method

This is just for compatibility with the interface, it does not change
functionality.

7 years ago[CLEANUP] Remove superfluous parameters in method calls
Andreas Wolf [Wed, 1 Feb 2012 10:53:59 +0000 (11:53 +0100)]
[CLEANUP] Remove superfluous parameters in method calls

7 years ago[FEATURE] Store passwords encrypted
Andreas Wolf [Tue, 24 Jan 2012 22:35:43 +0000 (23:35 +0100)]
[FEATURE] Store passwords encrypted

The password for a WebDAV storage is currently stored unencrypted, which
might pose a security risk if it is exposed e.g. in a database dump.
Therefore, this commit moves the username and password to separate
fields and encrypts the password using Blowfish with Cyclic Block
Chaining (CBC).

Encryption uses a custom wrapper for the mcrypt library. This should be
integrated into the TYPO3 core. There is an existing issue for such a
library, see #21407.

The encrypted password is stored in a custom format including the used
method, encryption mode (CBC, EBC etc) and the initialization vector (if
any).

Resolves: #33303

7 years ago[BUGFIX] Configuration property baseUrl might contain whitespaces
Oliver Hader [Wed, 18 Jan 2012 13:58:04 +0000 (14:58 +0100)]
[BUGFIX] Configuration property baseUrl might contain whitespaces

7 years ago[TASK] Adjust interface to changes in getFileList()
Andreas Wolf [Thu, 12 Jan 2012 18:02:38 +0000 (19:02 +0100)]
[TASK] Adjust interface to changes in getFileList()

This does not implement the new features.

7 years ago[BUGFIX] Username and password are kept in baseUrl
Andreas Wolf [Tue, 10 Jan 2012 17:59:48 +0000 (18:59 +0100)]
[BUGFIX] Username and password are kept in baseUrl

7 years ago[BUGFIX] Wrong path to SabreDAV autoloader
Andreas Wolf [Tue, 10 Jan 2012 16:55:53 +0000 (17:55 +0100)]
[BUGFIX] Wrong path to SabreDAV autoloader

7 years ago[FEATURE] Implement permission methods
Andreas Wolf [Tue, 10 Jan 2012 16:55:37 +0000 (17:55 +0100)]
[FEATURE] Implement permission methods

7 years ago[BUGFIX] Add missing capability flags
Andreas Wolf [Tue, 10 Jan 2012 16:16:20 +0000 (17:16 +0100)]
[BUGFIX] Add missing capability flags

7 years ago[BUGFIX] Loading SabreDAV classes sometimes fails
Andreas Wolf [Tue, 10 Jan 2012 15:19:20 +0000 (16:19 +0100)]
[BUGFIX] Loading SabreDAV classes sometimes fails

The SabreDAV autoloader was not explicitly included, leading to
SabreDAV classes not being found on some machines. This commit
explicitly includes the autoloader to fix the problem.

7 years ago[TASK] Add label to driver registration
Andreas Wolf [Tue, 10 Jan 2012 14:56:28 +0000 (15:56 +0100)]
[TASK] Add label to driver registration

7 years ago[CLEANUP] Remove empty ext_tables.php
Andreas Wolf [Mon, 9 Jan 2012 21:19:39 +0000 (22:19 +0100)]
[CLEANUP] Remove empty ext_tables.php

7 years ago[TASK] Bump submodule pointer for SabreDAV
Andreas Wolf [Mon, 9 Jan 2012 19:31:04 +0000 (20:31 +0100)]
[TASK] Bump submodule pointer for SabreDAV

7 years ago[FEATURE] Implement add/deleteFileRaw()
Andreas Wolf [Mon, 9 Jan 2012 19:29:27 +0000 (20:29 +0100)]
[FEATURE] Implement add/deleteFileRaw()

7 years ago[FEATURE] Implement copy and move methods
Andreas Wolf [Mon, 9 Jan 2012 19:29:08 +0000 (20:29 +0100)]
[FEATURE] Implement copy and move methods

7 years ago[TASK] Fix two method docblocks
Andreas Wolf [Mon, 9 Jan 2012 19:10:07 +0000 (20:10 +0100)]
[TASK] Fix two method docblocks

7 years ago[FEATURE] Implement limits in getFileList/getFolderList()
Andreas Wolf [Mon, 9 Jan 2012 19:09:29 +0000 (20:09 +0100)]
[FEATURE] Implement limits in getFileList/getFolderList()

7 years ago[BUGFIX] Driver registration sometimes fails
Andreas Wolf [Mon, 9 Jan 2012 11:23:34 +0000 (12:23 +0100)]
[BUGFIX] Driver registration sometimes fails

7 years ago[~FEATURE] Use streams in replaceFile()
Andreas Wolf [Sun, 8 Jan 2012 22:12:24 +0000 (23:12 +0100)]
[~FEATURE] Use streams in replaceFile()

7 years ago[FEATURE] Implement isFolderEmpty()
Andreas Wolf [Sun, 8 Jan 2012 22:01:57 +0000 (23:01 +0100)]
[FEATURE] Implement isFolderEmpty()

7 years ago[TASK] Raise submodule pointer for SabreDAV
Andreas Wolf [Sun, 8 Jan 2012 22:00:04 +0000 (23:00 +0100)]
[TASK] Raise submodule pointer for SabreDAV

7 years ago[TASK] Add several unit tests
Andreas Wolf [Sun, 8 Jan 2012 21:59:35 +0000 (22:59 +0100)]
[TASK] Add several unit tests

7 years ago[FEATURE] Implement getPublicUrl()
Andreas Wolf [Sun, 8 Jan 2012 21:58:55 +0000 (22:58 +0100)]
[FEATURE] Implement getPublicUrl()

7 years ago[FEATURE] Implement delete/renameFolder()
Andreas Wolf [Sun, 8 Jan 2012 21:58:37 +0000 (22:58 +0100)]
[FEATURE] Implement delete/renameFolder()

7 years ago[FEATURE] Implement file copying/moving
Andreas Wolf [Sun, 8 Jan 2012 21:57:50 +0000 (22:57 +0100)]
[FEATURE] Implement file copying/moving

7 years ago[FEATURE] Implement replace/deleteFile()
Andreas Wolf [Sun, 8 Jan 2012 21:57:08 +0000 (22:57 +0100)]
[FEATURE] Implement replace/deleteFile()

7 years ago[FEATURE] Implement addFile() method
Andreas Wolf [Sun, 8 Jan 2012 21:55:08 +0000 (22:55 +0100)]
[FEATURE] Implement addFile() method

7 years ago[FEATURE] Implement get/setFileContents()
Andreas Wolf [Sun, 8 Jan 2012 21:54:32 +0000 (22:54 +0100)]
[FEATURE] Implement get/setFileContents()

7 years ago[BUGFIX] createFile() does not return object
Andreas Wolf [Sun, 8 Jan 2012 21:54:04 +0000 (22:54 +0100)]
[BUGFIX] createFile() does not return object

7 years ago[TASK] Catch exception in resourceExists()
Andreas Wolf [Sun, 8 Jan 2012 21:53:33 +0000 (22:53 +0100)]
[TASK] Catch exception in resourceExists()

7 years ago[TASK] Move SabreDAV library to Git submodule
Andreas Wolf [Fri, 6 Jan 2012 10:17:51 +0000 (11:17 +0100)]
[TASK] Move SabreDAV library to Git submodule

Currently, the pointer is to the latest master commit in my fork on
Github; this should be changed to the official repository (and an
official release) as soon as the changes are included in a release.

7 years ago[FEATURE] Make WebDAV URL configurable
Andreas Wolf [Thu, 5 Jan 2012 13:44:55 +0000 (14:44 +0100)]
[FEATURE] Make WebDAV URL configurable

7 years ago[TASK] Remove sorting from file/folder listing
Andreas Wolf [Wed, 4 Jan 2012 11:23:10 +0000 (12:23 +0100)]
[TASK] Remove sorting from file/folder listing

This is now done by the storage, so we don't have to do it here

7 years ago[TASK] Small fix in createFolder()
Andreas Wolf [Wed, 4 Jan 2012 10:53:59 +0000 (11:53 +0100)]
[TASK] Small fix in createFolder()

7 years ago[TASK] Unify directory listing methods
Andreas Wolf [Wed, 4 Jan 2012 10:49:15 +0000 (11:49 +0100)]
[TASK] Unify directory listing methods

The two methods getFileList() and getFolderList() now rely on the same
internal mechanism to get their listing. This is roughly the same as in
FAL's local driver.

Currently, there is no caching of query results, which will most of the
time lead to double requests when listing a directory (once for both
files and folders). This could be tackled, but any operation changing
directory contents has to invalidate the cache then.

7 years ago[TASK] Adjust to latest FAL changes
Andreas Wolf [Sun, 1 Jan 2012 17:40:37 +0000 (18:40 +0100)]
[TASK] Adjust to latest FAL changes

7 years ago[TASK] Implement default folder methods
Andreas Wolf [Thu, 29 Dec 2011 14:41:21 +0000 (15:41 +0100)]
[TASK] Implement default folder methods

7 years ago[TASK] Implement *Exists* methods
Andreas Wolf [Thu, 29 Dec 2011 00:47:26 +0000 (01:47 +0100)]
[TASK] Implement *Exists* methods

7 years ago[TASK] Make getFileUrl() accept strings
Andreas Wolf [Thu, 29 Dec 2011 00:46:40 +0000 (01:46 +0100)]
[TASK] Make getFileUrl() accept strings

7 years ago[TASK] Remove getFile() method
Andreas Wolf [Thu, 29 Dec 2011 00:46:08 +0000 (01:46 +0100)]
[TASK] Remove getFile() method

Method has been moved to the abstract driver class

7 years ago[BUGFIX] Creation date not set correctly in file/folder listings
Andreas Wolf [Thu, 29 Dec 2011 00:43:25 +0000 (01:43 +0100)]
[BUGFIX] Creation date not set correctly in file/folder listings

7 years ago[TASK] Add unit test for copyFileToTemporaryPath()
Andreas Wolf [Tue, 27 Dec 2011 09:29:13 +0000 (10:29 +0100)]
[TASK] Add unit test for copyFileToTemporaryPath()

7 years ago[TASK] Implement some driver methods
Andreas Wolf [Mon, 26 Dec 2011 17:05:57 +0000 (18:05 +0100)]
[TASK] Implement some driver methods

All these methods miss unit tests currently.

7 years ago[BUGFIX] SabreDAV can't make HEAD requests properly
Andreas Wolf [Mon, 26 Dec 2011 17:06:19 +0000 (18:06 +0100)]
[BUGFIX] SabreDAV can't make HEAD requests properly

7 years ago[TASK] Add WebDAV driver class
Andreas Wolf [Mon, 26 Dec 2011 10:18:38 +0000 (11:18 +0100)]
[TASK] Add WebDAV driver class

7 years ago[TASK] Integrate SabreDAV to include_path
Andreas Wolf [Mon, 26 Dec 2011 10:20:44 +0000 (11:20 +0100)]
[TASK] Integrate SabreDAV to include_path

7 years ago[TASK] Add SabreDAV version 1.5.5
Andreas Wolf [Mon, 26 Dec 2011 10:19:10 +0000 (11:19 +0100)]
[TASK] Add SabreDAV version 1.5.5

7 years agoInitial commit of Kickstarter output
Andreas Wolf [Thu, 22 Dec 2011 19:57:26 +0000 (20:57 +0100)]
Initial commit of Kickstarter output