Aleksandr Dubovikov
d8d6df3166
url blacklist
2024-09-30 17:00:52 +02:00
Aleksandr Dubovikov
dd3fd3d3d3
fix complexity
2024-09-30 15:23:37 +02:00
Aleksandr Dubovikov
016500b3f4
fixed some linter errors
...
Signed-off-by: Aleksandr Dubovikov <d.lexand@gmail.com>
2024-09-30 13:41:31 +02:00
ad
625bc3d02d
fixed dummy user id
...
Signed-off-by: Aleksandr Dubovikov <d.lexand@gmail.com>
2024-09-30 13:12:25 +02:00
ad
6c8158b313
added storing response as file cache
...
Signed-off-by: Aleksandr Dubovikov <d.lexand@gmail.com>
2024-09-30 13:12:22 +02:00
ad
46473c1bf0
implemented waiting for free thumb generator
...
Signed-off-by: Aleksandr Dubovikov <d.lexand@gmail.com>
2024-09-30 13:12:19 +02:00
ad
5845244aa9
url preview test version
...
Signed-off-by: Aleksandr Dubovikov <d.lexand@gmail.com>
2024-09-30 13:12:15 +02:00
Till
ed6d964e5d
Fix function signature, use default random boundary ( #3422 )
...
Fixes the function signature of `parseMultipartResponse` and uses the
default random boundary when creating a new multipart response.
2024-09-13 09:39:30 +02:00
Till
7a4ef240fc
Implement MSC3916 ( #3397 )
...
Needs https://github.com/matrix-org/gomatrixserverlib/pull/437
2024-08-16 12:37:59 +02:00
Till
795c4a9453
Fix media DB possibly leaking connections ( #3372 )
...
Grafana Pyroscope unveiled that we are hitting
ad10fbd3c4/src/database/sql/sql.go (L2739-L2742)
for media DB queries.
Making the methods pointer receivers fixes this.
(Also some minor `error` cosmetic updates)
2024-07-27 22:29:19 +02:00
Till
e34242008b
Add CORP header to /download
and /thumbnail
( #3299 )
...
Part of #3222
https://github.com/matrix-org/matrix-spec-proposals/pull/3828
2024-01-10 09:39:13 +01:00
Till
185ad6b00d
Allow some content types to be inlined ( #3274 )
...
"Shamelessly" stolen from
https://github.com/matrix-org/synapse/pull/15988
2023-12-12 11:15:50 +01:00
Till
3f727485d6
Send a more generic error message to clients if the file can't be found ( #3161 )
...
Fixes #3160
2023-07-28 08:40:05 +02:00
Till
297479ea49
Use pointer when passing the connection manager around ( #3152 )
...
As otherwise existing connections aren't reused.
2023-07-19 13:37:04 +02:00
Josh Qou
420e7ec81f
Fix unsafe hotserving behaviour for multimedia uploads. ( #3113 )
...
Return multimedia with a disposition type of attachment instead of
inline. NVT#1548992
Signed-off-by: Josh Qou [jqou@icloud.com ](mailto:jqou@icloud.com)
Co-authored-by: Jon <haddock.05.roast@icloud.com>
2023-06-15 12:28:34 +01:00
devonh
67d6876857
Move MakeJoin logic to GMSL ( #3081 )
2023-05-17 00:33:27 +00:00
devonh
0489d16f95
Move json errors over to gmsl ( #3080 )
2023-05-09 22:46:49 +00:00
kegsay
72285b2659
refactor: update GMSL ( #3058 )
...
Sister PR to https://github.com/matrix-org/gomatrixserverlib/pull/364
Read this commit by commit to avoid going insane.
2023-04-19 15:50:33 +01:00
kegsay
0db43f13a6
refactor: use latest GMSL which splits fed client from matrix room logic ( #3051 )
...
Part of a series of refactors on GMSL.
2023-04-06 09:55:01 +01:00
Till
5e85a00cb3
Remove BaseDendrite
( #3023 )
...
Removes `BaseDendrite` to, hopefully, make testing and composing of
components easier in the future.
2023-03-22 09:21:32 +01:00
Till Faelligen
0459d2b9e5
Make "m.upload.size" optional
2023-03-20 09:24:00 +01:00
Till
5579121c6f
Preparations for removing BaseDendrite
( #3016 )
...
Preparations to actually remove/replace `BaseDendrite`.
Quite a few changes:
- SyncAPI accepts an `fulltext.Indexer` interface (fulltext is removed
from `BaseDendrite`)
- Caches are removed from `BaseDendrite`
- Introduces a `Router` struct (likely to change)
- also fixes #2903
- Introduces a `sqlutil.ConnectionManager`, which should remove
`base.DatabaseConnection` later on
- probably more
2023-03-17 11:09:45 +00:00
devonh
5b73592f5a
Initial Store & Forward Implementation ( #2917 )
...
This adds store & forward relays into dendrite for p2p.
A few things have changed:
- new relay api serves new http endpoints for s&f federation
- updated outbound federation queueing which will attempt to forward
using s&f if appropriate
- database entries to track s&f relays for other nodes
2023-01-23 17:55:12 +00:00
Neil Alexander
c8935fb53f
Do not use ioutil
as it is deprecated ( #2625 )
2022-08-05 10:26:59 +01:00
Till
ac2dbb3513
Add Cache-Control header to media endpoints ( #2612 )
...
* Add Cache-Control header
* Raise rate_limiting threshold to 20
2022-08-03 10:55:21 +02:00
Neil Alexander
6d4bd5d890
Rate limiting changes ( #2519 )
...
* Rate limiting changes
This makes the following changes:
* For logged in users, the rate limiting now applies to the device session rather than the remote IP address;
* For non-logged in users, the rate limiting continues to apply to remote address as it does today;
* It is now possible to add user IDs to the `exempt_user_ids` option under `rate_limiting` to exclude bots from rate limiting;
* Admin and appservice users are now exempt from rate limiting by default.
* Fix build with media API
2022-06-07 14:24:04 +01:00
database64128
1b3fa9689c
🏗️ mediaapi/thumbnailer: fix build with bimg ( #2440 )
...
Co-authored-by: kegsay <kegan@matrix.org>
2022-05-09 17:51:30 +01:00
kegsay
506de4bb3d
Define component interfaces based on consumers (1/2) ( #2423 )
...
* Specify interfaces used by appservice, do half of clientapi
* convert more deps of clientapi to finer-grained interfaces
* Convert mediaapi and rest of clientapi
* Somehow this got missed
2022-05-05 13:17:38 +01:00
Neil Alexander
dd061a172e
Tidy up AddPublicRoutes
( #2412 )
...
* Simplify federation API `AddPublicRoutes`
* Simplify client API `AddPublicRoutes`
* Simplify media API `AddPublicRoutes`
* Simplify sync API `AddPublicRoutes`
* Simplify `AddAllPublicRoutes`
2022-05-03 17:17:02 +01:00
Neil Alexander
4ad5f9c982
Global database connection pool (for monolith mode) ( #2411 )
...
* Allow monolith components to share a single database pool
* Don't yell about missing connection strings
* Rename field
* Setup tweaks
* Fix panic
* Improve configuration checks
* Update config
* Fix lint errors
* Update comments
2022-05-03 16:35:06 +01:00
Till
979a551f1e
Return null
if MaxFileSizeBytes is 0 ( #2409 )
...
* Return "null" if MaxFileSizeBytes is 0
* Add comment and nil check (better save than sorry)
* Simplify config
2022-05-02 10:47:16 +02:00
Brian Meek
d28d0ee66e
Fix TestThumbnailsStorage
failing when media results come back in non-deterministic order; silence expected
...
error when tests are run multiple times against the same postgres database (cherry-picked from #2395 )
Signed-off-by: Brian Meek <brian@hntlabs.com>
2022-04-29 09:32:58 +01:00
Till
3ddbffd59e
Refactor media storage layer, add tests ( #2352 )
...
* Refactor mediaapi storage layer
* Verify filetype before trying to create thumbnails
* Add media api storage tests
* Fix returned values
2022-04-14 13:32:48 +01:00
S7evinK
a0f5d8e1a5
Fix unlimitedSize uploads ( #2317 )
2022-04-04 10:32:53 +02:00
Neil Alexander
e47dfe4786
Fix panic that can occur from nil pointer exception in media API fetchRemoteFile
2022-03-18 16:21:15 +00:00
S7evinK
485367fcfa
Return error from remote download requests ( #2266 )
...
* Return error from remote download requests
* Remove redundant err check, return better message if file does not exist
2022-03-16 12:16:27 +01:00
S7evinK
5e694cd362
Un-ratelimit calls to /thumbnail ( #2251 )
2022-03-04 12:03:51 +01:00
Neil Alexander
8996cc8059
Media endpoints on /v3
( #2242 )
...
* Media endpoints on `/v3`
* Keep `/v1` too?
2022-03-02 11:35:35 +00:00
Neil Alexander
ba1a9b98b7
Tweak some logging ( #2130 )
...
* Modify some log levels
* Update gomatrixserverlib to matrix-org/gomatrixserverlib@336334f
* Update gomatrixserverlib to matrix-org/gomatrixserverlib@cde7ac8
* Demote warning about key change producer
* Add more useful roomserver logging
* Further tweaking
2022-01-31 10:48:28 +00:00
S7evinK
25dcf80180
Ratelimit requests to /media/r0/download|upload ( #2020 )
...
* Add /media/r0/config handler
Signed-off-by: Till Faelligen <tfaelligen@gmail.com>
* Add rate limiting to media api
* Rename variable
* Add passing tests
* Don't send multiple headers
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2021-11-24 12:55:44 +00:00
PiotrKozimor
dec05c3347
Run gofmt on dendrite - apply go 1.17 preferred build tags ( #2021 )
2021-11-02 16:48:48 +00:00
database64128
5b969d172b
0️⃣ Media API: Fix maxFileSizeBytes=0 handling ( #1993 )
2021-11-02 16:35:15 +00:00
hacktivista
1ec5b0709b
Support WebP based thumbnails ( #2033 )
...
Co-authored-by: Felix Freeman <libsys@hacktivista.org>
2021-11-02 10:15:13 +00:00
Ryan W
a624eab309
- Removed double imports ( #1989 )
...
- Lower cased error messages
Signed-off-by: Ryan Whittington <twentybitdev@gmail.com>
Co-authored-by: kegsay <kegan@matrix.org>
2021-09-08 17:31:03 +01:00
Neil Alexander
f63068df3b
Only include go-sqlite3 on the relevant binaries ( #1900 )
...
* Only include go-sqlite3 on the relevant binaries
* The driver name is always sqlite3 now
* Update to matrix-org/go-sqlite3-js@e537baa
2021-07-20 11:18:14 +01:00
S7evinK
5094bc89bf
Set MaxFileSizeBytes <= 0 to unlimited ( #1876 )
...
* Revert "Set MaxFileSizeBytes <= 0 to "unlimited" (#1875 )"
This reverts commit 9ed0440421
.
* Actually allow unlimited upload
Signed-off-by: Till Faelligen <tfaelligen@gmail.com>
Co-authored-by: kegsay <kegan@matrix.org>
2021-07-19 17:58:51 +01:00
database64128
79181f2348
✂️ Media API: Handle unlimited file size ( #1881 )
2021-06-22 10:01:44 +01:00
S7evinK
9ed0440421
Set MaxFileSizeBytes <= 0 to "unlimited" ( #1875 )
...
* Set MaxFileSizeBytes < 0 to "unlimited"
Signed-off-by: Till Faelligen <tfaelligen@gmail.com>
* int64 overflows later in mediaapi/routing/upload.go[doUpload]
* Prevent int overflow when uploading
2021-06-14 14:12:03 +01:00
S7evinK
8b22c4270d
Use LimitReader to prevent DoS risk ( #1843 )
...
* Use LimitReader to prevent DoS risk
Signed-off-by: Till Faelligen <tfaelligen@gmail.com>
* Check if bytesWritten is equal to the maxFileSize
Add tests
Signed-off-by: Till Faelligen <tfaelligen@gmail.com>
* Use oldschool defer to cleanup after the tests
* Let LimitReader read MaxFileSizeBytes + 1
Co-authored-by: Kegsay <kegan@matrix.org>
2021-06-07 09:17:20 +01:00
Fero
d6e9b7b307
Remove the 'Content-Type' request header requirement ( #1834 )
2021-04-19 16:29:51 +01:00