Commit graph

19 commits

Author SHA1 Message Date
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
f7e3cf2085
Fix UniqueConstraintViolationException while insert into oc_file_locks
* fixes #9305 by not being prone to the race condition in insertIfNotExists
* fixes #6899 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
* followup to #12371

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-12 15:13:10 +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
Robin Appelman
3d5acbb1d0
prevent lock values from going negative with memcache backend
This can be caused by the code releasing more locks then it acquires,
once the lock value becomes negative it's likely that it will never be able
to change into an exclusive lock again.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-05 14:39:10 +02:00
Robin Appelman
25565dd7d8
Log more info about locking conflicts for memcache locking backends
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-04 13:30:18 +02:00
Morris Jobke
4d832cd4e3
Fixes false positive possible sql injection by phan
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-16 11:47:11 +02:00
Robin Appelman
89a9d35d90 dont keep shared database locks when running cli scripts
For cli scripts we don't have the assumption that the universe will be cleaned up soon

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-11 19:21:45 +02:00
Roeland Jago Douma
8edbfdb291
Made locking providers strict
* Added typehints
* Added return types
* Made strict

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-16 21:54:20 +01:00
Morris Jobke
0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01: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
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
Lukas Reschke
aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Thomas Müller
06293783e0 Merge pull request #24387 from owncloud/locking-mark-reload-free
free up memory when releasing the last shared lock
2016-05-03 12:03:41 +02:00
Robin Appelman
9677681a37 free up memory when releasing the last shared lock 2016-05-02 14:18:46 +02:00
Robin Appelman
49ad0fcfa9 optimize releaselock for memcache based locking backends 2016-04-29 12:54:33 +02:00
Roeland Jago Douma
7b3191705c
Let the querybuilder convert 2016-04-14 11:32:34 +02:00
Robin Appelman
68746e1bdb
chunk the cleaning up of shared locks 2016-04-14 11:32:34 +02:00
Roeland Jago Douma
86e757d2b3
Move \OC\Lock to PSR-4 2016-04-14 08:28:16 +02:00