In the unlikely case that no SSH auth methods are supported, the
previous code would return 0 from myssh_in_AUTH_PKEY_INIT. However,
following the code path, it seems like it should be returning SSH_ERROR,
as set in myssh_to_ERROR (through myssh_to_GSSAPI_AUTH,
myssh_to_KEY_AUTH and myssh_to_PASSWD_AUTH).
In actuality, this is unlikely to occur, as the similar code in
myssh_in_AUTHLIST would have already returned an error in this scenario.
However setting a return value and then ignoring it is a bit fishy and
should be documented if this is intended.
I believe this used to return an error, but was changed in the recent
re-factoring of this code.
Closes #17691
int rc;
if(!(data->set.ssh_auth_types & CURLSSH_AUTH_PUBLICKEY)) {
rc = myssh_to_GSSAPI_AUTH(data, sshc);
- return 0;
+ return rc;
}
/* Two choices, (1) private key was given on CMD,