Commit Graph

2591 Commits

Author SHA1 Message Date
Marcus Bointon c7111310c6
7.0.0 2025-10-15 18:40:02 +02:00
Marcus Bointon d9e3b36b47
6.11.1 2025-09-30 13:54:53 +02:00
Marcus Bointon fe380a85e0
Merge pull request #3240 from SirLouen/patch/3201v2
Regressing deprecatedArg
2025-09-30 13:51:19 +02:00
SirLouen 29f48d454e
Regressing deprecatedArg 2025-09-30 13:21:53 +02:00
Marcus Bointon 6ed58a9c60
Merge pull request #3238 from PHPMailer/dependabot/github_actions/action-runners-206d0ace73
GH Actions: Bump github/codeql-action from 3.30.3 to 3.30.5 in the action-runners group
2025-09-29 19:56:59 +02:00
Marcus Bointon 9500c37b70
Version and changelog 2025-09-29 18:40:59 +02:00
Marcus Bointon 39a1bc905c
Merge pull request #3237 from SirLouen/patch/3234
Reply-To to Indexed Array Conversion
2025-09-29 18:28:02 +02:00
Marcus Bointon 22a8dce04e
Merge pull request #3202 from SirLouen/patch/3201
Adding Name Encoding Improvement without MbString Extension
2025-09-29 18:26:33 +02:00
dependabot[bot] 9b899a0f22
GH Actions: Bump github/codeql-action in the action-runners group
Bumps the action-runners group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 3.30.3 to 3.30.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](192325c861...3599b3baa1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: action-runners
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 07:07:40 +00:00
SirLouen 8e8b503db9
Doing some cleaning up 2025-09-26 22:16:18 +02:00
SirLouen bcc4d84893
Reply-To to Indexed Array Conversion 2025-09-26 22:05:05 +02:00
SirLouen b0f96abda0
Next version will be 6.11.0 for this deprecatedArg 2025-09-26 17:17:09 +02:00
SirLouen 0d5d8854f9
Fixing 8.3+ mb_decode_mimeheader changes 2025-09-26 17:13:11 +02:00
SirLouen 1191a4ef0b
Better use expectException 2025-09-26 02:36:03 +02:00
SirLouen 5060f5405c
Switching to expectError 2025-09-26 02:00:15 +02:00
SirLouen cae960ed2b
Remove xdebug function 2025-09-26 01:51:06 +02:00
SirLouen b1860a4e86
Better using static 2025-09-26 01:22:41 +02:00
SirLouen f4d321633d
Taking advantage of the new static translator 2025-09-26 01:16:38 +02:00
SirLouen 238af6720e
Remove iconv suggestion 2025-09-26 01:09:21 +02:00
SirLouen 95ff455f9d
Adding #3235 and reorganizing tests 2025-09-26 01:07:01 +02:00
SirLouen bda1fee442
Merge branch 'master' into patch/3201 2025-09-25 14:20:23 +02:00
Marcus Bointon ec08e9497d
Merge pull request #3200 from SirLouen/patch/3199
Improving Copy for mbstring intl test requirements
2025-09-24 18:49:05 +01:00
Marcus Bointon a49806c893
Merge branch 'master' into patch/3199 2025-09-24 18:35:25 +01:00
Marcus Bointon 759c73ef98
Merge pull request #3232 from jrfnl/feature/ghactions-set-minimal-permissions
GH Actions: set permissions for each workflow/job
2025-09-21 15:49:43 +01:00
jrfnl c8fdd4178e
GH Actions: set permissions for each workflow/job
> Users frequently over-scope their workflow and job permissions, or set broad workflow-level permissions without realizing that all jobs inherit those permissions.
>
> Furthermore, users often don't realize that the _default_ `GITHUB_TOKEN` permissions can be very broad, meaning that workflows that don't configure any permissions at all can _still_ provide excessive credentials to their individual jobs.
>
> **Remediation**
> In general, permissions should be declared as minimally as possible, and as close to their usage site as possible.
>
> In practice, this means that workflows should almost always set `permissions: {}` at the workflow level to disable all permissions by default, and then set specific job-level permissions as needed.

This was already addressed for the other two workflows, just not for the `tests` one.

As far as I can see, the jobs here do not need the `GITHUB_TOKEN` secret and even if they do, only for `content: read`, which for public repos does not need to be set explicitly, though it doesn't do any harm to have that set anyway.

Refs:
* https://docs.zizmor.sh/audits/#excessive-permissions
2025-09-21 16:39:02 +02:00
Marcus Bointon 041c556075
Merge pull request #3231 from jrfnl/feature/ghactions-do-not-persist-credentials
GH Actions: do not persist credentials
2025-09-21 15:08:42 +01:00
Marcus Bointon 7f75a4220a
Merge pull request #3113 from PHPMailer/dependabot/github_actions/codecov/codecov-action-5
GH Actions: Bump codecov/codecov-action from 4 to 5
2025-09-21 15:08:17 +01:00
dependabot[bot] eef3fef3ae
GH Actions: Bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-21 13:59:33 +00:00
Marcus Bointon d418826b0d
Merge branch 'master' into feature/ghactions-do-not-persist-credentials 2025-09-21 14:57:23 +01:00
Marcus Bointon 7e878a18f1
Merge pull request #3230 from PHPMailer/dependabot/github_actions/actions/checkout-5.0.0
GH Actions: Bump actions/checkout from 4.3.0 to 5.0.0
2025-09-21 14:54:18 +01:00
jrfnl a209299105
GH Actions: do not persist credentials
> By default, using `actions/checkout` causes a credential to be persisted in the checked-out repo's `.git/config`, so that subsequent `git` operations can be authenticated.
>
> Subsequent steps may accidentally publicly persist `.git/config`, e.g. by including it in a publicly accessible artifact via `actions/upload-artifact`.
>
> However, even without this, persisting the credential in the `.git/config` is non-ideal unless actually needed.
>
> **Remediation**
>
> Unless needed for `git` operations, `actions/checkout` should be used with `persist-credentials: false`.
>
> If the persisted credential is needed, it should be made explicit with `persist-credentials: true`.

This has now been addressed in all workflows.

Refs:
* https://unit42.paloaltonetworks.com/github-repo-artifacts-leak-tokens/
* https://docs.zizmor.sh/audits/#artipacked
2025-09-21 15:01:18 +02:00
dependabot[bot] 0d6eaeb3a9
GH Actions: Bump actions/checkout from 4.3.0 to 5.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.3.0 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](08eba0b27e...08c6903cd8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-21 10:20:29 +00:00
Marcus Bointon 80cd2d5f3a
Merge pull request #3228 from jrfnl/feature/ghactions-update-permissions-scorecard
GH Actions/scorecard: update permissions
2025-09-21 11:20:24 +01:00
Marcus Bointon 1714708220
Merge pull request #3229 from jrfnl/feature/ghactions-pin-action-runners
GH Actions: "pin" all action runners
2025-09-21 11:19:30 +01:00
jrfnl 5ce9b04aae
Dependabot: update config
This commit makes the following change to the Dependabot config:
* It introduces a "group".
    By default Dependabot raises individual PRs for each update. Now, it will group updates to new minor or patch release for all action runners into a single PR.
    Updates to new major releases of action runners will still be raised as individual PRs.

Refs:
* https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/optimizing-pr-creation-version-updates
* https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference
2025-09-20 05:10:40 +02:00
jrfnl 086dfbe727
GH Actions: "pin" all action runners
Recently there has been more and more focus on securing GH Actions workflows - in part due to some incidents.

The problem with "unpinned" action runners is as follows:
* Tags are mutable, which means that a tag could point to a safe commit today, but to a malicious commit tomorrow.
    Note that GitHub is currently beta-testing a new "immutable releases" feature (= tags and release artifacts can not be changed anymore once the release is published), but whether that has much effect depends on the ecosystem of the packages using the feature.
    Aside from that, it will likely take years before all projects adopt _immutable releases_.
* Action runners often don't even point to a tag, but to a branch, making the used action runner a moving target.
    _Note: this type of "floating major" for action runners used to be promoted as good practice when the ecosystem was "young". Insights have since changed._

While it is convenient to use "floating majors" of action runners, as this means you only need to update the workflows on a new major release of the action runner, the price is higher risk of malicious code being executed in workflows.

Dependabot, by now, can automatically submit PRs to update pinned action runners too, as long as the commit-hash pinned runner is followed by a comment listing the released version the commit is pointing to.

So, what with Dependabot being capable of updating workflows with pinned action runners, I believe it is time to update the workflows to the _current_ best practice of using commit-hash pinned action runners.

The downside of this change is that there will be more frequent Dependabot PRs.

If this would become a burden/irritating, the following mitigations can be implemented:
1. Updating the Dependabot config to group updates instead of sending individual PRs per action runner.
2. A workflow to automatically merge Dependabot PRs as long as CI passes.

Includes updating the version for `ossf/scorecard-action` as it was a couple of version behind.

Ref: https://docs.github.com/en/actions/reference/security/secure-use#using-third-party-actions
2025-09-20 05:10:21 +02:00
jrfnl 63540d8cf3
GH Actions/scorecard: update permissions
... to match the current recommendations.

I've removed the "read" permissions as those should only be needed for "private" repos.

Ref: https://github.com/ossf/scorecard-action#additional-permissions-for-private-repositories
2025-09-20 05:09:45 +02:00
Marcus Bointon 6f0f7a7f68
Extract gmail transaction IDs, fixes #3224 2025-09-18 17:27:24 +02:00
Marcus Bointon 9f0387fb37
Changelog 2025-09-18 17:27:24 +02:00
Manuel Camargo 6cab1544fa
Merge branch 'master' into patch/3201 2025-09-12 13:41:55 +02:00
Marcus Bointon 5bc453d6c5
Merge pull request #3226 from schorschii/smime-longline-encoding-header-fix
Fix encoding header for SMIME signed messages with long lines
2025-09-11 22:23:42 +01:00
Marcus Bointon 4c917a9b46
CS 2025-09-11 23:16:50 +02:00
Georg Sieber 5470c1e795
add test 2025-09-11 22:52:01 +02:00
Georg Sieber fd9f8d33cb
fix encoding header for SMIME signed messages with long lines 2025-09-11 19:03:20 +02:00
Manuel Camargo 6a6e66abf4
Merge branch 'master' into patch/3201 2025-09-11 14:42:41 +02:00
SirLouen b1b1f65f0b
Merge branch 'master' into patch/3201 2025-09-11 14:32:06 +02:00
SirLouen 7e61c84718
Add an extra test 2025-09-09 17:18:43 +02:00
Marcus Bointon 5ddea0610b
Merge pull request #3217 from SirLouen/patch/3210
Modularizing and Simplifying the Address Parser
2025-09-02 21:11:31 +02:00
SirLouen 3c93e8d6f3
Adding Temporary Specific Tests for Native Function 2025-08-24 16:03:51 +02:00
SirLouen e72170c6ba
Little separator line 2025-08-24 15:38:03 +02:00