mirror of https://github.com/wolfSSL/wolfssh.git
wolfSSH_AGENT_SignRequest() writes the sign request and reads the reply through the whole-message helpers the relay uses, so a short write is followed up and a reply is read to its declared length before it is parsed. The setup callback's WS_AgentCbError result becomes WS_AGENT_CXN_FAIL, and an ECDSA key's reply room fits the SSH blob. - A short write, a hang-up, or a failed setup is WS_AGENT_CXN_FAIL; cleanup runs only after a setup that succeeded, and the client callbacks close their socket when connect() fails. - PrepareUserAuthRequestEcc() reserves r and s as mpints a pad byte over the curve size, and BuildUserAuthRequestEcc() hands the agent that room, checks the reply's algorithm name, and bounds it by outputSz. - A NULL sig, or a NULL digest or key blob with a size, is WS_BAD_ARGUMENT; agent.h documents the contract and return codes. - api: the mock agent's short write is followed up, a reply read a byte at a time is reassembled, and a failed setup and NULL buffers are refused. - regress: the mock agents answer as a stream; ECDSA user auth for each curve at, under, and over the largest blob, and a wrong curve name refused; a failed setup refused with nothing sent. Issue: F-13325, F-14629, F-14631 |
||
|---|---|---|
| .. | ||
| api.c | ||
| api.h | ||
| auth.c | ||
| auth.h | ||
| include.am | ||
| kex.c | ||
| kex.h | ||
| regress.c | ||
| sftp.c | ||
| sftp.h | ||
| testsuite.c | ||
| testsuite.h | ||
| unit.c | ||
| unit.h | ||