]> git.proxmox.com Git - libgit2.git/commit - tests/online/clone.c
ssh: make sure to ask for a username and use the same one
authorCarlos Martín Nieto <cmn@dwim.me>
Wed, 25 Jun 2014 14:27:43 +0000 (16:27 +0200)
committerCarlos Martín Nieto <cmn@dwim.me>
Thu, 26 Jun 2014 20:58:39 +0000 (22:58 +0200)
commitccb85c8fa146585e9e329ec7abfa00555b03dce2
tree1a045d8379da9095eefefec683ffb2fb207629f2
parentd1c281a5525882c4a6f157ea1f18837d5819dab3
ssh: make sure to ask for a username and use the same one

In order to know which authentication methods are supported/allowed by
the ssh server, we need to send a NONE auth request, which needs a
username associated with it.

Most ssh server implementations do not allow switching the username
between authentication attempts, which means we cannot use a dummy
username and then switch. There are two ways around this.

The first is to use a different connection, which an earlier commit
implements, but this increases how long it takes to get set up, and
without knowing the right username, we cannot guarantee that the
list we get in response is the right one.

The second is what's implemented here: if there is no username specified
in the url, ask for it first. We can then ask for the list of auth
methods and use the user's credentials in the same connection.
src/transports/cred_helpers.c
src/transports/ssh.c
tests/online/clone.c