Robin Appelman
6a30c65a32
remove extra param in cache update call
...
param was leftover from earlier iterations of the "update event"
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-05-07 14:53:02 +02:00
Ari Selseng
d16cfb519e
Avoid calculating folder size for parent that needs scan.
...
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-03-06 15:23:37 +01:00
Robin Appelman
092f78d7a4
add event for cache update
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-18 16:50:41 +01:00
Robin Appelman
748bcd407b
add event for inserting cache entries
...
this provides a reliable way for apps to listen to new files
without the need to of cache wrappers to hook into inserts themselves
(something which isn't 100% reliable)
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-07 15:51:30 +01:00
Morris Jobke
60681decdd
Merge pull request #12865 from nextcloud/fix/do_not_propogate_in_appdata
...
No need to propogate changes in appdata
2018-12-06 08:50:22 +01:00
Roeland Jago Douma
72f3882d4b
No need to propogate changes in appdata
...
Right now we propogate a lof of changes in appdata. So for example we
propogate each and every preview that is added to the system. This has
no real added value as far as I can tell.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-05 22:06:19 +01:00
Roeland Jago Douma
f7a1ed8656
Only execute query in propagateChange once
...
The second execute statement should be inside the if block. Else it gets
executed twice which makes no sense.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-05 20:32:02 +01:00
Robin Appelman
5d5cfefd35
return the correct value when trying to get a non existing item from cache by id
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-16 17:26:42 +01:00
Morris Jobke
fd8eeccb15
Merge pull request #11942 from nextcloud/techdebt/noid/use-count-function
...
Use the defined func()->count() instead of manual counting
2018-11-12 17:43:56 +01:00
Morris Jobke
93c62d78db
Fix UniqueConstraintViolationException while insert into oc_filecache
...
* fixes #6160 by not being prone to the race condition in insertIfNotExists
* fixes #12228 by not using a query that can result in a deadlock
* replaces the insertIfNotExists call with an insert which is wrapped into a try-catch block
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-12 14:43:28 +01:00
Joas Schilling
bb352fb667
Use the defined func()->count() instead of manual counting
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 15:44:45 +01:00
Roeland Jago Douma
0277cd7158
Properly search the root of a shared external storage
...
Fixes #1020
When an external storage is shared with you in full the root is ''
(empty). This adds an extra check for an empty jail basically.
Because if the jail is on the empty string. It matches all paths.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-05 16:27:43 +01:00
Robin Appelman
6c5ea0ceca
pass `Cache::getMoveInfo` along cache wrappers
...
fixes cross storage move in some cases
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:57:33 +02:00
Robin Appelman
63caf331e5
cleanup locks in scanner on error
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-04 18:05:46 +02:00
Arthur Schiwon
38a90130ce
move log constants to ILogger
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Roeland Jago Douma
c1ff12e234
CacheJail should apply limit and offset after searching
...
Else the results might not be correct.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-07 13:41:15 +01:00
Roeland Jago Douma
53a780e31c
Do not try to get the jailed path if we can't find the id
...
Fixes #8047
If we can't find the file by id there we should just return null instead
of trying to get the jailed path of null.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-03 14:45:28 +01:00
Morris Jobke
eb51f06a3b
Use ::class statement instead of string
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +01:00
Morris Jobke
a661f043e1
Remove unneeded semicolon and parentheses
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Roeland Jago Douma
5a7a5e5352
Merge pull request #8058 from nextcloud/useless-return
...
Remove useless return statements
2018-01-26 09:51:26 +01:00
Morris Jobke
16a558871c
Use proper code flow instead of not needed else branch
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 23:01:03 +01:00
Morris Jobke
4dbee99b7b
Remove useless return statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:50:40 +01:00
Morris Jobke
2a38605545
Properly log the full exception instead of only the message
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-23 10:57:21 +01:00
Robin Appelman
326d55db81
Support arbitrary number of arguments for d:or and d:and in search queries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-01-16 13:22:28 +01:00
Roeland Jago Douma
8a41d05761
Remove deprecated \OCP\Config
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-13 14:25:04 +01:00
Robin Appelman
c87d689253
delay calculating the shared cache root until it's used
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-04 15:16:39 +01:00
Morris Jobke
be4e921306
Use basename() instead of self implementation
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-23 12:35:47 +01:00
Morris Jobke
0eebff152a
Update license headers
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Robin Appelman
804d97d6ff
unlock file when an exception occurs during scanning
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-26 18:58:06 +02:00
Morris Jobke
c27498db71
Use IConfig instead of static OCP\Config
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-27 13:43:18 +02:00
Morris Jobke
9a151056d0
Merge pull request #5812 from MrJeos/master
...
Fix for mb strlen
2017-07-22 11:04:24 +02:00
Robin Appelman
06a4d6b5b9
Also repair storage id's when repairing invalid entries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-21 14:06:13 +02:00
Lukas Reschke
3d2600b039
Add Phan plugin to check for SQL injections
...
This adds a phan plugin which checks for SQL injections on code using our QueryBuilder, while it isn't perfect it should already catch most potential issues.
As always, static analysis will sometimes have false positives and this is also here the case. So in some cases the analyzer just doesn't know if something is potential user input or not, thus I had to add some `@suppress SqlInjectionChecker` in front of those potential injections.
The Phan plugin hasn't the most awesome code but it works and I also added a file with test cases.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-20 22:48:13 +02:00
Artem Kochnev
5abeb9519e
Fix for mb strlen
...
Error with moving files with long names in UTF-8
2017-07-20 17:29:50 +03:00
Robin Appelman
dfe662ad42
Fix propagating changes within jail wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-11 17:55:04 +02:00
Robin Appelman
fa81759917
fix moving folders out of a cache jail
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-15 13:59:06 +02:00
Robin Appelman
1f1e1b0d00
use unmasked permissions during scanning
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-18 16:38:54 +02:00
Morris Jobke
c54a59d51e
Remove unused use statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Robin Appelman
bb7e236e74
Allow searching file by fileid
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-05 15:22:53 +02:00
Robin Appelman
d4a7cfec7c
rename fun to func
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:15:06 +02:00
Robin Appelman
fee818f493
Add tests for query builder (i)like
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:15:03 +02:00
Robin Appelman
4b7bc2af0e
Move all children of a folder in a single query
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:14:48 +02:00
Roeland Jago Douma
4821c00ea8
Merge pull request #4004 from nextcloud/backport-27172
...
Remove SharedCache::getNumericStorageId to let CacheWrapper do it
2017-03-28 21:56:44 +02:00
Morris Jobke
b59f6dcca4
Merge pull request #3850 from nextcloud/search-order
...
Fix search ordering
2017-03-23 15:25:27 -06:00
Robin Appelman
2d02a4735c
Fix search ordering
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-23 15:24:50 -06:00
Vincent Petry
89c42a76c3
Remove SharedCache::getNumericStorageId to let CacheWrapper do it
...
The CacheWrapper will properly forward the call to the wrapped cache.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-23 00:02:48 -06:00
Xuanwo
210f4106c4
[OC/Files/Cache]: Fix wrong usage of basename
...
Fix https://github.com/nextcloud/server/issues/3837
Signed-off-by: Xuanwo <xuanwo@yunify.com>
2017-03-14 13:27:17 +08:00
Robin Appelman
6d0c756ff9
dont allow empty wildcard search
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-13 16:06:19 +01:00
Robin Appelman
e61606a767
Allow searching for favorites
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-08 16:30:55 +01:00
Robin Appelman
df2063ee7b
Implement webdav SEARCH
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-01 14:06:39 +01:00
Robin Appelman
706131b394
add icewind/searchdav
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-28 14:24:18 +01:00
Frédéric Fortier
55a37c1db9
Refactor files' CacheEntry object creation to call cacheEntryFromData() all the time thus allowing proper casts to be done
...
Signed-off-by: Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
2017-02-22 20:03:32 -05:00
Frédéric Fortier
cc511ac7b8
Typecast filecache 'storage' as int to return it as documented, fixes #3461
...
Signed-off-by: Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
2017-02-20 22:23:27 -05:00
Roeland Jago Douma
17c07e5caf
Merge pull request #3447 from nextcloud/getmetadata-permissions-mask
...
also apply permissions mask in getMetaData
2017-02-15 20:22:08 +01:00
Robin Appelman
f27113a6ee
also apply permissions mask in getMetaData
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-10 22:36:12 +01:00
Robin Appelman
2520a4831b
Make sure we use the correct storage id when scanning a jailed storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-25 17:03:45 +01:00
Robin Appelman
14a561ddad
always use numeric storage id in cacheentry
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-13 12:53:38 +01:00
Robin Appelman
86473306f3
fix cacheentry return wrong storage id
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-13 12:50:17 +01:00
Joas Schilling
558f169671
Move the validation into one place only
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-21 09:23:37 +01:00
Joas Schilling
4652d203e3
Make sure we don't scan files that can not be accessed
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-21 09:23:32 +01:00
Robin Appelman
2f03fcab4a
let the share backend get the node cacheentry to save queries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-17 18:48:38 +01:00
Robin Appelman
14cdeafc3e
make source cache injectable in cache wrappers
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-17 18:48:38 +01:00
Robin Appelman
30e7c27d86
reuse the known rootinfo in the shared cache when possible
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-17 14:59:31 +01:00
Robin Appelman
7be62d083e
explicitly cast mtime to int
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-03 14:36:46 +01:00
Robin Appelman
e8e950a4d2
more efficient querying of numeric storage ids
2016-09-07 17:22:40 +02:00
Jörn Friedrich Dreyer
d5518735c9
always return numeric storage id as int, also check type equality in test asserts
2016-08-29 14:20:51 +02:00
Thomas Müller
f1cd68d713
Adding test case for getPathById including a jailed cache where root is just empty
2016-08-05 14:06:05 +02:00
Thomas Müller
d252d79059
getJailedPath expects $path to have a trailing / - fixes #25464
2016-08-05 14:06:05 +02:00
Joas Schilling
0215b004da
Update with robin
2016-07-21 18:13:58 +02:00
Joas Schilling
ba87db3fcc
Fix others
2016-07-21 18:13:57 +02:00
Robin Appelman
01d9ad6b14
optimized size propagation on deletes
2016-06-14 17:17:43 +02:00
Vincent Petry
52a0c939ab
Merge pull request #24863 from owncloud/propagator-batching
...
Propagator batching for the file scanner
2016-06-10 17:45:52 +02:00
Vincent Petry
8d0948977e
Merge pull request #24899 from owncloud/local-storage-symlinks
...
dissalow symlinks in local storages that point outside the datadir
2016-06-08 10:19:24 +02:00
Robin Appelman
6822689e38
don't update storage mtime if we can't get the modified date
2016-06-07 15:04:24 +02:00
Robin Appelman
73547f29be
Ignore forbidden files while scanning
2016-06-07 14:01:55 +02:00
Robin Appelman
fce19d22d9
fix mtime propagation on sqlite
2016-06-02 15:43:43 +02:00
Robin Appelman
9fb44e34af
add propagator batching
2016-06-02 15:07:47 +02:00
Lukas Reschke
aba539703c
Update license headers
2016-05-26 19:57:24 +02:00
Vincent Petry
aa56d42fa8
Merge pull request #24777 from owncloud/scanner-dont-propagate
...
dont needlessly triger the propgator in the scanner
2016-05-23 19:05:20 +02:00
Robin Appelman
eca57be336
Only recurse into incomplete folders during background scans
2016-05-23 14:40:35 +02:00
Robin Appelman
f3979e5459
dont needlessly triger the propgator in the scanner
2016-05-23 13:53:05 +02:00
Vincent Petry
bd87f67473
Merge pull request #24349 from owncloud/nfd-storagewrapper
...
Add wrapper for NFD encoding workaround
2016-05-23 13:45:33 +02:00
Vincent Petry
c78bb2ab34
Merge pull request #24356 from owncloud/scanner-recursion-memory
...
Free up folder content from memory before recursing in the file scanner
2016-05-23 09:51:52 +02:00
Vincent Petry
f8b2b95408
Scanner must normalize new children names for cache diff
...
Since new children from the storage might contain NFD entries, these
must be normalized to NFC to be properly diff'ed with the cache
contents which is always NFC.
This fixes an issue where NFD entries would disappear from the cache
after rescannng for children.
2016-05-20 09:33:59 +02:00
Roeland Jago Douma
00122c166a
Properly get the internal path for a cachejail move
2016-04-30 10:40:45 +02:00
Robin Appelman
a3623745d5
Free up folder content from memory before recursing in the file scanner
2016-04-29 15:16:41 +02:00
Robin Appelman
dbfdc6282a
do propagation in a single query
2016-04-25 16:18:59 +02:00
Thomas Müller
f31d0ce87c
Merge branch 'master' of https://github.com/d--j/core into d--j-master
2016-04-25 14:52:38 +02:00
Robin Appelman
4ac16001e0
add locks in the scanner to prevent multiple scanners running on the same files
2016-04-25 11:09:08 +02:00
Roeland Jago Douma
dedf392751
Move \OC\Files to PSR-4
2016-04-24 21:37:35 +02:00