Commit Graph

1769 Commits

Author SHA1 Message Date
Pablo Zmdl
0662d8b88e Prepend group-names to display-name
This is not optimal handling, but the most appropriate one as long as we don't actually support groups in
addresss-lists. This way users can at least see the group's display-name. And we don't strip text that might be relevant
to spot abusive emails.

Previously group-names were just removed, which makes it harder to spot such abusive emails.
2025-09-05 00:34:33 +02:00
Aleksander Machniak
3139bff247 CS-Fixer: Enable modernize_strpos 2025-08-15 13:20:24 +02:00
Michael Voříšek
026eb8c801 Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
Aleksander Machniak
2c3b46c1f2 Fix regression in handling of non-unicode characters in a plain text message (#9953) 2025-08-13 19:41:18 +02:00
Aleksander Machniak
464e809766 PHP 8.5: Replace __(sleep|wakeup) with __(serialize|unserialize) 2025-08-09 08:07:55 +02:00
Aleksander Machniak
a0d0f5e72e Fix parsing of inline styles that aren't well-formatted (#9948) 2025-08-03 11:28:53 +02:00
Aleksander Machniak
70e4e86148 Support IPv6 in database DSN (#9937) 2025-07-25 18:55:21 +02:00
Aleksander Machniak
c9270783c0 CS/PHPDoc fix 2025-07-13 13:37:51 +02:00
Aleksander Machniak
060fc95672 PHP 8.5 compat. fixes 2025-07-13 13:17:30 +02:00
Aleksander Machniak
199f203e83 Fix PHP deprecation warnings when handling an invalid BODYSTRUCTURE (#9896) 2025-07-05 15:28:00 +02:00
Pablo Zmdl
5cab1c5b1d Render text/markdown mimeparts as HTML (#9899)
This implements rendering mime-types with content-type 'text/markdown'
and 'text/x-markdown' into HTML in the preview and show views (if not
"dispositioned" as "attachment"), but not in the get view for attached
files (the one opening attachments in an external window.)
2025-06-19 17:01:09 +02:00
Philip Weir
529e835342 bug fix: autocomplete fails if contactlist_fields contains vcard fields (#9850) 2025-06-15 09:08:26 +02:00
Aleksander Machniak
ed7b459014 Validate timezone stored in session 2025-06-11 14:39:35 +02:00
Pablo Zmdl
c069be5897 Validate URL parameter in upload code (#9865) 2025-06-01 09:17:23 +02:00
Aleksander Machniak
0f2c627e04 Fix bug where attachments with content type of application/vnd.ms-tnef were not parsed (#7119) 2025-05-29 18:05:53 +02:00
Aleksander Machniak
c396e79aae - Fix connecting to LDAP using ldapi:// URI (#8990) 2025-05-25 09:40:50 +02:00
Aleksander Machniak
a0849d7d53 Improve link matching pattern in the string replacer 2025-05-25 08:43:28 +02:00
Aleksander Machniak
8e458b536e Fix new phpstan errors 2025-05-20 15:30:06 +02:00
Aleksander Machniak
1d080c7494 Bump PHP version for CS fixer, enable some default rules 2025-05-04 12:59:37 +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