Commit Graph

8078 Commits

Author SHA1 Message Date
Aleksander Machniak
cca23b24ce Small phpdoc cleanup 2024-01-21 15:50:33 +01:00
Aleksander Machniak
ab1ecf7eae Fix rcube_ldap parse error regression 2024-01-20 19:29:52 +01:00
Aleksander Machniak
908321d71c Fix PHP8 warnings (#9306) 2024-01-20 10:44:41 +01:00
Aleksander Machniak
cd2f2f8961 Fix PHP8 warnings (#9306) 2024-01-20 10:44:28 +01:00
Michael Voříšek
b1a0067e5d Fix more CS (#9303)
* fix "class_attributes_separation"

* fix "ternary_to_null_coalescing"

* fix "no_extra_blank_lines"

* fix "php_unit_data_provider_name" - use snake_case

* fix remaining "function data_" manually

* move "php_unit_test_case_static_method_calls" to a better place in cnf

* fix 3.47.1 CS
2024-01-20 08:22:32 +01:00
Aleksander Machniak
5761336253 Cleanup some uses of rcube_result_set, avoid calling ->next() 2024-01-17 19:27:09 +01:00
Aleksander Machniak
357cc90001 Code cleanup 2024-01-11 10:44:11 +01:00
Aleksander Machniak
47af93519d Correctly return FALSE when FETCH fails 2024-01-10 14:07:04 +01:00
Aleksander Machniak
797bfe47fc Clear IMAP capabilities on connection close
Fixes the state on connection close, so when you reconnect there's use
of old capabiltieis. This fixes the following scenario:
- user connects to imap and authenticates using LOGIN command,
  after this capabilities may contain LOGINDISABLED
- user disconnects
- in the same request user connects again and authenticates as before
  but it can't because of the wrong LOGINDISABLED state.
2024-01-08 13:57:41 +01:00
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