diff --git a/CHANGES b/CHANGES index cee4d48c8..f3a9ce7e5 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,13 @@ Changelog +Daniel S (18 September 2007) +- Immanuel pointed out that public key SSH auth failed if no public/private + key was specified and there was no HOME environment variable, and then it + didn't continue to try the other auth methods. Now it will instead try to + get the files id_dsa.pub and id_dsa from the current directory if none of + the two conditions were met. + Dan F (17 September 2007) - Added hooks to the test suite to make it possible to test a curl running on a remote host. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 059a4b682..a10177b90 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -18,6 +18,7 @@ This release includes the following bugfixes: o curl-config --protocols now properly reports LDAPS, SCP and SFTP o ldapv3 support on Windows o ldap builds with the MSVC makefiles + o no HOME and no key given caused SSH auth failure This release includes the following known bugs: diff --git a/lib/ssh.c b/lib/ssh.c index 50ec429b3..d95db32cd 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -407,6 +407,9 @@ static CURLcode ssh_statemach_act(struct connectdata *conn) sshc->rsa_pub = aprintf("%s", data->set.str[STRING_SSH_PUBLIC_KEY]); else if (home) sshc->rsa_pub = aprintf("%s/.ssh/id_dsa.pub", home); + else + /* as a final resort, try current dir! */ + sshc->rsa_pub = strdup("id_dsa.pub"); if (sshc->rsa_pub == NULL) { Curl_safefree(home); @@ -420,6 +423,9 @@ static CURLcode ssh_statemach_act(struct connectdata *conn) sshc->rsa = aprintf("%s", data->set.str[STRING_SSH_PRIVATE_KEY]); else if (home) sshc->rsa = aprintf("%s/.ssh/id_dsa", home); + else + /* as a final resort, try current dir! */ + sshc->rsa = strdup("id_dsa"); if (sshc->rsa == NULL) { Curl_safefree(home);