2248 Commits

Author SHA1 Message Date
28848ef589 Need older annotations for PHP 5.5 2022-12-06 15:46:09 +01:00
f1b2d3d9d2 Merge branch 'master' into php-8.2 2022-12-06 15:37:34 +01:00
a15a02369f Bump dev deps 2022-12-06 15:37:20 +01:00
26e7dec83d Add ext-openssl suggestion 2022-12-06 15:36:12 +01:00
a3ae6b622f Support final PHP 8.2, add PHP 8.3 as experimental 2022-12-06 15:35:05 +01:00
80fc8686fc 6.7 v6.7 2022-12-05 11:56:35 +01:00
ac9eed5ee6 Changelog 2022-12-05 11:55:23 +01:00
ea03f4a60d Try to resolve PHP 5.5 libsqlite issue 2022-12-05 11:51:29 +01:00
a25a4dc3e3 Run PHP 5.5 on older OS 2022-12-05 11:33:21 +01:00
3a3f39fa70 Skip qmail 2022-12-05 11:27:54 +01:00
d2e9d097c1 Be noisy 2022-12-05 11:25:20 +01:00
0447bfc3ae Use systemd to stop postfix 2022-12-05 10:55:43 +01:00
7a6ab223d8 Ignore failures when stopping postfix 2022-12-05 10:39:42 +01:00
5419bf1e4b Wait longer between retries 2022-12-05 10:36:27 +01:00
7418a75f7e Run tests on Ubuntu 22.04 2022-12-05 10:29:29 +01:00
a269e44376 Changelog 2022-12-05 10:03:05 +01:00
f34724c468 CS 2022-12-05 10:02:50 +01:00
c033268049 Break out setting MIME boundaries into a protected method, fixes #2511 2022-12-05 10:01:24 +01:00
12e5c0c6f6 Drop MIME preamble to match common email client behaviour, see #1352 2022-12-05 09:24:58 +01:00
3228f11fb4 Don't strip non-break trailing whitespace during simple DKIM canonicalisation, fixes #2837 2022-12-05 08:37:57 +01:00
0064f26786 Merge pull request #2830 from dotdash/dont_trash_error_details_in_keepalive
Don't let RSET errors overwrite the original error
2022-11-22 10:54:08 +01:00
4588e44e9b Don't let RSET errors overwrite the original error
On keep-alive connections, we issue an RSET command in case of errors.
But that RSET command may fail, which causes the error information from
the original error to be replaced by the error information from the
RSET error, which isn't helpful in diagnosing the actual cause. To avoid
this problem, we need to extract the error information first, and only
issue the RSET command afterwards.
2022-11-22 10:08:10 +01:00
5f61e3dae7 Cast ini value to avoid coercion, fixes #2827 2022-11-18 10:17:08 +01:00
1ca85b6116 Bump phpcs version to avoid dev issues on PHP 8.1 2022-11-18 10:16:31 +01:00
e7bd0d1f6d Add return type annotation 2022-11-14 10:58:16 +01:00
0b37477f02 Update Stack Overflow link 2022-11-08 08:48:31 +01:00
f8d9b332bf Merge pull request #2821 from jrfnl/feature/ghactions-cache-busting
GH Actions: bust the cache semi-regularly
2022-11-04 23:33:13 +01:00
52f7e741ec GH Actions: bust the cache semi-regularly
Caches used in GH Actions do not get updated, they can only be replaced by a different cache with a different cache key.

Now the predefined Composer install action this repo is using already creates a pretty comprehensive cache key:

> `ramsey/composer-install` will auto-generate a cache key which is composed of
the following elements:
> * The OS image name, like `ubuntu-latest`.
> * The exact PHP version, like `8.1.11`.
> * The options passed via `composer-options`.
> * The dependency version setting as per `dependency-versions`.
> * The working directory as per `working-directory`.
> * A hash of the `composer.json` and/or `composer.lock` files.

This means that aside from other factors, the cache will always be busted when changes are made to the (committed) `composer.json` or the `composer.lock` file (if the latter exists in the repo).

For packages running on recent versions of PHP, it also means that the cache will automatically be busted once a month when a new PHP version comes out.

### The problem

For runs on older PHP versions which don't receive updates anymore, the cache will not be busted via new PHP version releases, so effectively, the cache will only be busted when a change is made to the `composer.json`/`composer.lock` file - which may not happen that frequently on low-traffic repos.

But... packages _in use_ on those older PHP versions - especially dependencies of declared dependencies - may still release new versions and those new versions will not exist in the cache and will need to be downloaded each time the action is run and over time the cache gets less and less relevant as more and more packages will need to be downloaded for each run.

### The solution

To combat this issue, a new `custom-cache-suffix` option has been added to the Composer install action in version 2.2.0.
This new option allows for providing some extra information to add to the cache key, which allows for busting the cache based on your own additional criteria.

This commit implements the use of this `custom-cache-suffix` option for all relevant workflows in this repo.

Refs:
* https://github.com/ramsey/composer-install/#custom-cache-suffix
* https://github.com/ramsey/composer-install/releases/tag/2.2.0
2022-11-04 20:30:01 +01:00
a5bc7ddba9 Merge pull request #2814 from czirkoszoltan/avoid-error-message-when-could-not-connect
Avoid POP3 client error message when TCP connection failed
2022-10-27 22:24:18 +02:00
c6e066d061 Fix bugs in POP3 test
runfakepopserver.sh expects fakepopserver.sh to be in the working
directory, therefore the tests in PopBeforeSmtpTest have to chdir()
to the test directory first.

The line in fakepopserver.sh echoing Bye needed -en arguments for
echo to process character escapes.
2022-10-26 20:18:42 +02:00
b4b493c8f3 Avoid POP3 client error message when TCP connection failed
The disconnect() method throws a TypeError when the TCP
connection cannot be created. Error and trace:

fgets(): Argument #1 ($stream) must be of type resource, bool given

phpmailer/phpmailer/src/POP3.php(372): fgets()
phpmailer/phpmailer/src/POP3.php(345): PHPMailer\PHPMailer\POP3->getResponse()
phpmailer/phpmailer/src/POP3.php(230): PHPMailer\PHPMailer\POP3->disconnect()
PHPMailer\PHPMailer\POP3->authorise()

Reproduce with:

include __DIR__ . "/POP3.php";
\PHPMailer\PHPMailer\POP3::popBeforeSmtp('doesnotexist', 110);
2022-10-26 18:41:16 +02:00
00b7f5162a Merge pull request #2798 from czirkoszoltan/add-newline-after-pop3-quit
Add line ending \n after POP3 quit command
2022-10-25 16:44:55 +02:00
b18c6e4b2a Merge pull request #2808 from glodzienski/master
Translating some spanish language keys.
2022-10-25 16:41:29 +02:00
a42b4e4906 Merge pull request #2804 from jrfnl/feature/ghactions-harden-cs-steps
GH Actions: harden the workflow against PHPCS ruleset errors
2022-10-25 16:37:41 +02:00
31c59466bd Merge pull request #2805 from PHPMailer/dependabot/github_actions/ossf/scorecard-action-2.0.6
GH Actions: Bump ossf/scorecard-action from 2.0.4 to 2.0.6
2022-10-25 16:37:07 +02:00
a48797717d Updating author doc 2022-10-24 23:11:15 -03:00
5902472c9e Translating some spanish language keys. 2022-10-24 23:08:18 -03:00
c7e3d7302d GH Actions: Bump ossf/scorecard-action from 2.0.4 to 2.0.6
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.0.4 to 2.0.6.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](e363bfca00...99c53751e0)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 06:16:13 +00:00
86fe1f6403 GH Actions: harden the workflow against PHPCS ruleset errors
If there is a ruleset error, the `cs2pr` action doesn't receive an `xml` report and exits with a `0` error code, even though the PHPCS run failed (though not on CS errors, but on a ruleset error).

This changes the GH Actions workflow to allow for that situation and still fail the build in that case.
2022-10-23 11:26:12 +02:00
3e38b34669 Merge pull request #2793 from greew/ticket_2788/azure_xoauth2
Added Azure XOAUTH2 help and examples
2022-10-16 21:24:02 +02:00
754ea93edb Merge pull request #2800 from jrfnl/feature/ghactions-dont-use-set-output
GH Actions: fix use of deprecated `set-output`
2022-10-14 23:16:42 +02:00
70cbf85efe GH Actions: fix use of deprecated set-output
GitHub has deprecated the use of `set-output` (and `set-state`) in favour of new environment files.

This commit updates the test workflows to avoid `set-output`.

Refs:
* https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
* https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#environment-files
2022-10-14 23:08:47 +02:00
4283eb9720 Add line ending \n after POP3 quit command
This is required by some POP3 servers which will wait until
a newline char which is delimiting all commands. Without it,
the login works, but it waits for the full timeout.
2022-10-12 17:47:41 +02:00
12bb746eff Merge pull request #2796 from jrfnl/feature/ghactions-tweak-action-runner-version-tags
GH Actions: use semver branch/tag references instead of commit references
2022-10-11 13:46:45 +02:00
5a8c04a9d6 GH Actions: use semver branch/tag references instead of commit references
Most predefined action runners offer a long-running branch or a tag which gets moved every release to allow staying on the "latest" version of a certain major of their action, without having to update the workflow scripts on every release of the action runner.

This works well for action runners which follow semver.

I've reviewed the existing workflows and tweaked the versions used whenever possible to make optimal use of this.

* For the `ossf/scorecard-action` action runner, I have not been able to find a workable tag/branch to fix this on.
    Note: I have remove the "# v1.1.1" comment though as it doesn't get updated by Dependabot and was sorely out of date (you are currently on version `2.0.4`).

With the changes in this PR, Dependabot should become less noisy and will only send in PRs to update the action runner versions when a new major release has been tagged. (save for the one exceptions mentioned above)

I would recommend watching the following repos for new releases:
* https://github.com/actions/checkout
* https://github.com/actions/upload-artifact
* https://github.com/shivammathur/setup-php
* https://github.com/ramsey/composer-install
* https://github.com/nick-fields/retry
* https://github.com/codecov/codecov-action
* https://github.com/JamesIves/github-pages-deploy-action
* https://github.com/ossf/scorecard-action
* https://github.com/github/codeql-action

This will ensure you will get an email with the changelogs for those action runners on all releases, so you can still monitor for changes in the action runners you need to be aware of.
2022-10-10 19:23:47 +02:00
849615e819 D'oh - forgot to add the example file 2022-10-08 08:02:06 +02:00
405e5dd94a Added Azure XOAUTH2 help and examples 2022-10-07 22:34:23 +02:00
cbfcd1f8b8 Merge pull request #2792 from sriram-km/sri-ram-contribution
Fixed gramatical errors in README.md
2022-10-07 15:55:40 +02:00
f035ad9db8 Fixed gramatical errors in README.md 2022-10-07 18:39:34 +05:30
8b6386d741 6.6.5 v6.6.5 2022-10-07 14:23:10 +02:00