Commit graph

11196 commits

Author SHA1 Message Date
Robin Appelman
f6024a895c
also use case sensitive like when searching in a folder
this case was missed from https://github.com/nextcloud/server/pull/29080

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-14 17:49:48 +01:00
Côme Chilliet
e34ec33199
Avoid assignment in if clause
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-14 11:20:13 +01:00
Côme Chilliet
07997131d3
Fix typing problems in OC_Image
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-14 11:20:13 +01:00
Côme Chilliet
3f10cf8996
Avoid calling image* methods on boolean
This avoids fatal errors on PHP>=8, and warnings on older versions.
Log should also be clearer.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-14 11:20:13 +01:00
Vincent Petry
65d4d30251 Check resource before closing in encryption wrapper
In case of error there is no guarantee that $source or $target is set or
is a resource when handling an error.

Without this fix, there's a risk that fclose will fail and the actual
exception will not be thrown, making it impossible to find out about the
root cause.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-12-10 00:10:44 +00:00
Louis
f41c1fffff
Merge pull request #30056 from nextcloud/backport/29735/stable21
[stable21] find users for background scan one by one
2021-12-08 18:06:00 +01:00
John Molakvoæ
fda86f8c8c
Merge pull request #29834 from nextcloud/carl/bugfix/file-search-21 2021-12-06 14:51:55 +01:00
Robin Appelman
bd677f6741 background scan the source storage when a background scan on a storage jail is triggered
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-02 20:00:45 +00:00
Joas Schilling
cabc6eaec6 Fix log_query config flag
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-02 09:41:33 +00:00
Arthur Schiwon
26c66d210d ensure that factoryClass exisits before instantiation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-12-01 08:27:56 +00:00
Christoph Wurst
56fb21769f Include previous execption for repair steps that don't exist
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-30 12:03:51 +00:00
Christoph Wurst
bb91d5bd69 Let repair step query exceptions bubble up
And hide the type error caused by a constructor call with missing
arguments.

`new $repairStep();` only works for the rare case that no arguments are
required. Anything else will throw. Then we previously hid the trace of
the more important query exception.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-30 12:03:51 +00:00
Carl Schwan
8f9d1b31df
Fix search results filtering
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-26 16:30:47 +01:00
MichaIng
6d8cf37f06
Merge pull request #29907 from nextcloud/backport/29902/stable21
[stable21] Check for invalid characters before trimming
2021-11-26 14:22:04 +01:00
MichaIng
e5daae9101
Merge pull request #29803 from nextcloud/backport/29632/stable21
[stable21] fix imagecreatetruecolor() error
2021-11-25 17:14:08 +01:00
Joas Schilling
f700abc889 Check for invalid characters before trimming
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-25 15:34:35 +00:00
MichaIng
9db07032d5 Use pre-v22 query commands
Signed-off-by: MichaIng <micha@dietpi.com>
2021-11-24 14:47:23 +01:00
Robin Appelman
a3dc399e2f better cleanup of filecache when deleting an external storage
this way it can delete the cache entries even with per-user credentials

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-11-24 14:47:23 +01:00
Vincent Petry
264b329aaf Type hint in IpAddress
Signed-off-by: Vincent Petry <vincent@nextcloud.com>

Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2021-11-23 10:28:20 +00:00
Vincent Petry
d9a5f2867e Improve normalizer detecting IPv4 inside of IPv6
The subnet for an IPv4 address inside of IPv6 is now returned in its
IPv4 form.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-23 10:28:20 +00:00
Vincent Petry
87af149292 Fix getting subnet of ipv4 mapped ipv6 addresses
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-23 10:28:20 +00:00
Christoph Wurst
d0689fb707 Do not print verbose info about app updates if there are none
This is cosmetical but if you have a large number of apps installed then
you'll see a wall of text during the server and app upgrade when it
tries to update each app via the app store. In may cases nothing will be
updated. For those boring cases we can hide the verbose info, but show
when occ is run with -v. Any actual update will still print a few lines.
Those are the important ones for the admin.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-22 20:54:58 +01:00
szaimen
9e2775deb7 fix imagecreatetruecolor() error
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-11-19 20:17:21 +00:00
Vincent Petry
ca37664887 Normalize directory entries in Encoding wrapper
Directory entry file names are now normalized in getMetaData(),
getDirectoryContents() and opendir().

This makes the scanner work properly as it assumes pre-normalized names.

In case the names were not normalized, the scanner will now skip the
entries and display a warning when applicable.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-19 14:51:39 +00:00
Vincent Petry
88b5860e70 Move storage encoding compatibility warning logic
The encoding check for file names is now happening the Scanner, and an
event will be emitted only if the storage doesn't contain the encoding
compatibility wrapper.

The event is listened to by the occ scan command to be able to display a
warning in case of file name mismatches when they have NFD encoding.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-19 14:51:39 +00:00
Vincent Petry
2e79444828 Normalize file name before existence check in scanner
The scanner would not find a NFD-encoded file name in an
existing file list that is normalized.

This normalizes the file name before scanning.

Fixes issues where scanning repeatedly would make NFD files flicker in
and out of existence in the file cache.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-19 14:51:39 +00:00
Naoto Kobayashi
cbccddcf6e OC_Util::isNonUTF8Locale: fix lint error
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:41 +00:00
Naoto Kobayashi
b01048bafc OC_Util::isSetLocaleWorking: fix typo
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:40 +00:00
Naoto Kobayashi
b9b1ef1319 OC_Util: Add fallbacks to check if current locale is UTF8
Using escapeshellcmd to get current locale causes error
if the function is disabled.

Add fallbacks to prevent the error.

Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:40 +00:00
Naoto Kobayashi
516cc3ba18 Check whether setlocale works only after setlocale
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:40 +00:00
Naoto Kobayashi
e9c6de5c79 Fix missing setlocale with php 8
When php version = 8, basename('§') does not bug even if LC_ALL is non-UTF-8 locale.
This cause OC_Util::isSetLocaleWorking() to skip setlocale("C.UTF-8").

Fix it by using escapeshellcmd instead of basename.

Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:40 +00:00
Joas Schilling
96c8e0dad3
Apply changes from master's update to 3.1.3
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-15 19:07:11 +01:00
Joas Schilling
d6d4cbbf9f
Allow NULL as well for limit, not integer only
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-15 19:01:46 +01:00
Joas Schilling
fd30500a92 Fix updating with apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-11 13:45:54 +00:00
Côme Chilliet
5041b727b1
Merge pull request #29520 from nextcloud/backport/29479/stable21
[stable21] Fix images on php 8.0
2021-11-08 11:57:23 +01:00
John Molakvoæ
5b89d34397
Revert "[21] tell mysql to ignore the sort index for search queries" 2021-11-04 11:10:46 +01:00
Côme Chilliet
dde1880be7
Merge branch 'stable21' into backport/29479/stable21
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-04 09:21:48 +01:00
John Molakvoæ
07c20b4f22
Merge pull request #29322 from nextcloud/mysql-search-ignore-index-21 2021-11-04 09:00:16 +01:00
Côme Chilliet
23aa60bb8d
Fix resource usages in OC_Image
This makes sure using resource or GdImage (PHP>=8) behaves the same.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-02 11:49:13 +01:00
Sijmen Schoon
43e829a93e Move query outside the loop and reduce chunk size to 1000
This involved changing CacheQueryBuilder\whereParentIn to take a
parameter name, renaming the function accordingly.

Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
2021-11-01 11:27:36 +00:00
Sijmen Schoon
bb198c635f Limit parameter count per query in Cache.removeChildren
Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
2021-11-01 11:27:36 +00:00
MichaIng
e250aef6b4
Merge pull request #29416 from nextcloud/backport/27440/stable21
[stable21] Handle files with `is_file` instead of `file_exists`
2021-10-30 00:19:35 +02:00
Carl Schwan
00a9b0c1db Fix permissions when copying from ObjectStorage
Make sure that when a user copy a file from a directory they don't have
all permissions to a directory where they have more permissions, the
permissions are correctly set to the one from the parent taget folder.

This was caused by the ObjectStoreStorage::copyFromStorage using
the jailed storage and cache entry instead of the unjailed one like other
storages (the local one).
Steps to reproduce

+ Use object storage
+ Create a groupfolder with one group having full permission and another one
  who can just read files.
+ With an user who is in the second group, copy a file from the groupfolder to
  the home folder of this user.
+ The file in the home folder of the user will be read only and can't be deleted
  even though it is in their home folder and they are the owner. In oc_filecache,
  the permissions stored for this file are 1 (READ)

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-28 12:55:53 +00:00
Robin Appelman
99ba96524e
more reliable return value for Watcher::checkUpdate
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-26 14:45:08 +02:00
Robin Appelman
f18a76fec9
s3 external storage listing rework
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-26 14:41:46 +02:00
acsfer
eea1c23719 Handle files with is_file instead of file_exists
Should fix things like `fread(): read of 8192 bytes failed with errno=21 Is a directory`
2021-10-23 09:28:25 +00:00
Christoph Wurst
48d97fa865 Make the route name error more helpful
As a developer I have no clue what "Invalid route name" means. If the
exception gives me a hint I might find it easier to figure out why my
route triggers this error.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-22 20:38:58 +00:00
Carl Schwan
ec8b2a90e6 Fix security issues when copying groupfolder with advanced ACL
Using advanced ACL, it is possible that an user has access to a
directory but not to a subdirectory, so the copying use
Common::copyFromStorage instead of Local::copyFromStorage.

Fix https://github.com/nextcloud/groupfolders/issues/1692

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-21 16:34:46 +00:00
John Molakvoæ
6b0bdf192c
Merge pull request #29289 from nextcloud/backport/28768/stable21 2021-10-21 09:32:32 +02:00
John Molakvoæ
1493321401
Merge pull request #29182 from nextcloud/backport/29028/stable21 2021-10-19 11:11:20 +02:00