Commit Graph

84 Commits

Author SHA1 Message Date
Joas Schilling d4d3725bfe Only cache the mimetype if the file exists
Otherwise files access control will cache "application/octet-stream"
for all the target node on:
rename, move, copy and all other methods which create a new item

To check this:
1. Add an automated tagging rule which tags on mimetype NOT "httpd/unix-directory"
2. Add an access control rule which checks for any mimetype
3. Create a folder and rename it, the folder should not be tagged, but it is

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-14 10:05:45 +02:00
Joas Schilling 0f3de7828e Don't call basename on null
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-01 17:30:52 +02:00
Joas Schilling 744b635d5c Correctly detect the mimetype from uploads
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-26 17:43:47 +02:00
Julius Härtl 72a7fe8185 Fix type hinting on setFileInfo
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-10 08:52:13 +02:00
Arthur Schiwon 849d025d09 let a dedicate service serve a stateful process
* includes making ICheck not requiring any context setter
* and IFileCheck extending the IEntityCheck as entity data can be handed in
  via Dispatcher

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon 4cd931fcc6 require IChecks to receive entity context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon fd2de58503 seperate setFileInfo from ICheck
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Julius Härtl 32279ed062 Extend missing check classes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:05 +02:00
Arthur Schiwon c2a52813e2 extends ICheck with scope and entity support, provide them as initialState
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Roeland Jago Douma 90dc8fb42e A folder should get a folder mimetype
If doing achunked upload the mimetype of the folder would otherwise be
guessed from the path. Which always returned application/octet-stream.

If an access control rule to block that is in place this means that all
chunked uploads fail hard in directories as the isCreatable on the
directory always fails.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-29 21:35:08 +01:00
Daniel Kesselberg 28fc7b5061 Ignore case for is and !is
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-05 17:54:48 +02:00
Daniel Kesselberg 4c4f50ee2d Remove unused import
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-04 14:23:45 +02:00
Daniel Kesselberg 0721627943 Make code strict
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-03 20:26:00 +02:00
Daniel Kesselberg fe838de4f7 Add FileName to Workflow engine
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-03 18:24:42 +02:00
Joas Schilling c574212422 Fix mimetype detection for junked uploads
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-24 10:42:59 +02:00
Joas Schilling f81d4eb060 Make the Outlook and Thunderbird addons identifyable
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-27 14:37:32 +01:00
Morris Jobke 954da26e26 Use non aliased method instead
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-13 21:48:24 +01:00
Morris Jobke 4ef302c0be Request->getHeader() should always return a string
PHPDoc (of the public API) says that this method returns string but it also returns null, which is not allowed in some method calls. This fixes that behaviour and returns an empty string and fixes all code paths that explicitly checked for null to be still compliant.

Found while enabling the strict_typing for lib/private for the PHP7+ migration.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-17 09:51:31 +01:00
Joas Schilling 738730f7b2 Also add the root of external storages to the file id list
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-30 23:26:19 +02:00
Joas Schilling 394a61f1e6 Fix workflow engine mimetype detection when creating a directory
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-23 12:45:36 +01:00
Joas Schilling e8be73f485 Fix mimetype detection on public uploads for the workflow engine
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-06 12:04:54 +01:00
Joas Schilling 2d61ee3c13 Make mimetype also work for READ and DELETE operations 2016-09-05 09:48:23 +02:00
Joas Schilling d08240e364 Better detection of mimetypes while uploading a zip on a mac 2016-09-05 09:48:22 +02:00
Joas Schilling 6aa5d674d6 Translate the errors 2016-08-01 17:56:33 +02:00
Joas Schilling ea4c6bd285 Load the timezones via select2 2016-08-01 17:19:05 +02:00
Joas Schilling e0b5949a9f Add request time 2016-08-01 17:19:05 +02:00
Joas Schilling 2cfd67e13b Add remote address 2016-08-01 17:19:05 +02:00
Joas Schilling 1091cbb778 Add Request URL 2016-08-01 17:19:05 +02:00
Joas Schilling 477e79c2f2 User agent check 2016-08-01 17:19:05 +02:00
Joas Schilling 8a753342ee Add file mime type 2016-08-01 17:19:04 +02:00
Joas Schilling 136a1a4223 Add file size as check 2016-08-01 17:19:04 +02:00
Joas Schilling c6bf641ebe Add system tag check 2016-08-01 17:19:04 +02:00
Joas Schilling 62219c7b2d Add L10N support 2016-07-27 14:56:21 +02:00
Morris Jobke 2f42a3fc31 Add workflowengine 2016-07-26 11:16:34 +02:00