Roeland Jago Douma
4c88cef749
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:45:50 +00:00
Roeland Jago Douma
b89996483d
Merge pull request #12376 from nextcloud/backport/12284/stable13
...
[13] Properly search the root of a shared external storage
2018-11-13 15:59:01 +01:00
Morris Jobke
0737a6fbe4
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-13 14:05:13 +01:00
Roeland Jago Douma
8b03bf7d5a
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-09 13:23:52 +01:00
Robin Appelman
874e312980
cleanup locks in scanner on error
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-23 20:05:54 +02:00
Roeland Jago Douma
b88aeb2166
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-05 12:42:47 +01:00
Robin Appelman
3a1390fdb7
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:27:52 +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