Commit Graph

8069 Commits

Author SHA1 Message Date
Edouard Vanbelle
77aca18bd5 Refactorize request_access_token() returning a simple boolean (#9299) 2024-01-06 08:34:12 +01:00
Michael Voříšek
a797873ef5 Fix "phpdoc_no_empty_return" CS (#9302)
* replace void with never return type

* replace "return void" phpdoc with native type in tests

* replace "return void" phpdoc with native type in rcube_addressbook

* replace "return void" phpdoc with native type in rcmail_oauth

* fix remaining
2024-01-05 19:03:58 +01:00
Aleksander Machniak
415381e6a7 Support (DEPTH 0) in GETMETADATA command 2024-01-05 14:43:28 +01:00
Aleksander Machniak
652f2fc410 Fix IMAP GETMETADATA command with options - RFC5464 2024-01-05 14:37:29 +01:00
Michael Voříšek
6a53a1d853 Fix CS (whitespace, visibility) (#9297)
* Fix "method_argument_space"

* Fix "control_structure_continuation_position"

* Fix "new_with_parentheses"

* Fix "blank_line_before_statement"

* Fix "visibility_required"

* Fix some "array_indentation"

* Fix some "array_indentation" - unify all "rcube::raise_error" calls

* rm useless eslint ignores and add rules counts

* sort eslint ignores

* fix eslint ignores grammar

* Revert "Fix "blank_line_before_statement""

* fix CS 3.46.0
2024-01-04 14:26:35 +01:00
Michael Voříšek
86eda9f7ed Fix "increment_style" CS (#9296)
* Fix "increment_style" CS

* use "post" increment style
2024-01-01 12:23:21 +01:00
Aleksander Machniak
f5091423c6 2023 -> 2024
[skip ci]
2024-01-01 10:38:21 +01:00
Aleksander Machniak
7a07ce57f5 Test but do not output (while testing) some OAuth errors 2024-01-01 10:36:48 +01:00
Michael Voříšek
2643be3eaa Fix single quotes CS (#9283)
* Fix "single_quote"

* fix "escape_implicit_backslashes"

* fix typo from f363481c

* fix single quotes in JS

* fix some minor JS CS

* fix CS v3.45.0
2023-12-31 16:36:55 +01:00
Edouard Vanbelle
ffa298d41c OAuth: feat: use OIDC claims on user creation (#9286)
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr>
2023-12-29 19:10:37 +01:00
Edouard Vanbelle
14f092c7af OAuth: security: add support of nonce (#9288)
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr>
2023-12-29 19:05:14 +01:00
Edouard Vanbelle
c5a84f7d73 fix: correct language_prop() to support language like es_419 from user agent (#9292) 2023-12-29 18:48:50 +01:00
Edouard Vanbelle
9c769c288b OAuth: Add support for PKCE (#9287)
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr>
2023-12-27 10:57:42 +01:00
Edouard Vanbelle
320bdefb57 OAuth: code refactorization (#9274)
* OAuth: Refact.: migrate login flow into hooks (more evolutive code and less dependency to core code)
 * OAuth: Fix: logger prefix (include prefix during login phase)

Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr>
2023-12-26 09:07:50 +01:00
Edouard Vanbelle
0e4c35797d core: correct coding style warning (#9284)
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr>
2023-12-26 09:04:54 +01:00
Aleksander Machniak
90555d228e Define missing functions in rcube_storage 2023-12-23 20:29:44 +01:00
kc
504cdb89a5 Fix OAuth for Kinde && support smtp w/o authentication (#9244, #9183)
Co-authored-by: kc <kc@white.colors.lan>
2023-12-23 17:31:31 +01:00
Michael Voříšek
740267fac0 Lint JS files using eslint and normalize JS indentation (#9280)
* Lint JS using eslint

* Fix "comma-spacing"

* Fix "semi"

* Fix indent to unified 4 spaces as for PHP

* ignore symlinked public_html/* files
2023-12-23 17:08:32 +01:00
Michael Voříšek
3e458fa5fd Refer native constants unambiguously (#9275)
* Fix "native_constant_invocation" CS

* "self_accessor" was fixed in 9269 PR

* "php_unit_strict" was fixed in 9268 PR
2023-12-23 17:02:19 +01:00
Michael Voříšek
a9167a0d2f Fix "static_lambda" CS (#9276) 2023-12-20 20:01:00 +01:00
Aleksander Machniak
a689d4cda0 Fix potential "undefined index" warning 2023-12-19 10:44:47 +01:00
Aleksander Machniak
9f5cc3e9fa Accept null as input to parse_bytes() 2023-12-18 08:04:55 +01:00
Michael Voříšek
aa3803eaee Return integer|false from parse_bytes() function (#9271)
* Return integer from parse_bytes() function

* fix rebase

* Return false from parse_bytes() function if input is invalid

* allow null until strongly typed
2023-12-18 07:51:07 +01:00
Michael Voříšek
28c778b7a0 Modernize more CS III (#9270)
* fix "single_trait_insert_per_statement"

* fix "empty_loop_condition"

* fix "backtick_to_shell_exec"

* fix "phpdoc_to_comment"

* fix "no_empty_statement"

* fix "heredoc_to_nowdoc"

* fix "class_reference_name_casing"

* fix "align_multiline_comment"

* fix "heredoc_indentation"

* fix "constant_case"

* fix "single_line_comment_style"

* fix "no_null_property_initialization"

* fix "standardize_increment"

* fix "no_unneeded_control_parentheses"

* fix missing NL after "<?php"

* fix php in *.sh files too

* fix trailing spaces from all text files

* fix "explicit_indirect_variable"

* Revert "fix "align_multiline_comment""

This reverts commit 42e584f8e3.

* fix "align_multiline_comment" properly

* Revert "fix trailing spaces from all text files" - diff files only

* Revert "Revert "fix trailing spaces from all text files" - diff files only"

This reverts commit 2101c2a3a3.

* rm useless "setup-php" config
2023-12-18 07:46:51 +01:00
Aleksander Machniak
9729ff9418 Fix warning on parse_bytes(null) call 2023-12-17 14:18:55 +01:00
Michael Voříšek
e7d7e62146 Modernize more basic CS II (#9254)
* fix "integer_literal_case"

* fix "phpdoc_separation"

* fix "phpdoc_var_without_name"

* fix "operator_linebreak"

* fix "no_alias_language_construct_call"

* fix "list_syntax"

* fix "concat_space"

* fix "array_syntax"

* fix "binary_operator_spaces"

* fix "binary_operator_spaces" relaxed

* fix "phpdoc_types_order"

* fix "phpdoc_trim"

* fix "native_type_declaration_casing"

* fix "method_chaining_indentation"

* fix "phpdoc_no_package"

* fix "elseif"

* fix PHP CS Fixer config itself too

* fix "native_type_declaration_casing"
2023-12-17 13:14:45 +01:00
Aleksander Machniak
622cc8d555 CS fixes 2023-12-17 11:11:00 +01:00
Aleksander Machniak
f363481ca1 CS improvements, fix unwanted output in tests 2023-12-17 10:08:21 +01:00
Michael Voříšek
ca8b17d191 Modernize more basic CS (#9258)
* fix "yoda_style"

* fix "is_null"

* rm useless rule ignores

* add full "PhpCsFixer:risky" ruleset

* fix "implode_call"

* fix "no_alias_functions"

* fix "array_push"

* fix "long_to_shorthand_operator"

* fix "ternary_to_elvis_operator"

* fix "logical_operators"

* fix "fopen_flags"

* rename "returns" phpdoc tags to "return"

* fix "php_unit_construct"

* fix "function_to_constant"

* fix "php_unit_data_provider_return_type"

* fix "php_unit_set_up_tear_down_visibility"

* some safe "string_length_to_empty"

* fix "phpdoc_align"

* fix "phpdoc_no_alias_tag"

* fix "trailing_comma_in_multiline"

---------

Co-authored-by: Aleksander Machniak <alec@alec.pl>
2023-12-17 09:51:11 +01:00
Michael Voříšek
93946f4ca7 Fix "self_accessor" PHP CS Fixer rule (#9269) 2023-12-17 09:44:43 +01:00
Edouard Vanbelle
588a879107 OAuth improvements (#9217)
- OAuth: Add `oauth_config_uri` - support OAuth/OpenIDC discovery (#8201)
- OAuth: Add `oauth_logout_uri` - allow invalidating the OAUTH-Session on logout (#8057)
- OAuth: Support for OpenID Connect RP-Initiated Logout (#9109)
- OAuth: Add support of OAUTHBEARER (#9217)
- OAuth: Add `oauth_debug` option (#9217)
- OAuth: Fix: missing config `oauth_provider_name` in rcmail_oauth's constructor (#9217)
- OAuth: Refactor: move display to the rcmail_oauth class and use `loginform_content` hook (#9217)

Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr>
Co-authored-by: Aleksander Machniak <alec@alec.pl>
2023-12-17 09:13:07 +01:00
Michael Voříšek
1aef271290 Fix class/method names case typos (#9261)
* fix Mail_Mime case

* fix StdErrMock case

* fix method calls case
2023-12-16 15:39:59 +01:00
Michael Voříšek
a8707ae220 Fix and assert basic CS using CI (#9246)
* Assert CS using CI

* fix "single_blank_line_at_eof"

* fix "statement_indentation"

* fix "switch_case_semicolon_to_colon"

* fix "control_structure_braces"

* fix "statement_indentation"

* fix "no_whitespace_in_blank_line"

* fix "no_trailing_whitespace_in_comment"

* fix "no_trailing_whitespace"

* fix "single_space_around_construct"

* fix "spaces_inside_parentheses"

* fix "ternary_operator_spaces"

* fix "trim_array_spaces"

* fix "whitespace_after_comma_in_array"

* fix "cast_spaces"

* fix "unary_operator_spaces"

* fix "no_trailing_comma_in_singleline"

* fix "ordered_imports"

* fix "no_unused_imports"

* Check composer.json format

* fix CI job name

* file header comments are not phpdoc

* fix "phpdoc_indent"

* fix "braces_position"

* fix "phpdoc_types"

* fix "no_blank_lines_after_class_opening"

* fix "no_multiple_statements_per_line"

* fix "multiline_comment_opening_closing"

* fix "single_line_empty_body"

* fix "non_printable_character"

* fix "phpdoc_trim_consecutive_blank_line_separation"

* fix "include"

* fix "no_mixed_echo_print"

---------

Co-authored-by: Aleksander Machniak <alec@alec.pl>
2023-12-16 15:37:43 +01:00
Michael Voříšek
a2b5bb8f05 Fix rcube::decrypt() (#9264)
* do not skip test_encrypt_and_decrypt test
* Fix rcube::decrypt()
2023-12-13 08:27:39 +01:00
Aleksander Machniak
164d486594 Fix PHP8 warning 2023-12-12 12:16:37 +01:00
TEXION TECH
8d748f4c22 Update labels.inc (#9232)
Update message
2023-12-10 16:23:08 +01:00
Michael Voříšek
5425d1a84a Fix invalid phpdocs (#9252)
* fix missing return type in phpdoc
* fix "phpdoc_scalar"
* Fix phpdoc variable names typos
* fix wrong phpdoc tags
2023-12-10 16:20:50 +01:00
Michael Voříšek
a5bb3b2b08 Fix rcube_imap::sort_folder_comparator() warning on Windows (#9253)
* Fix rcube_imap::sort_folder_comparator() for Windows
* fix more robustly
2023-12-10 15:50:55 +01:00
Michael Voříšek
f9a9ec49b0 Fix format_date with "x" format for Windows (#9250)
* Fix format_date with "x" format for Windows
* set default Intl locale and use it
* harden default test config
2023-12-10 15:30:22 +01:00
Pablo Zmdl
f59738b133 Initialize Mailvelope earlier (#9243)
This helps fresh users to have a site-specific keyring directly after
the first login (see below). And it hurts no one else because the heavy
Mailvelope lifting works with Promises, which don't block the main code
flow.

If Mailvelope's main keyring is not to be used (configurable in
Roundcubemail's settings), users with a fresh setup previously had only
Mailvelope's main keyring after a login to Roundcubemail. Only after
opening an encrypted message, or going to the compose page, they got a
site-specific keyring. This lead to some users being confused where the
keys went they created after logging in.
2023-12-10 12:32:16 +01:00
Michael Voříšek
13f68fa06f Fix explode_quoted_string for multibyte delimiter (#9248) 2023-12-10 10:15:52 +01:00
Aleksander Machniak
104a992e35 Fix PHP8 warnings (#9242) 2023-12-09 08:47:35 +01:00
Aleksander Machniak
4a780ed741 Fix PHP8 warning (#9238) 2023-12-04 20:56:01 +01:00
cgzones
12dea728f8 Ignore mbstring.func_overload in PHP 8 (#9227)
The feature `mbstring.func_overload` is deprecated since PHP version 7.2 and removed since 8.0.0
(see https://www.php.net/manual/en/mbstring.overload.php).

Skip trying to set it for PHP version 8, e.g. to avoid failures with the sloppy comparison hardening of Snuffleupagus
(https://snuffleupagus.readthedocs.io/config.html#prevent-sloppy-comparison):
2023-12-03 13:11:22 +01:00
Aleksander Machniak
17eec91deb Fix PHP8 warning (#9235)
And added tests for utils/modcss action
2023-12-03 10:40:57 +01:00
Aleksander Machniak
b19689e4f1 Update to TinyMCE 5.10.9 security release (#9228) 2023-11-28 20:25:52 +01:00
Aleksander Machniak
9f044f004c Don't log anything if per_user_logging=true and user is not authenticated yet 2023-11-27 13:12:01 +01:00
Aleksander Machniak
2bfd4f1ef5 Fix page jump menu flickering on click (#9196) 2023-11-26 11:27:33 +01:00
Philip Weir
89ce052242 Unify HTML editor font settings (#9177) 2023-11-25 14:23:17 +01:00
Aleksander Machniak
4ed6f65f94 Rename DNS option attr_emulate_prepares to emulate_prepares, update changelog
[skip ci]
2023-11-19 10:41:52 +01:00