Commit Graph
143 Commits
Author SHA1 Message Date
Dominik Schmidt 65f19b5d71 fix(thumbnails): close rejected vips ref, map oversized convert error to forbidden 2026-09-08 15:28:37 +02:00
Dominik Schmidt 7f687ea288 fix(thumbnails): bound declared image dimensions before decoding
The imaging build decodes the full pixel buffer from the header-declared
dimensions before the existing MaxInputWidth/MaxInputHeight guard runs, so a
tiny crafted file whose header declares huge dimensions forces a multi-GB
allocation and can OOM the worker. Read the header with DecodeConfig and reject
oversized sources before the decode allocates, in both the imaging and vips
builds, and thread the limit through the audio cover-art and geogebra decoders
that decode a second attacker-controlled image.
2026-09-08 15:28:37 +02:00
Jannik Stehle ec4d5b7e6b Merge pull request #3386 from opencloud-eu/feat/extend-thumbnail-service-resolutions
feat(thumbnails): extend list of default resolutions
2026-08-21 14:03:23 +02:00
Jannik Stehle 1e5de6e01b feat(thumbnails): extend list of default resolutions
Extend the list by these resolutions:

"500x280", "280x500", "1000x560", "560x1000", "512x2048"

This allows for a more granular thumbnail generation for requested previews
between 128 and 1080 px.
2026-08-21 09:04:59 +02:00
Jannik Stehle d562d44edf fix(thumbnails): respect the requested height in libvips builds
The libvips generator passed 0 as the target height to vips_thumbnail,
so the value was rejected and dropped.

As a result, a preview of a 4000x5000 portrait image requested with e.g.
x=500&y=500 returned a ...x1920 image instead of a ...x1080 one, which
would be the next correct size in the pre-defined resolutions list. This
was due to the missing height, so it used the width (=1920) to determine
the longest side.

This also aligns it with the non-libvips behavior.
2026-08-20 19:11:28 +02:00
Ralf Haferkamp fab1986fb6 Revert "fix: disallow thumbnails for tiff and jpeg2000 images"
The alpine base images now has a fixed libvips. So we can enable
previews for these formats again.

This reverts commit c40629dd85.
2026-06-18 11:53:03 +02:00
Ralf Haferkamp c40629dd85 fix: disallow thumbnails for tiff and jpeg2000 images 2026-05-13 13:28:10 +02:00
Florian Schade d0e3f14539 chore: remove loop var references 2026-04-23 17:11:55 +02:00
Florian Schade 288e67cc39 chore: replace interface with any 2026-04-23 09:31:11 +02:00
Christian Richter 30c4fb2b51 consolidate log config in thumbnails
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 13:38:14 +01:00
Florian Schade 9c651af32d fix(thumbnailer): missing font panic 2025-12-31 12:17:11 +01:00
Florian Schade 01b768d33c fix(thumbnailer): respect image boundaries and text wrappings for TxtToImageConverter string drawing 2025-12-22 15:57:25 +01:00
Christian Richter 0372869b8b refactor remaining code from urfave/cli
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-12-15 16:40:27 +01:00
Christian Richter 7be33b0607 refactor interims DefaultAppCobra to DefaultApp
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-12-15 16:40:26 +01:00
Christian Richter 7e1ab4f34f migrate thumbnails from urfave/cli to spf13/cobra
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-12-15 16:40:26 +01:00
Jörn Friedrich Dreyer 10913ca00a Merge pull request #1918 from opencloud-eu/otlp-tracing
update otlp tracing
2025-11-27 12:57:26 +01:00
Jörn Friedrich Dreyer a3ef7f6d79 update otlp tracing
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-11-27 12:28:15 +01:00
Ralf Haferkamp 3badc66d4a fix: adapt to new function signatures
To allow to bump to latest kovidgoyal/imaging release
2025-11-26 14:46:30 +01:00
Michael Barz 3b27d8f580 change: use 404 as status when thumbnail can not be fetched (#1582) 2025-09-30 20:40:31 +02:00
Roman Perekhod c597dfb917 set default timeouts and clean up 2025-09-12 12:18:47 +02:00
Roman Perekhod 9a3fc08dd4 to separate controll ower the http and grpc driven services 2025-09-12 12:18:47 +02:00
Juan Pablo Villafáñez 9e1b80a1be feat: use runners to startup the services 2025-09-12 12:18:47 +02:00
André Duffeck 683b979bdd Remove unused code 2025-07-22 10:42:46 +02:00
Christian RichterandAndré Duffeck 49ab88e980 Add signed-url handling to thumbnail service
Co-authored-by: André Duffeck <a.duffeck@opencloud.eu>

Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-07-22 08:51:16 +02:00
Michael Barz 887257fa38 feat: add webp format (#869) 2025-05-22 09:19:50 +02:00
Ralf Haferkamp 96684df32d Adjust to new tablewriter release 2025-05-19 19:26:38 +02:00
Ralf Haferkamp c46e0c4b6b Fix build with go 1.24
Go 1.24 does some stricter checks now on arguments to functions
accepting format strings.
This commit fixes a couple of "non-constant format string in call
to ..." errors when running the unit tests.
2025-03-10 10:43:34 +01:00
Ralf Haferkamp 8e1f68f315 Reset 'introductionVersion" struct tag to 1.0.0 2025-02-24 11:40:33 +01:00
Jannik Stehle 64afb387a2 chore: replace branded ggs test files 2025-01-28 09:38:22 +01:00
Jannik Stehle fac4ebbf0f chore: remove or change branded test files in thumbnail service 2025-01-27 15:12:12 +01:00
André Duffeck e8d35e1280 Use the opencloud reva from now on 2025-01-21 11:16:38 +01:00
Jörn Friedrich Dreyer 78c22c0b84 thumbnails
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-17 12:03:15 +01:00
Ralf Haferkamp 213e9663a9 Rename go-micro services 2025-01-16 09:45:46 +01:00
André Duffeck 8c8cdd9310 Adapt protobuf naming 2025-01-15 11:04:32 +01:00
Jörn Friedrich Dreyer 318ca21645 metrics, log and supervisor
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-14 16:09:54 +01:00
Jörn Friedrich Dreyer 5aa5ab843a ociscfg -> occfg
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-14 12:44:00 +01:00
Jörn Friedrich Dreyer b07b5a1149 use plain pkg module
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-13 16:42:19 +01:00
Jörn Friedrich Dreyer a46fd132bd use OC_ env prefix
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-13 16:11:11 +01:00
Jörn Friedrich Dreyer 8e028f17e9 change module name
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-13 09:58:18 +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 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 dde999d5c2 align shutdown logging
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2024-10-28 14:47:11 +01: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 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