The GitHub Actions job "CI" on 
rocketmq-dashboard.git/fix/credential-secret-bounds has failed.
Run started by GitHub user unbridled-41 (triggered by unbridled-41).

Head commit for run:
65024b672d3d2b337bff3ef1487b17d23e3080a5 / unbridled-41 
<[email protected]>
fix(credential): bound the cloud-credential fields to their columns

`CloudCredentialService.create` validated only presence, then wrote `name
VARCHAR(128)`, `access_key VARCHAR(255)` and `secret_key VARCHAR(512)` - and the
secret column holds the *base64* of the value it checked, so the effective 
plaintext
limit is 384 characters and nothing enforced it. An over-long value reached the
database, the rejection (DataIntegrityViolationException) was not translated, 
and the
API answered 500 with no hint about the limit - which the caller cannot even 
guess,
because the encoding is what overflows.

Bound the name and access key to their columns (code points, like the other
user-facing bounds in this project) and the secret by the length of the value 
that is
actually stored, `CredentialUtils.encodeBase64(secret)` - a plaintext bound 
would
still overflow for a non-ASCII secret.

Tests (server/): mvn -o -B -ntp test -Dtest='CloudCredentialServiceTest' -> 
Tests run:
19, Failures: 0, Errors: 0; the new case fails before the bounds ("Expecting 
code to
raise a throwable") and passes after it, asserting no repository interaction;
checkstyle passes.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/37998411231

With regards,
GitHub Actions via GitBox

Reply via email to