
Abort requests when SSE headers cannot be set (#2806)
AddSseRequestHead() returned true even when the SSE-C key
lookup failed, and all eight callers logged a warning but
continued without encryption. If something goes wrong with
SSE setup, data would be sent unencrypted.
In practice the error path is unreachable today because
startup validation in FinalCheckSse() prevents s3fs from
running with SSE-C and an empty key list. But the code
should not rely on that -- if AddSseRequestHead fails, the
request must not proceed.
Return false from AddSseRequestHead on SSE-C key failure
and abort with -EIO at all call sites, consistent with how
PreHeadRequest already handles this case.