aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES7
-rw-r--r--RELEASE-NOTES1
-rw-r--r--lib/ssh.c6
3 files changed, 14 insertions, 0 deletions
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);