1
0
mirror of https://github.com/owncloud/ocis.git synced 2026-10-23 23:29:02 +03:00
Commit Graph

151 Commits

Author SHA1 Message Date
Martin
55a6faf69a docs(stable-9.0-PR13165): final removal of any docs related content (#13182)
Backport of PR #13165
2026-10-19 11:02:28 +02:00
Roman Perekhod
9143307b70 fix: [ocisdev-1433] fix public share, add The grpc clients keepalive and more (#13020) (#13068)
* fix: the public share configuration and fixed graceful shutdown

* fix: [OCISDEV-1433] remove GRPC_MAX_CONNECTION_AGE

The setting closed healthy grpc connections on a timer so that clients would redo
their DNS lookup. It never helped against the failure it was reached for - a
connection whose peer stopped answering - because the age limit is enforced by
the server, the grace period was left at infinity so a request already in flight
was never ended, and any value without a unit suffix silently disabled it again.

Detecting a peer that stops answering is now the job of the grpc clients, which
ping the peer while a request is in flight. The servers here got the matching
enforcement policy so they accept those pings; the client side arrives with the
next reva bump.

* fix: Added the new variable OCDAV_DISABLE_PROPFIND_PUBLIC_LINK_RESOLUTION that disable the resolution of public link shares when answering PROPFIND requests.

* chore: bump reva

* fix: The keepalive added to grpc clinet

* chore: bump reva

* build(deps): bump go 1.26.8, grpc-go dependency

---------

(cherry picked from commit e86eb4d210)

For the 9.0 branch, the reva dependency was pointed at reva's main-branch
merge of PR #748 (commit 373f9509a, pseudo-version
v2.0.0-20261005091647-373f9509a363) instead of the 8.2-targeted
e0beaa380005, since the 8.2 merge predates the VaultMode/UploadSessionFilter.Orphaned
APIs already present on the 9.0 reva lineage.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

# Conflicts:
#	changelog/unreleased/security-bump-grpc.md
#	go.mod
#	go.sum
#	vendor/google.golang.org/grpc/server.go
#	vendor/google.golang.org/grpc/stream.go
#	vendor/google.golang.org/grpc/version.go
#	vendor/modules.txt
2026-10-06 17:21:46 +02:00
Pradip Subedi
02c3df5503 fix: text file previews on libvips without imagemagick support (#12961)
* fix: text file previews on libvips without imagemagick support

* fix: bmp previews on magick-less libvips, vips-tagged tests in CI
2026-09-22 10:30:49 +02:00
Gaurav Soni
2ea716aea4 [OCISDEV-492] Space image not uploaded if larger than 7MB (#12701)
fix(graph): [OCISDEV-492] reject space images too large to be rendered

Setting a space image larger than the thumbnails service accepts appeared
to succeed but never changed the space image. Uploading the file and
assigning it as the space image are two separate requests, and both
completed successfully, so clients reported success. Only a later preview
request, which the assigning client never observes, was rejected because
the image exceeded THUMBNAILS_MAX_INPUT_IMAGE_FILE_SIZE. As space images
are rendered exclusively as thumbnails, the image was not merely degraded,
it was invisible with no error anywhere in the UI.

The graph service now stats the file when a space image is assigned and
rejects the request with 413 Request Entity Too Large instead of storing a
reference which cannot be displayed. The previous space image is left
untouched. The limit is read from the new GRAPH_MAX_IMAGE_FILE_SIZE
setting, which defaults to the value of
THUMBNAILS_MAX_INPUT_IMAGE_FILE_SIZE so that a single setting keeps both
services in agreement. A limit of zero disables the check. Space
descriptions (readme) are not affected.
2026-08-04 14:29:11 +02:00
Juan Pablo Villafañez
4945eb6833 Autoprop (#12386)
* feat: metadata autopropagation

* feat: autoprop support for MFA / vault mode

* fix: replace some http clients with reva ones

* chore: required lib update

* fix: adjust unit tests and generate new mocks

* fix: apply autopropagation to all regular graph routes

* chore: updated reva dependency

* fix: return the right decorator for the thumbnails

* fix: remove autopropagation headers in the proxy
2026-06-19 10:43:41 +02:00
Roman Perekhod
39e3d33820 [full-ci] feat: ocisdev-533 graph (#12108)
* feat: Implemet the vault-storage

feat: Separate the storage-users and graph to handle

feat: move the space create cache

configurate the vault srorage Postprocessing

hide the assignment of the MountID to VaultStorageProviderID behind a flag to avoid the ID mismatch

configurate the proxy to create the vault home space

update the filter

Make the graph able to handle vault prefix. no extra service needed

apply the vault filter to sharedbyme and sharedwithme

added vault-storage docker

use squashed reva

fix the finishUpload event

restict webdav copy/move from the vault

feat: provide the mfa to webdav and grpc

feat: refactoring: provide the mfa to webdav and grpc

mfa collaboration

fix GetRootDriveChildren and more

fix: send the MFA header in HTTP clients from the collaboration service

provide the default storage user vault configuration

update create_home middleware

Update deployments/examples/ocis_full/vault-storage.yml

Co-authored-by: Martin <github@diemattels.at>

Update services/gateway/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/graph/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/graph/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/storage-users/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/proxy/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/storage-users/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update deployments/examples/ocis_full/vault-storage.yml

Co-authored-by: Martin <github@diemattels.at>

bump reva

deduplicate the requireMFA middeware on vault routes. fix AppendPlainToOpaque.

added the changlog and comments

* feat: add the vault mode search

* Update changelog/unreleased/enhancement-vault-storage.md

Co-authored-by: Martin <github@diemattels.at>

* update the readme. the reva vault storage provider configuration disabled by default

* feat: [OCISDEV-531] add vault capabilities to the OCS capabilities endpoint

* the port range allocated. the configuration updated.

---------

Co-authored-by: Martin <github@diemattels.at>
2026-05-15 16:53:05 +02:00
Jones Jankovic
ff13468d8f fix: correct typo in readme (#12263) 2026-04-28 11:13:22 +00:00
Michal Klos
80de57468b chore: bump github.com/kovidgoyal/imaging 2026-01-14 09:43:51 +01:00
Juan Pablo Villafañez
a46cd29cc9 Merge pull request #11573 from owncloud/otelhttp_for_tracing
Otelhttp for tracing
2025-08-07 13:48:02 +02:00
dependabot[bot]
861b20dc9d chore(deps): bump github.com/olekukonko/tablewriter from 0.0.5 to 1.0.9 (#11570)
* chore(deps): bump github.com/olekukonko/tablewriter from 0.0.5 to 1.0.9

Bumps [github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) from 0.0.5 to 1.0.9.
- [Commits](https://github.com/olekukonko/tablewriter/compare/v0.0.5...v1.0.9)

---
updated-dependencies:
- dependency-name: github.com/olekukonko/tablewriter
  dependency-version: 1.0.9
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: adjust to tablewriter 1.0.9 (AI-powered)

Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>

* update to NewTable

* bring back a Footer

* fix the tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julian Koberg <julian.koberg@kiteworks.com>
Co-authored-by: Roman Perekhod <rperekhod@owncloud.com>
2025-08-06 09:39:49 +02:00
Juan Pablo Villafáñez
8b8c7f02bf fix: replace hardcoded services names for variables 2025-08-05 10:00:24 +02:00
Juan Pablo Villafáñez
01a9713b52 feat: use otelhttp for tracing, fix tracing in proxy
otelchi and other custom solutions have been replaced with otelhttp to
trace HTTP requests; new middleware is provided to be used across the
platform.

The proxy service will use a custom HTTP client to forward the headers
needed for telemetry automatically (also based on otelhttp)
2025-07-31 11:06:33 +02:00
Juan Pablo Villafáñez
a388c8d642 feat: Homogenize tracing of requests to other services
The "tracing.GetNewRequest" and "tracing.GetNewRequestWithContext" aims
to replace the "http.NewRequest" and "http.NewRequestWithContext"
respectively by including tracing data.

For requests that have been already created, such as the case of some
reva requests, "tracing.InjectTracingHeaders" is provided.

Note that some outgoing requests might be required NOT to use tracing
headers.
2025-07-18 14:40:55 +02:00
Juan Pablo Villafáñez
641fa42f8d chore: add otlp as supported tracing type
This is just for documentation purposes. There is no code change.
2025-07-14 15:29:16 +02:00
Roman Perekhod
4fc4822696 collect the errors from group runner 2025-06-13 16:14:41 +02:00
Roman Perekhod
d31ca63af1 set default timeouts and clean up 2025-05-28 12:21:50 +02:00
Roman Perekhod
e1325ca40f to separate controll ower the http and grpc driven services 2025-05-28 12:21:50 +02:00
Juan Pablo Villafáñez
399a24e9b6 feat: use runners to startup the services 2025-05-28 12:21:49 +02:00
Michal Klos
e13fa5e39b fix: check jwt signed token 2025-05-07 12:03:13 +02:00
Michal Klos
2868947e63 chore: bump reva, go 1.24 2025-04-30 12:04:03 +02:00
Julian Koberg
b979844791 feat(ocis): adjust reva imports
Signed-off-by: Julian Koberg <jkoberg@MBP-Julian-Koberg.local>
2025-03-05 11:14:44 +01:00
Juan Pablo Villafáñez
f3d91f8c69 fix: ensure thumbnail is written into disk 2024-12-03 11:00:03 +01:00
Juan Pablo Villafáñez
56f012ceb6 fix: use a tmp file and rename to prevent a possible race condition 2024-11-29 14:16:07 +01:00
Ralf Haferkamp
e0cf17d5e5 Fix thumbnails status code
Return 403 instead of 500 when the image is too large (in dimensions or file
size).

Fixes: #10589
2024-11-18 16:18:18 +01:00
jkoberg
2b8b853c4d feat(thumbnails): make ggp thumbnails work
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2024-11-07 17:18:28 +01:00
jkoberg
1571d39a74 feat(thumbnails): add ggp test file
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2024-11-06 19:32:08 +01:00
jkoberg
02196da2e0 feat(thumbnails): allow thumbnails on ggp files
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2024-11-06 19:32:08 +01:00
Jörn Friedrich Dreyer
a79e3b3f63 Merge pull request #10412 from owncloud/fix-signal-handling
Fix signal handling
2024-10-28 15:24:35 +01:00
Jörn Friedrich Dreyer
dde999d5c2 align shutdown logging
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2024-10-28 14:47:11 +01:00
Martin Mattel
31e728af10 [docs-only] Add libvips build dependencies for macOS 2024-10-28 11:33:19 +01:00
Michael Barz
35578a0ecc chore: remove unneeded stuff 2024-10-21 22:46:06 +02:00
Ralf Haferkamp
e43a858808 Fix libvips thumbnail generation for text files 2024-10-17 14:05:27 +02:00
Ralf Haferkamp
b63676ff93 Fix GeoGebra thumbnails when libvips support is enabled
For GeoGebra files we where still using the imaging package to decode the
embedded png, but handed it of to vips for scaling, which can't work. Now
we use vips for decoding the image as well.
2024-10-17 14:05:27 +02:00
Ralf Haferkamp
2feb1ab0cf Apply suggestions from proof reading
Co-authored-by: Martin <github@diemattels.at>
2024-10-17 14:05:27 +02:00
Ralf Haferkamp
eb7168ddb5 Changelog entry and Readme updates related to libvips 2024-10-17 14:05:27 +02:00
Ralf Haferkamp
a9a5570050 feat(thumbnails): optional libvips based thumbnail generation
Can be enabled by setting the 'enable_vips' tag on 'go build'
2024-10-17 14:05:27 +02:00
Ralf Haferkamp
358adc15dc refactor(thumbnails): separate out 'kovidgoyal/imaging' dependencies
Move code using the 'kovidgoyal/imaging' package to separate files
to make it easier to create alternative implementations based on build
tags.
2024-10-17 14:05:27 +02:00
Ralf Haferkamp
d0ce57dfc2 refactor(thumbnails): merge processor into generator
Processor is now part of the generator. This should make it possible
to implement thumbnail generators that do not depend on the 'imaging'
module.
2024-10-17 14:05:27 +02:00
Florian Schade
66ff86bd35 enhancement: simplify ready and health check handler usage 2024-10-16 20:26:00 +02:00
Christian Richter
49cf9b0859 add grpc checker to search, settings & thumbnails
Signed-off-by: Christian Richter <crichter@owncloud.com>
2024-10-15 16:44:42 +02:00
Christian Richter
dcce0bc9bc add http checks to sse & thumbnails
Signed-off-by: Christian Richter <crichter@owncloud.com>
2024-10-15 13:57:39 +02:00
Christian Richter
0094d30378 code cleanup & refactoring
Signed-off-by: Christian Richter <crichter@owncloud.com>
2024-10-14 08:39:42 +02:00
Florian Schade
0671039474 enhancement: add readyz and healthz check handler 2024-10-14 08:39:42 +02:00
Florian Schade
c82a7c560e enhancement: use global ready and health handlers 2024-10-14 08:39:42 +02:00
Ralf Haferkamp
e2d7251893 fix(thumbnails): Implement ratelimit for the grpc service
This moves the ratelimit ('THUMBNAILS_MAX_CONCURRENT_REQUESTS') from the
HTTP endpoint to the GRPC endpoint. The HTTP endpoint is just used for
downloading already created thumbnails. But the resource consuming part of
thumbnail generation happens in the GRPC service.
2024-10-09 14:15:54 +02:00
Ralf Haferkamp
0b53c48bd9 fix(thumbnails): don't re-create thumbnails if they already exist
A previous cleanup introduced a bug which caused thumbnails to be
re-created even if we already had a matching thumbnail in the storage.
2024-10-08 10:37:36 +02:00
Ralf Haferkamp
86fa6a9cde Revert "remove obsolete var"
This reverts commit a145c36fd5.
2024-10-08 10:37:36 +02:00
Juergen Weigert
0d719a7c72 fix: more colons after variables found.
cd owncloud/ocis/services
vi $(grep -l -r '[A-Z][A-Z][A-Z]:/')
2024-10-02 09:09:47 +02:00
Ralf Haferkamp
109b23966c bump some jwt related go modules to current version
go-jwt/jwt to v5.2.1
MicahParks/keyfunc to v2.1.0
2024-08-26 15:35:15 +02:00
Jörn Friedrich Dreyer
066c4b8173 only register signal handling once
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2024-07-29 16:28:13 +02:00