Skip to content

Commit debe0bd

Browse files
committed
Let the panel check accept the same certificate the deploy already does
The check required a certificate curl would validate. The FTP host presents one it will not, so the check failed the handshake and -- before the previous commit taught it to say so -- reported the folder as missing. It has blocked every admin deploy since, including ones that would have succeeded. A guard stricter than the thing it guards blocks work without protecting anything. The deploy step completes FTPS against this host regardless, so the upload already carries these credentials over a connection whose certificate nobody verified. Matching that is not a new exposure; it is the check stopping pretending to a standard the pipeline does not meet. The fix that would let this be strict is a valid certificate on the FTP host, which is Hostinger's to provide, and the comment says so where someone would look. Verified the three outcomes still hold with the flag in place: the panel folder passes, a folder without config.php fails and lists what is there, an unreachable host reports curl's error. The certificate case itself could not be reproduced here -- this sandbox blocks generating a self-signed certificate to test against -- so that path rests on curl's documented behaviour and the next real run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0128YzbhrfGdegUSc9RrARRf
1 parent cc83613 commit debe0bd

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

‎.github/workflows/deploy-admin.yml‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,21 @@ jobs:
161161
# handshake and a blocked data connection all look exactly like an
162162
# empty directory -- and the check then reports the folder is wrong
163163
# when the truth is that it never got to look.
164+
# --insecure encrypts the connection but does not verify the
165+
# server's certificate. That is a real weakening and it is worth
166+
# being explicit about why it is here: this host presents a
167+
# certificate curl will not validate, and the deploy step below
168+
# completes FTPS against it regardless -- so the upload, carrying
169+
# the same credentials, already crosses an unverified channel.
170+
# A check that is stricter than the deploy it guards blocks work
171+
# without protecting anything; it did exactly that on its first
172+
# run, reporting a folder as missing when it had simply been
173+
# refused the handshake.
174+
#
175+
# The fix that would let this be strict is a valid certificate on
176+
# the FTP host, which is Hostinger's to provide.
164177
set +e
165-
listing="$(curl --silent --show-error --ssl-reqd --list-only \
178+
listing="$(curl --silent --show-error --ssl-reqd --insecure --list-only \
166179
--connect-timeout 20 --max-time 60 \
167180
--config "$cfg" 2>"$cfg.err")"
168181
rc=$?

0 commit comments

Comments
 (0)