Commit Graph

2141 Commits

Author SHA1 Message Date
Pablo Zmdl
49c2d44b1d Allow stylesheets from 'self' in download headers 2025-05-07 13:43:53 +02:00
Aleksander Machniak
582ca2b678 CS fix 2025-04-23 17:22:07 +02:00
Aleksander Machniak
ab08ade64a Use object-oriented style of Fileinfo functionality
finfo_close() is rudundant since PHP 8.1 and might get deprecated in PHP 8.5
2025-04-23 15:45:05 +02:00
Aleksander Machniak
175e378ded Fix bug where a wrong SPECIAL-USE folder could have been detected, if there were more than one per-type (#9781) 2025-04-20 12:38:45 +02:00
Aleksander Machniak
0b38444c32 Fix removing/expiring redis/memcache records when using a key prefix 2025-04-18 14:41:25 +02:00
Aleksander Machniak
cfac0d6841 Remove apc cache driver 2025-04-06 15:52:06 +02:00
Dennis
edbfd1109b Add APCu cache driver (#9828) 2025-04-06 15:43:53 +02:00
Aleksander Machniak
835c10e39e Remove set_error_handler() use around mb_convert_encoding() (#9799)
It's redundant since PHP8
2025-03-30 18:16:45 +02:00
Aleksander Machniak
f7d8852d17 Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
Aleksander Machniak
9f4818fc29 Remove old @since params 2025-03-30 10:58:09 +02:00
Aleksander Machniak
c7cf2af486 CI: Enable PHP 8.4 testing 2025-03-25 19:14:45 +01:00
Aleksander Machniak
f37a959197 Fix new phpstan errors 2025-03-24 18:14:40 +01:00
Aleksander Machniak
9afeb0174e Use PHPStan v2 2025-03-16 13:33:15 +01:00
Aleksander Machniak
07fa590f25 Fix PHP warning (#9775) 2025-02-23 12:02:01 +01:00
Aleksander Machniak
94fd5a0f80 CS fixes (for the new fixer version rules) 2025-02-23 11:51:27 +01:00
Aleksander Machniak
e046b5e663 Remove redundant code 2025-02-23 11:38:43 +01:00
Aleksander Machniak
a9b1ca34f3 Update min PHP version check, cleanup outdated checks/comments 2025-02-23 11:18:50 +01:00
Pablo Zmdl
8bd1c93821 html class: Allow to pass array as content (#9782)
This allows for a little cleaner code
2025-02-19 18:01:49 +01:00
Pablo Zmdl
166636e2cd Allow 'sandbox' attribute for html::iframe (#9783) 2025-02-19 17:59:48 +01:00
Aleksander Machniak
781f006ed2 Fix PHP warning 2025-02-16 14:16:35 +01:00
Aleksander Machniak
44f0ac5b00 Fix folder list sorting when using personal namespace prefix of INBOX/ (#9452) 2025-02-16 12:40:37 +01:00
Aleksander Machniak
d4526968a8 Set minimum required PHP version to 8.1 (#9599) 2025-02-16 10:09:23 +01:00
Aleksander Machniak
64df318a73 Add static files server (#9294)
Make use of public_html mandatory
2025-02-09 14:10:50 +01:00
Pablo Zmdl
752b152a23 Check if attachment is actually(!) referred to (#9585)
* Check if "inline" msg part is actually referred to

If there's no reference to it in a sibling HTML part then we handle it
as a classic attachment (which is shown as downloadable).

* Fetch all msg headers also for images to always get Content-Location

Previously all headers were only fetched for message/rfc822, or
if the Content-Type's "name" parameter was set, or if a Content-ID was
set.
The RFC doesn't require neither the "name" parameter nor a Content-ID
for using Content-Location, though, so we shouldn't depend on those.

Instead now all headers are also fetched if the main part of the
Content-Type is "image", to catch more cases.

* Parse HTML for references only on demand

* Typos and comment formatting

* Don't skip test anymore

We want it tested!

* More MR tests with images

* Remove early special handling for "inline" images

We decide later, which attachment is considered "inline" and which
isn't.

* Remove early resolving of references in TNEF parts

* Testing message rendering of TNEF emails

* Don't use image disposition, it's unreliable

* Split adding raw parts and attachments

* Fix renaming variable

* Rename file to make its test be run

* Remove outdated script

* Annotate test cases with GitHub issue numbers

* Fix test case class name

* remove comment

* Test inline image message rendering

* Rename test file to reflect cases better

* Reduce image used in test email

It doesn't change much, but there's also no sense in decoding big images
that we don't use.

* Remove unused variable initialisation
2025-02-09 09:56:43 +01:00
Aleksander Machniak
41eaff2839 Fix decoding of attachment names encoded using both RFC2231 and RFC2047 standards (#9725) 2025-02-02 13:58:39 +01:00
Philip Weir
ccede1f272 Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
Aleksander Machniak
2f051c0154 Add rcube_imap_generic::getUser() method
It's sometimes useful when all we have is the connection object
2025-01-17 13:22:47 +01:00
Aleksander Machniak
dbbde7584e Add missing @param 2025-01-16 10:58:20 +01:00
Pablo Zmdl
d877302e50 Fix displaying message/rfc822 parts (#9753)
* Fix displaying message/rfc822 parts

The previous code contained a simple error that assigned the body part
to the $headers variable (which then couldn't be parsed and got
discarded).

* Test rendering of attached message/rfc822 parts
2025-01-15 18:27:05 +01:00
Aleksander Machniak
a677d26a27 Properly attach fetched headers into message parts 2025-01-14 12:17:37 +01:00
Aleksander Machniak
6e216b588a Reset $cmd_num when connection is closed
We want command ID counter to start over when a new connection is being made
2025-01-08 11:33:56 +01:00
Aleksander Machniak
53b1e7bf99 Fix decodeContent() call with the by-reference argument 2025-01-01 13:37:24 +01:00
Aleksander Machniak
4bde475ea1 Fix handling of binary mail parts (e.g. PDF) encoded with quoted-printable (#9728) 2025-01-01 13:27:30 +01:00
Aleksander Machniak
a49d9ef803 Reset internal cache in appropriate places to be on a safe side 2024-12-12 13:48:35 +01:00
Aleksander Machniak
ca51b317b9 Add annotate_message() to the storage interface 2024-12-11 15:08:44 +01:00
Aleksander Machniak
120c640c3a IMAP: Partial support for ANNOTATE-EXPERIMENT-1 extension (RFC 5257) 2024-12-11 14:56:49 +01:00
Pablo Zmdl
3577d52cbb Merge pull request #6138 from noobish/php-log 2024-12-02 08:06:01 +01:00
Vitaly Lavrov
613ccd7e05 BUG: get_variable for postgres never returns a value (#9710)
Because of this, the insert_or_update() method never uses the "INSERT INTO ... ON CONFLICT DO UPDATE SET ..." command, and the logs constantly show errors adding records to the message cache due to "duplicate key".
2024-11-24 14:18:06 +01:00
Aleksander Machniak
66c1363fe8 Fix BC break intruduced in the last commit 2024-11-21 16:01:24 +01:00
Aleksander Machniak
785e9bc1ba Fix PHP warning in compressMessageSet() and clarify result on an empty input 2024-11-21 15:38:29 +01:00
Michael Voříšek
efcdce84ba Keep phpstan strict rules testing (#9424)
* Revert "Get rid of phpstan/phpstan-strict-rules"

This reverts commit ff59ade31a.

* drop phpstan baseline

* fix foreach phpstan issue

* adjust for rebase

* fix method call case

* ignore one phpstan error even after isset
2024-11-20 08:13:16 +01:00
Paul J. Dorn
3b6eebc4e4 Fix preg_match()'s $flags type (#9686)
PHP: Deprecated: preg_match(): Passing null to parameter #4 ($flags) of type int is deprecated in program/lib/Roundcube/rcube_result_thread.php
2024-11-19 15:45:22 +01:00
Aleksander Machniak
00ef061ef8 Fix PHP fatal error when parsing some malformed BODYSTRUCTURE responses (#9689) 2024-11-17 14:40:36 +01:00
Ian Freeman
9183d37cfb Add 'php' log_driver, passing log entries off to php's configured
error_log facility.
2024-11-10 14:55:35 -08:00
Aleksander Machniak
749eb3853d CS fix 2024-11-03 10:40:17 +01:00
Aleksander Machniak
55881d35ae Fix PHP 8.4 deprecation warning on str_getcsv() use 2024-11-03 10:33:37 +01:00
Aleksander Machniak
ca10951ab9 Fix regression causing inline SVG images to be missing in mail preview (#9644) 2024-09-29 14:00:19 +02:00
Pablo Zmdl
6a7e96c212 Fix getting IMAP vendor name (#9654)
In some cases, the array's keys where upper case, and the previous code
produced a warning and resulted in an empty string, even though the
name was present.
2024-09-29 11:18:32 +02:00
respiranto
6159ebeb02 vcard: Fix whitespace handling in line cont's (#9637)
* vcard: Fix whitespace handling in line cont's

Previously, multiple whitespace characters at the start of a
continuation line would all be dropped, instead of only the first one.

Also,
 - restrict line continuation characters to SPACE and TAB.

Note that, like before, this identifies the CR (`\r`) character with the
empty string, and thereby notably does not require a CRLF (`\r\n`)
sequence (which is mandated by RFCs 2426, 2425) for line termination
(i.e., `\n` suffices).

Fixes: Bug 1 of issue #9593.

* vcard: Add test for #9593/1

* Fix coding style
2024-09-18 13:26:43 +02:00
Aleksander Machniak
f8d9cb157b Fix new phpstan errors 2024-09-12 09:52:42 +02:00