Commit graph

13001 commits

Author SHA1 Message Date
Daniel
a2ac818bd2
Merge pull request #38517 from nextcloud/backport/38496/stable26
[stable26] fix: catch errors in id3parser library
2023-06-01 20:37:32 +02:00
Varun Patil
119e52f8b6
redis: move lua scripts to class and add type hints
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-05-31 12:00:34 +02:00
Varun Patil
f5895faafa redis: use atomic operations everywhere
This removes a lot of acrobatics in the code and does each operation
atomically using a lua script. This also reduces several round trips
to the server, and the scripts are compiled and cached server-side.

Notably, since all operations work only on a single key (except clear,
which is broken anyway and shouldn't be used), they will continue to
function and be atomic for Redis cluster.

Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-05-31 07:13:23 +00:00
Daniel Kesselberg
ef0cffc937 fix: catch errors in id3parser library
We use a forked version of getID3 to read embedded images from mp3 files to use them as previews.

If the library is unable to extract a image or fails on something different we should handle it properly.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-05-30 13:45:48 +00:00
Arthur Schiwon
7c6b47dd27
Merge pull request #38091 from nextcloud/backport/35092/stable26
[stable26] Check return value and improve error handling on certificate manager
2023-05-17 19:04:10 +02:00
Andy Scherzinger
4bd2f33cfe
Merge pull request #38307 from nextcloud/backport/37961/stable26
[stable26] SystemTags endpoint to return tags used by a user with meta data
2023-05-17 18:15:02 +02:00
Arthur Schiwon
fc86b9cd85
Merge pull request #38130 from nextcloud/backport/36895/stable26
[stable26] Fix json_decode expecting a string
2023-05-17 13:45:11 +02:00
Arthur Schiwon
4e1b6ee168
Merge pull request #38009 from nextcloud/backport/37925/stable26
[stable26] fix: change maintenance mode info wording
2023-05-17 13:43:36 +02:00
Arthur Schiwon
02dbc04533
Merge pull request #37849 from nextcloud/backport/37834/stable26
[stable26] Fix TypeError in Profiler
2023-05-17 13:42:51 +02:00
Arthur Schiwon
298af3cf0a
refactor: remove where specification from SELECT getter
- search constraints are now fully in control of
  SystemTagsInFilesDetector::detectAssignedSystemTagsIn(), avoids
  duplication of a WHERE statement

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-16 12:47:15 +02:00
Arthur Schiwon
f2b5a079db
refactor: remove SystemTag logic from Folder into QuerySearchHelper
- adds OC\SystemTag\SystemTagsInFilesDetector where the search logic is
  moved to

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-16 12:47:09 +02:00
Arthur Schiwon
c0dbde5fba
feat: specify media type via url path: systemtags-current/$mediaType
- only the media part of the mime type can be search, but not the full
  mime type. It can be added, should it become necessary.
- thus fixes previously hardcoded selector for image/ types
- also fixes a return type hint
- adds a return type hint

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-16 12:46:50 +02:00
Arthur Schiwon
2ea872d156
PoC: SystemTags endpoint to return tags used by a user with meta data
Target case is photos app: when visiting the tags category, all systemtags
of the whole cloud are retrieved. In subequent steps the next tag is
requested until the browser view is filled with tag tiles (i.e. previews
are requested just as well).

With this approach, we incorpoate the dav search and look for user related
tags that are used by them, and already returns the statistics (number of
files tagged with the respective tag) as well as a file id for the purpose
to load the preview. This defaults to the file with the highest id.

Call:
curl -s -u 'user:password' \
  'https://my.nc.srv/remote.php/dav/systemtags-current' \
  -X PROPFIND -H 'Accept: text/plain' \
  -H 'Accept-Language: en-US,en;q=0.5'  -H 'Depth: 1' \
  -H 'Content-Type: text/plain;charset=UTF-8' \
  --data @/home/doe/request-systemtag-props.xml

With request-systemtag-props.xml:
<?xml version="1.0" encoding="UTF-8"?>
<d:propfind xmlns:d="DAV:">
        <d:prop xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns">
                <oc:id/>
                <oc:display-name/>
                <oc:user-visible/>
                <oc:user-assignable/>
                <oc:can-assign/>
                <nc:files-assigned/>
                <nc:reference-fileid/>
        </d:prop>
</d:propfind>

Example output:
  …
  <d:response>
    <d:href>/master/remote.php/dav/systemtags/84</d:href>
    <d:propstat>
      <d:prop>
        <oc:id>84</oc:id>
        <oc:display-name>Computer</oc:display-name>
        <oc:user-visible>true</oc:user-visible>
        <oc:user-assignable>true</oc:user-assignable>
        <oc:can-assign>true</oc:can-assign>
        <nc:files-assigned>42</nc:files-assigned>
        <nc:reference-fileid>924022</nc:reference-fileid>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/remote.php/dav/systemtags/97</d:href>
    <d:propstat>
      <d:prop>
        <oc:id>97</oc:id>
        <oc:display-name>Bear</oc:display-name>
        <oc:user-visible>true</oc:user-visible>
        <oc:user-assignable>true</oc:user-assignable>
        <oc:can-assign>true</oc:can-assign>
        <nc:files-assigned>1</nc:files-assigned>
        <nc:reference-fileid>923422</nc:reference-fileid>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  …

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-16 12:46:37 +02:00
Simon L
45ecabf7a1
adjust patch
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-05-16 11:56:41 +02:00
jld3103
9ae9f03d83 Clear generated avatar caches
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-05-16 09:52:00 +00:00
jld3103
2374aea9dd Properly clear cached avatars
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-05-16 09:52:00 +00:00
Joas Schilling
7cc7984ab7
Merge pull request #38275 from nextcloud/backport/38274/stable26
[stable26] fix(middleware): Also abort the request when reaching max delay in af…
2023-05-16 11:31:10 +02:00
Côme Chilliet
ffa4906170
Merge pull request #38289 from nextcloud/backport/38196/stable26
[stable26] Get rid of more int casts in file size manipulations
2023-05-16 09:27:11 +02:00
Côme Chilliet
988c03a0a5
Fix return types in phpdoc
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-15 17:28:31 +02:00
Côme Chilliet
d618b8061c
Get rid of more int casts in file size manipulations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-15 17:26:18 +02:00
Joas Schilling
94211721a6
fix(middleware): Also abort the request when reaching max delay in afterController
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-15 16:24:12 +02:00
Arthur Schiwon
2408b71aa9
Read mtime of version.php only once
- in most cases it would read again in \OC_Util::loadVersion anyway
- remove some unused use statements

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-15 13:55:24 +02:00
Côme Chilliet
256f48a48c
Merge pull request #38238 from nextcloud/backport/37709/stable26
[stable26] fix: Check for wrapped retriable exceptions
2023-05-15 12:15:04 +02:00
Côme Chilliet
8d1c1403cc
Merge pull request #38204 from nextcloud/backport/36893/stable26
[stable26] Make sure to never trigger files hooks on a null path
2023-05-15 11:24:33 +02:00
Julius Härtl
27bd9e2ade fix: Check for wrapped retriable exceptions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-13 22:23:04 +00:00
Git'Fellow
e41eb529b8
Add function_exists() check
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-05-12 19:19:05 +02:00
Git'Fellow
2ef8e76adb
Fix free space problems
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-05-12 19:19:04 +02:00
Côme Chilliet
4d215828c9 Make sure to never trigger files hooks on a null path
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-11 14:43:04 +00:00
Joas Schilling
9260ef5c29
Merge pull request #37549 from nextcloud/backport/37520/stable26
[stable26] fix DBAL exception handling in setValues
2023-05-09 14:29:03 +02:00
Ilya Apasov
b4fab4cfa4 Update Checker.php
Signed-off-by: Ilya Apasov <apasov@users.noreply.github.com>
2023-05-08 19:33:02 +00:00
Julius Härtl
51549f407b fix: Use proper path when creating node instances
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-08 15:21:52 +00:00
Git'Fellow
22f02a46d1
Fix conflicts
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-05-04 22:35:31 +02:00
Jan Messer
364f3f5f26 [BUGFIX] throw exception instead of error if unable to create file handler (only exceptions are catch)
Signed-off-by: Jan Messer <jan@mtec-studios.ch>
2023-05-04 20:33:02 +00:00
Jan Messer
6c90e3f780 [BUGFIX] check return value and improve error handling
With S3 primary storage there was a problem with getting the CA bundle from the storage without having the CA bundle for the connection which causes that the CertificateManager was throwing an Error.
This commit improves the handling in CertificateManager and log unexpected behaviors.

Signed-off-by: Jan Messer <jan@mtec-studios.ch>
2023-05-04 20:33:02 +00:00
Simon L
7f61d9b92d increase imaginary timeouts as for big files the processing could take very long
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-04 15:01:27 +00:00
Vitor Mattos
f13aa71076 Update expire_date column of table comments
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-05-03 08:36:27 +00:00
Daniel Kesselberg
6a04405167 fix: change maintenance mode info wording
In maintenance mode the database is accessible and it's possible to execute other commands then maintenance:mode

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-05-01 17:43:35 +00:00
Robin Appelman
a7b4d7bdc2 ignore errors while trying to update parent storage_mtime
in the worst case this should only cause an extra rescan later

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-04-21 17:41:47 +00:00
Côme Chilliet
bec51730f5 Fix TypeError in Profiler
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-20 16:04:21 +00:00
John Molakvoæ
705d9d1402
Revert "Revert "[stable26] handle not being able to write file for notify self-test"" 2023-04-14 18:35:55 +02:00
John Molakvoæ
3d0cfd1f2d
Revert "[stable26] handle not being able to write file for notify self-test" 2023-04-13 18:56:03 +02:00
Robin Appelman
e1418880e9 handle not being able to write file for notify self-test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-04-13 06:18:36 +00:00
Maxence Lange
90c53df248 app type extended_authentication
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-04-12 14:34:27 +00:00
Louis Chemineau
138702c60c Migrate metadata as JSON to value as STRING
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-04-06 11:26:35 +00:00
Robin Appelman
76350d8a4d
Merge pull request #37394 from nextcloud/backport/36810/stable26
[stable26] do onetime user setup before getting any mount from providers
2023-04-06 13:10:29 +02:00
Robin Appelman
3fcb4169b5
Merge pull request #37558 from nextcloud/backport/36097/stable26
[stable26] extend path-prefix optimizer to remove all cases of path_hash= when encountering a path prefix filter
2023-04-06 13:07:59 +02:00
Robin Appelman
8ce285c9ab
Merge pull request #37537 from nextcloud/backport/35961/stable26
[stable26] clear encrypted flag when moving away from encrypted storage
2023-04-06 13:07:11 +02:00
Joas Schilling
cbec7528de fix(initial-state): Log an error when initial-state can not be JSON encoded
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-04 12:13:03 +00:00
Joas Schilling
e9c1ad0bab
Merge pull request #37551 from nextcloud/backport/37542/stable26
[stable26] feat(security): Allow to opt-out of ratelimit protection, e.g. for te…
2023-04-03 18:08:02 +02:00
Robin Appelman
747ed3900d extend path-prefix optimizer to remove all cases of path_hash= when encountering a path prefix filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-04-03 14:55:05 +00:00