aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-09-18 21:14:28 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-09-18 21:14:28 +0000
commit45fd6685bdf6b223088f34c77c56eacb0e5182ed (patch)
treebf99cfa34d7c04eeff82c934aa2ebb22ddd6eef9
parent0159636373b5959e980824fd1933c79b18acedd8 (diff)
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.
-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);