Commit Graph

1739 Commits

Author SHA1 Message Date
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
Aleksander Machniak
4ca198440a Fix PHP deprecation warnings (#9616) 2024-09-07 08:47:08 +02:00
Aleksander Machniak
7c8968f4fe Use new HTML5 parser available on PHP >= 8.4 2024-09-01 15:27:35 +02:00
Aleksander Machniak
58721e3037 Fix regression where HTML messages were displayed unstyled (#9586) 2024-08-16 19:56:51 +02:00
Aleksander Machniak
a290392231 CS fixes 2024-08-08 14:57:00 +02:00
Aleksander Machniak
cd0bde2d5b Fix regression where printing/scaling/rotating image attachments was broken (#9571) 2024-08-08 13:54:32 +02:00
Aleksander Machniak
e12e273c0c More tests 2024-08-04 10:28:16 +02:00
Aleksander Machniak
c99dcacddb - Fix information leak (access to remote content) via insufficient CSS filtering [CVE-2024-42010]
Credits to Oskar Zeino-Mahmalat (https://www.sonarsource.com)
2024-08-04 10:27:18 +02:00
Aleksander Machniak
78cc630987 - Fix XSS vulnerability in serving of attachments other than HTML or SVG [CVE-2024-42008]
Credits to Oskar Zeino-Mahmalat (https://www.sonarsource.com)
2024-08-04 10:26:40 +02:00
Aleksander Machniak
40a4a71b67 Fix XSS vulnerability in post-processing of sanitized HTML content [CVE-2024-42009]
Credits to Oskar Zeino-Mahmalat (https://www.sonarsource.com)
2024-08-04 10:25:49 +02:00
Aleksander Machniak
fdf19f3e7c Fix bug where imap_conn_option's 'socket' was ignored (#9566) 2024-08-02 12:16:01 +02:00
Aleksander Machniak
89d429dbee Fix two new phpstan issues 2024-08-02 09:12:48 +02:00
John R. D'Orazio
cd92b26aa8 Trigger warning when config files are not readable (#9550)
* trigger error when config files are not readable

fixes issue #9549
2024-07-27 06:49:31 +02:00