Commit Graph

193 Commits

Author SHA1 Message Date
Aleksander Machniak
9f4818fc29 Remove old @since params 2025-03-30 10:58:09 +02: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
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
120c640c3a IMAP: Partial support for ANNOTATE-EXPERIMENT-1 extension (RFC 5257) 2024-12-11 14:56:49 +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
Aleksander Machniak
4ca198440a Fix PHP deprecation warnings (#9616) 2024-09-07 08:47:08 +02:00
Aleksander Machniak
a290392231 CS fixes 2024-08-08 14:57:00 +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
23fe16d520 Fix return value of handlePartBody() when using file handle 2024-07-08 18:34:00 +02:00
Aleksander Machniak
613629f83a Fix decoding mail parts with multiple base64-encoded text blocks (#9290) 2024-06-16 12:47:56 +02:00
Edouard Vanbelle
f71ae0298a oauth: select auth scheme (XOAUTH2 vs OAUTHBEARER) (#9289) 2024-04-21 11:52:05 +02:00
Aleksander Machniak
15659d7815 PHPCS: phpdoc_annotation_without_dot=true (default) 2024-04-14 10:32:35 +02:00
Aleksander Machniak
8133acba68 Code improvements (and fixes to recent commits) 2024-03-24 12:06:39 +01:00
Aleksander Machniak
02e49ed236 Fix phpstan errors 2024-03-10 18:37:52 +01:00
Aleksander Machniak
91816ca187 Fix phpstan errors 2024-02-10 09:23:12 +01:00
Michael Voříšek
332c165d28 Fix some basic JS CS (#9328)
* fix "nonblock-statement-body-position" (fixed already)

* fix "comma-dangle"

* fix "no-regex-spaces"

* fix "new-parens"

* fix "object-curly-newline"

* fix "object-property-newline"

* fix "spaced-comment" semimanually

* fix "no-constant-condition" manually

* fix "unicorn/no-hex-escape"

* fix "unicorn/escape-case"

* fix "quote-props"

* fix "no-whitespace-before-property" - fix bug/typo

* fix "unicorn/empty-brace-spaces"

* fix "keyword-spacing"

* fix "dot-notation"

* fix "no-return-assign" manually

* fix "padding-line-between-statements"

* fix "key-spacing"

* fix "no-else-return" semimanually

* fix some "no-undef"

* fix case cs

* Revert "fix "padding-line-between-statements""

* improve switch/case format I.

* improve switch/case format II.

regex: (^ *(break|return).*)\n *(\n)

* fix safe "eqeqeq"

* fix "radix"

* fix v3.49.0 CS (static providers)

* fix "string_implicit_backslashes" in php files

* fix comments align

* fix test static providers

* fix stan

* disable "final_internal_class" rule
2024-02-06 08:28:19 +01:00
Michael Voříšek
d18406a8bd Fix binary operator spaces CS (#9330)
* align_single_space_minimal for assign

* assign operators grouping is not supported by PHP CS Fixer

* binary_operator_spaces = single_space

* fix anonymous function on single line

* align comments manually
2024-02-02 07:53:34 +01:00
Aleksander Machniak
9e5c019936 Fix some phpstan errors 2024-01-28 14:44:28 +01:00
Aleksander Machniak
34500a4fa4 Fix "missing return statement" phpstan errors 2024-01-27 19:07:52 +01:00
Michael Voříšek
ff2d721680 Fix more CS whitespace (#9318)
* fix "no_useless_else" manually

* fix some "blank_line_before_statement"

* two manual changes

* Revert "fix some "blank_line_before_statement""

This reverts commit 2cc857c00e.

* fix some "blank_line_before_statement" using patched fixer (after "}" only)

* fix continue/break too
2024-01-25 19:17:29 +01:00
Michael Voříšek
4ee79b9e84 fix "explicit_string_variable" (#9315) 2024-01-22 08:05:59 +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
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
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
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
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
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
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
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
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
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
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
Aleksander Machniak
a2da5278df Fix duplicated Inbox folder on IMAP servers that do not use Inbox folder with all capital letters (#9166) 2023-10-18 19:36:43 +02:00
Aleksander Machniak
048e1e8e9b Fix PHP8 warnings 2023-08-20 08:13:35 +02:00
Aleksander Machniak
35d7b1fa5c Relax uuencode header regexp 2023-08-13 13:15:24 +02:00
Aleksander Machniak
64eb733c39 Fix handling of an error case in Cyrus IMAP BINARY FETCH, fallback to non-binary FETCH (#9097) 2023-08-13 12:27:58 +02:00
Aleksander Machniak
57a285d15e Fix regression in decoding mail parts FETCHed from IMAP (#9096) 2023-08-13 10:51:47 +02:00
Aleksander Machniak
dfa18ab9d1 Fix handling of mail parts that are encoded with x-uuencode (#9096) 2023-08-12 09:53:53 +02:00
Aleksander Machniak
3b6c06f697 Fix wrong order of a multi-folder search result when sorting by size (#9065) 2023-07-15 08:58:56 +02:00
Aleksander Machniak
a55061dfae Fix PHP error when imap_conn_options.proxy_protocol is not an array 2023-06-02 14:46:01 +02:00
Aleksander Machniak
3648caa0d1 Optimize fetchPartBody() for huge results w/o formatting and decoding 2023-05-08 10:15:48 +02:00