Commit 33eb2a4
authored
feat!: invert ssl_verify_certificate default from false to true (#44)
BREAKING CHANGE: the default of `ssl_verify_certificate` is
flipped from `false` to `true`. This is the v2.0.0 cut the audit
(PROPOSAL.md §3.1 #1, MP-1) called for, after a long discussion of
the trade-off: the old default made MITM trivial, the new default
breaks every existing user that connected to a self-signed or
direct-IP server.
The change is one line in action.yml plus a matching default in
the FTP_SETTINGS block of init.sh (the latter only matters when
the action is run outside the GitHub Actions defaulting
mechanism, e.g. for local smoke tests). The README's 'Security
and SSL' section is rewritten to document the new default and
the explicit opt-out path. The CHANGELOG gets a new
`## [2.0.0] - TBD` section that calls out the breaking change
and the compat-preserving nature of the v1.4 / v1.5 work that
preceded it.
Migration for existing users:
```yaml
- uses: airvzxf/ftp-deployment-action@v1 # still on the old default
- uses: airvzxf/ftp-deployment-action@v2 # will fail on self-signed
with:
server: ${{ secrets.FTP_SERVER }}
user: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
ssl_verify_certificate: 'false' # opt back into v1.x behaviour
```
Validation:
* shellcheck, actionlint, hadolint (error threshold), contract test
and smoke test all green — the change is a one-line default flip,
no other code paths are affected.
* Verified the new default reaches lftp by inspecting
`FTP_SETTINGS` in the smoke-test output: it now contains
`set ssl:verify-certificate true;` when no input override is
provided.
Recommended next steps for the maintainer (out of scope for this
PR):
* Tag this commit as v2.0.0 after merge.
* Cut a v1.3.4 release off master ~at v1.3.3 (no behaviour change)
for users who want to pin to the last v1.x line and never see
this default flip.
* Add a `v1` major-version ref pointing at the v1.3.x series so
`@v1` resolves to the last v1.x release.1 parent 46167c9 commit 33eb2a4
4 files changed
Lines changed: 31 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
8 | 33 | | |
9 | 34 | | |
10 | 35 | | |
| |||
81 | 106 | | |
82 | 107 | | |
83 | 108 | | |
84 | | - | |
| 109 | + | |
| 110 | + | |
85 | 111 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
| 192 | + | |
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| |||
0 commit comments