summaryrefslogtreecommitdiff
path: root/ext/imap
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug 76618George Peter Banyard2020-10-221-1/+1
| | | | Apply patch which was attached to the bug in July 2018
* Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-202-9/+35
|\ | | | | | | | | * PHP-7.3: Fix #80242: imap_mail_compose() segfaults for multipart with rfc822
| * Fix #80242: imap_mail_compose() segfaults for multipart with rfc822Christoph M. Becker2020-10-202-9/+35
| | | | | | | | | | | | | | | | | | libc-client expects `TYPEMESSAGE` with an explicit subtype of `RFC822` to have a `nested.msg` (otherwise there will be a segfault during free), but not to have any `contents.text.data` (this will leak otherwise). Closes GH-6345.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-201-1/+1
|\ \ | |/ | | | | | | * PHP-7.3: Add char* cast to avoid compiler warnings
| * Add char* cast to avoid compiler warningsChristoph M. Becker2020-10-201-1/+1
| | | | | | | | | | | | | | | | In libc-client 2007f `data` is declared as `unsigned char *`; there may be variants which declare it as `void *`, but in any case picky compilers may warn about a pointer type mismatch in the conditional (and error with `-W-error`), so we're adding a `char *` cast for good measure.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-202-9/+47
|\ \ | |/ | | | | | | * PHP-7.3: Properly fix #80220
| * Properly fix #80220Christoph M. Becker2020-10-202-9/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original fix for that bug[1] broke the formerly working composition of message/rfc822 messages, which results in a segfault when freeing the message body now. While `imap_mail_compose()` does not really support composition of meaningful message/rfc822 messages (although libc-client appears to support that), some code may still use this to compose partial messages, and using string manipulation to create the final message. The point is that libc-client expects `TYPEMESSAGE` with an explicit subtype of `RFC822` to have a `nested.msg` (otherwise there will be a segfault during free), but not to have any `contents.text.data` (this will leak otherwise). [1] <http://git.php.net/?p=php-src.git;a=commit;h=0d022ddf03c5fabaaa22e486d1e4a367ed9170a7> Closes GH-6343.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-151-2/+2
|\ \ | |/ | | | | | | * PHP-7.3: Fix broken fix for #80239
| * Fix broken fix for #80239Christoph M. Becker2020-10-151-2/+2
| | | | | | | | No idea why that `git am` failed that badly.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-152-0/+13
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80239: imap_rfc822_write_address() leaks memory
| * Fix #80239: imap_rfc822_write_address() leaks memoryChristoph M. Becker2020-10-152-0/+13
| | | | | | | | We have to free the address when we're finished with it.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-132-0/+26
|\ \ | |/ | | | | | | * PHP-7.3: Fix #64076: imap_sort() does not return FALSE on failure
| * Fix #64076: imap_sort() does not return FALSE on failureChristoph M. Becker2020-10-132-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | If unsupported `$search_criteria` are passed to `imap_sort()`, the function returns an empty array, but there is also an error on the libc-client error stack ("Unknown search criterion: UNSUPPORTED (errflg=2)"). If, on the other hand, unsupported `$criteria` or unsupported `$flags` are passed, the function returns `false`. We solve this inconsistency by returning `false` for unsupported `$search_criteria` as well. Closes GH-6332.
* | Ignore memory leaks reported for some libc-client functionsChristoph M. Becker2020-10-131-0/+6
| | | | | | | | | | | | | | | | At least on Windows, some static variables are lazily initialized during `mail_open()` and `mail_lsub()`, which are reported as memory leaks. We suppress these false positives. Closes GH-6326.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-122-0/+14
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80226: imap_sort() leaks sortpgm memory
| * Fix #80226: imap_sort() leaks sortpgm memoryChristoph M. Becker2020-10-122-0/+14
| | | | | | | | | | | | We need to free what we have allocated. Closes GH-6327.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-122-9/+35
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80216: imap_mail_compose() does not validate types/encodings
| * Fix #80216: imap_mail_compose() does not validate types/encodingsChristoph M. Becker2020-10-122-9/+35
| | | | | | | | | | | | | | We need to check whether the given `type`s and `encoding`s are within bounds to avoid segfaults and out-of-bound reads. Closes GH-6323.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-122-2/+19
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80223: imap_mail_compose() leaks envelope on malformed bodies
| * Fix #80223: imap_mail_compose() leaks envelope on malformed bodiesChristoph M. Becker2020-10-122-2/+19
| | | | | | | | | | | | We have to clean up even on failure. Closes GH-6322.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-121-1/+1
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80220: imap_mail_compose() may leak memory
| * Fix #80220: imap_mail_compose() may leak memoryChristoph M. Becker2020-10-121-1/+1
| | | | | | | | | | | | | | | | | | Unless `topbod` is of `TYPEMULTIPART`, `mail_free_body()` does not free the `nested.part`; while we could do this ourselves, instead we just ignore additional bodies in this case, i.e. we don't attach them in the first place. Closes GH-6321.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-102-1/+77
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80215: imap_mail_compose() may modify by-val parameters
| * Fix #80215: imap_mail_compose() may modify by-val parametersChristoph M. Becker2020-10-102-1/+77
| | | | | | | | | | | | | | | | | | We separate the input arrays and all sub-arrays to avoid modification of the passed parameters. This should be rewritten to use `zend_string`s for the "master" branch. Closes GH-6316.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-102-0/+25
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80213: imap_mail_compose() segfaults on certain $bodies
| * Fix #80213: imap_mail_compose() segfaults on certain $bodiesChristoph M. Becker2020-10-102-0/+25
| | | | | | | | | | | | | | We have to cater to non-associative arrays where the key may be `NULL`; we just skip these elements. Closes GH-6315.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-081-1/+1
|\ \ | |/ | | | | | | * PHP-7.3: Fix too strict imap test expectations
| * Fix too strict imap test expectationsChristoph M. Becker2020-10-082-2/+2
| |
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-09-211-1/+2
|\ \ | |/ | | | | | | * PHP-7.3: Fix memory leak in php_imap_mutf7()
| * Fix memory leak in php_imap_mutf7()Christoph M. Becker2020-09-211-1/+2
| | | | | | | | We have to free the string which has been allocated by libc-client.
* | Fix bug #79112: IMAP can't find OpenSSL during configureNikita Popov2020-01-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the check of PHP_OPENSSL inside SETUP_OPENSSL. It's the responsibility of the caller to determine whether they want to enable openssl or not. This makes SSL detection in IMAP work, which uses a different option. Additionally also clarify that --with-openssl-dir cannot actually be used to specify an OpenSSL directory -- these options just serve as a way to enable OpenSSL in extensions without also enabling the OpenSSL extension. They need to be renamed to something clearer in master. Closes GH-5091.
* | Remove unused definesPeter Kokot2019-07-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Used in php-src the past and today removed and not used anymore: - HAVE_CURL_EASY_STRERROR - HAVE_CURL_MULTI_STRERROR - HAVE_NEW_MIME2TEXT - HAVE_MBSTR_CN - HAVE_MBSTR_JA - HAVE_MBSTR_KR - HAVE_MBSTR_RU - HAVE_MBSTR_TW Part of oniguruma which doesn't use these anymore - NOT_RUBY - HAVE_STDARG_PROTOTYPES Unused: - HAVE_MPIR Closes GH-4427
* | Allow exceptions in __toString()Nikita Popov2019-06-051-3/+9
| | | | | | | | | | | | | | | | | | | | RFC: https://wiki.php.net/rfc/tostring_exceptions And convert some object to string conversion related recoverable fatal errors into Error exceptions. Improve exception safety of internal code performing string conversions.
* | [ci skip] Migrate tests READMEs to MarkdownPeter Kokot2019-05-123-41/+49
| |
* | Normalize comments in *nix build system m4 filesPeter Kokot2019-05-121-2/+0
| | | | | | | | | | | | | | | | | | Normalization include: - Use dnl for everything that can be ommitted when configure is built in favor of the shell comment character # which is visible in the output. - Line length normalized to 80 columns - Dots for most of the one line sentences - Macro definitions include similar pattern header comments now
* | Remove PHP_SETUP_KERBEROS m4 macroPeter Kokot2019-04-201-4/+6
| | | | | | | | | | | | With recent transition to pkg-config/pkgconf this macro has been now a simple wrapper for PKG_CHECK_MODULES and PHP_EVAL_INCLINE so it's better to omit it altogether and use these two in the *.m4 code directly.
* | Use PKG_CHECK_MODULES to detect the kerberos librariesHugh McMaster2019-04-201-7/+2
| |
* | Use release for regex in imapNikita Popov2019-04-101-2/+2
| | | | | | | | The regex may be used as a cache key now.
* | Accept zend_string* instead of char* in php_pcre_match_impl()Nikita Popov2019-03-181-1/+1
| |
* | Replace dirname(__FILE__) by __DIR__ in testsFabien Villepinte2019-03-1552-109/+109
| |
* | Switch to use ZTS cacheDmitry Stogov2019-03-124-6/+13
| |
* | Add AS_HELP_STRING to *nix build configure optionsPeter Kokot2019-03-071-10/+18
| | | | | | | | | | | | | | | | The Autoconf's default AS_HELP_STRING macro can properly format help strings [1] so watching out if columns are aligned manually is not anymore. [1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Pretty-Help-Strings
* | Remove zpp variation testsNikita Popov2019-02-059-2068/+0
| |
* | Remove local variablesPeter Kokot2019-02-031-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
* | Remove yearly range from copyright noticeZeev Suraski2019-01-302-2/+2
| |
* | Removed useless zval_ptr_dtor(return_value)Dmitry Stogov2018-12-261-2/+2
| |
* | Merge branch 'PHP-7.3'Stanislav Malyshev2018-12-032-1/+15
|\ \ | |/ | | | | | | | | | | * PHP-7.3: Fix bug #77143 - add more checks to buffer reads Fix bug #77143 - add more checks to buffer reads Fix #77020: null pointer dereference in imap_mail
| * Merge branch 'PHP-7.2' into PHP-7.3Stanislav Malyshev2018-12-032-1/+15
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-7.2: Fix bug #77143 - add more checks to buffer reads Fix bug #77143 - add more checks to buffer reads Fix #77020: null pointer dereference in imap_mail Don't need interactive progress on git clones in Travis Fix TSRM signature - php_stream_stat macro has it's own TSRM Regenerate certificates for openssl tests Improve test for bug77022
| | * Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2018-12-032-1/+15
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | * PHP-7.1: Fix bug #77143 - add more checks to buffer reads Fix bug #77143 - add more checks to buffer reads Fix #77020: null pointer dereference in imap_mail
| | | * Merge branch 'PHP-7.0' into PHP-7.1Stanislav Malyshev2018-12-032-1/+15
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-7.0: Fix bug #77143 - add more checks to buffer reads Fix bug #77143 - add more checks to buffer reads Fix #77020: null pointer dereference in imap_mail