Commit Graph

219 Commits

Author SHA1 Message Date
Pablo Zmdl
16f9de14e1 WIP: reduce artifacts of testing in source code dir
Note: This breaks tests that download files
2025-06-17 14:42:52 +02:00
Pablo Zmdl
5c10569ada Allow fallback to embed.min.css 2025-05-07 13:47:35 +02:00
Pablo Zmdl
dd7a9e1416 Regain lost _mimewarning URL param 2025-05-07 13:43:24 +02:00
Pablo Zmdl
0a6dcf1db4 Two comments 2025-05-07 13:42:58 +02:00
Pablo Zmdl
550d5d35ab Don't htmlify text/plain parts if displayed as attachment 2025-04-30 12:48:21 +02:00
Pablo Zmdl
cb9fb1439c Don't include jquery-ui in iframed message content iframe 2025-04-30 12:48:21 +02:00
Pablo Zmdl
f8b07cd50a fixup: fix showing text/* attachments 2025-04-30 12:48:21 +02:00
Pablo Zmdl
a36613c536 WIP styling 2025-04-29 17:55:10 +02:00
Pablo Zmdl
d583ccc1c3 re-fix iframed email content styling 2025-04-29 17:47:44 +02:00
Pablo Zmdl
696cfa9ecb Fix styles for iframed email content parts 2025-04-28 12:52:32 +02:00
Pablo Zmdl
a0076ca889 Use styles.css, not embed.css for iframed html parts 2025-04-28 10:16:53 +02:00
Pablo Zmdl
65f4397a5e Fix styling for iframed email content parts 2025-04-28 10:16:13 +02:00
Pablo Zmdl
b2345fc80e WIP: use .message-(html)part only on iframed html elem 2025-04-28 08:45:20 +02:00
Pablo Zmdl
06314ef989 Fix styling for iframed email content 2025-04-28 08:16:40 +02:00
Pablo Zmdl
3a9ad6b3e3 Remove rcmail_html_page
The calling code replaced the $rcmail->output on the fly, which makes is
hardly testable.
Also that class was used only in the class `rcmail_action_mail_get`, and
it's a pretty thin layer on top of `rcmail_output_html`, which is not
necessary.
2025-04-24 15:12:49 +02:00
Pablo Zmdl
08dc83b918 Replace REMOTE_OBJECTS with an attribute on the body element
We need the information in the browser, because the
remote-objects-message is now rendered independently from the message
contents, and we need it for each message part.
2025-04-24 15:12:49 +02:00
Pablo Zmdl
1019b462d3 Render each mime part in an individual, sandboxed iframe
This includes a new "message loading" notice without meta refresh (which
requires unsafe-inline in a CSP, which we want to avoid)
2025-04-24 15:12:49 +02:00
Aleksander Machniak
f7d8852d17 Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
Philip Weir
e37709c5e8 Add enable_autolink option for HTML editor (#9818, #9762) 2025-03-24 18:24:46 +01:00
Aleksander Machniak
94fd5a0f80 CS fixes (for the new fixer version rules) 2025-02-23 11:51:27 +01:00
Pablo Zmdl
6d51c21931 Exit through sendExit() (#9784)
That way it's testable.
2025-02-19 17:55:04 +01:00
Philip Weir
ccede1f272 Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
Pablo Zmdl
46d25161dc Test message rendering (#9460) 2024-12-19 19:01:25 +01:00
PhilW
b5047f71a5 remove pointless variable 2024-11-20 19:16:19 +00:00
PhilW
85bcfe644a small improvement to invalid vcard logging 2024-11-20 19:16:19 +00:00
PhilW
178c4c13e1 add invalid and error details to vcard import report 2024-11-20 19:16:19 +00: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
Stefan
3cff118366 Remove year numbers in user visible places (#9603)
To not have to update it every year or getting it wrong as in 1.6.8 I proposed to use the server year as copyright end year. During pull request, @alecpl suggested siply removing the years alltogether as they don't provide much value.

Co-authored-by: stefan-muc <roundcube-git_24@green-sparklet.de>
2024-09-18 13:51:22 +02:00
Pablo Zmdl
6b64eabd69 Merge pull request #9606 from johndoh/vcard_import2
compare both email and name before skipping vcard import
2024-09-12 15:09:41 +02:00
Aleksander Machniak
e36dd3a500 Fix PHP warning (#9611) 2024-09-07 08:52:52 +02:00
Aleksander Machniak
7371c815d1 Fix displaying an authorization error message (if error_description is empty) 2024-09-04 15:30:25 +02:00
PhilW
9e5a18e390 compare both email and name before skipping vcard import 2024-08-25 11:23:29 +01:00
Aleksander Machniak
ae1d028b89 Silence the new phpstan error 2024-08-21 11:11:33 +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
7b68ad13c2 Fix bug where "with attachment" filter could fail on some fts engines (#9514) 2024-07-21 13:54:56 +02:00
Pablo Zmdl
8f9f1f12cd Filter "real" attachments by being referenced (#9472)
* Filter "real" attachments by being referenced

This changes the way in which attachments are determined to be shown as
such ("standalone"), or not ("inline").
In theory this should be determined by their Content-Disposition, but in
reality this often doesn't work.
Now we check if the Content-ID or Content-Location of the attachment is
actually being used in other parts of the message. If not, the
attachment is considered to be "standalone".

* Consider all mime-parts to check if message is empty

Previously only `parts` and `body` were checked, so mime-parts that were
classified into `attachments` and `inline_parts` didn't count – thus
messages that contained only those parts were shown blank.
2024-07-21 13:12:57 +02:00
Aleksander Machniak
8653e4726a Make phpstan happy 2024-07-17 20:51:21 +02:00
Aleksander Machniak
a8218b1eeb Fix bug where some messages could get malformed in an import from a MBOX file (#9510) 2024-07-17 20:34:55 +02:00
Pablo Zmdl
3c7a28f657 Shortcut to authorize current domain for Mailvelope (#9500)
This facilitates using Mailvelope (properly, i.e. with API-access) a
lot, because people don't have to manually add their domain into
Mailvelope's options but just click a button.
2024-07-08 18:39:38 +02:00
Michael Voříšek
6a5f9ee7ce Add override method attributes (#9272) 2024-06-02 15:57:56 +02:00
Philip Weir
31a19aa0a7 Contacts: add more gender options (#9430)
* contacts: add more gender options
* add label for other gender
2024-06-01 09:27:30 +02:00
Aleksander Machniak
9ca8aa6680 Fix cross-site scripting (XSS) vulnerability in handling list columns from user preferences
Reported by Huy Nguyễn Phạm Nhật.
2024-05-19 10:15:30 +02:00
Aleksander Machniak
cfd108399e Simplify use of rcube::raise_error() 2024-05-17 15:43:17 +02:00
Philip Weir
0c0f9fe8cf Add skin info to about dialog (#9441) 2024-05-16 16:53:27 +02:00
Michael Voříšek
a30e0ad438 Infer file/line location in rcube::raise_error() from backtrace (#9422)
* \n\s+'file' => __FILE__,

* \n\s+'line' => __LINE__,

* 'line' => __LINE__, 'file' => __FILE__,

* 'file' => __FILE__, 'line' => __LINE__,

* rest

* more

* improve cs

* more cs

* revert rcube_utils::preg_error changes

* impl file/line from backtrace

* Revert "revert rcube_utils::preg_error changes"
2024-04-21 11:48:35 +02:00
Aleksander Machniak
ff59ade31a Get rid of phpstan/phpstan-strict-rules 2024-04-21 11:33:51 +02:00
Aleksander Machniak
c7af820d3e Use draft settings (like DSN) on "Edit as new" (#9349) 2024-04-14 10:11:12 +02:00
Michael Voříšek
1e360999b2 Use composer autoloader for bundled plugins testing (#9412)
* use fixed "roundcube/plugin-installer"

* Use composer autoloader for plugins testing

* cherrypick remaining from 9241 related with testing

* minor legacy autoload improvements
2024-04-11 18:28:46 +02:00
Aleksander Machniak
e086c2c97c Code improvements 2024-04-07 09:20:52 +02:00