diff options
author | Matt Johnston <matt@ucc.asn.au> | 2020-06-26 21:07:34 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2020-06-26 21:07:34 +0800 |
commit | 71b4ec569cb33a5dcd4abf50650ccd78e6d3b2dd (patch) | |
tree | 497adde943fd41206f8d263131b255dda1833ca1 /cli-agentfwd.c | |
parent | 3187f27fcd533b8d16feebba9090007c82725eff (diff) | |
parent | eaf9be05d7d9de22f2ff936882874331fc2d1a0e (diff) | |
download | dropbear-71b4ec569cb33a5dcd4abf50650ccd78e6d3b2dd.tar.gz |
merge coverity from maincoverity
Diffstat (limited to 'cli-agentfwd.c')
-rw-r--r-- | cli-agentfwd.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cli-agentfwd.c b/cli-agentfwd.c index 2821f62..00454dc 100644 --- a/cli-agentfwd.c +++ b/cli-agentfwd.c @@ -255,11 +255,12 @@ void cli_load_agent_keys(m_list *ret_list) { } void agent_buf_sign(buffer *sigblob, sign_key *key, - const buffer *data_buf) { + const buffer *data_buf, enum signature_type sigtype) { buffer *request_data = NULL; buffer *response = NULL; unsigned int siglen; int packet_type; + int flags = 0; /* Request format byte SSH2_AGENTC_SIGN_REQUEST @@ -271,7 +272,12 @@ void agent_buf_sign(buffer *sigblob, sign_key *key, buf_put_pub_key(request_data, key, key->type); buf_putbufstring(request_data, data_buf); - buf_putint(request_data, 0); +#if DROPBEAR_RSA_SHA256 + if (sigtype == DROPBEAR_SIGNATURE_RSA_SHA256) { + flags |= SSH_AGENT_RSA_SHA2_256; + } +#endif + buf_putint(request_data, flags); response = agent_request(SSH2_AGENTC_SIGN_REQUEST, request_data); |