Use sideband also for challenge response.
authorAndre Noll <maan@systemlinux.org>
Wed, 4 Jan 2012 20:47:55 +0000 (21:47 +0100)
committerAndre Noll <maan@systemlinux.org>
Sat, 5 May 2012 10:54:53 +0000 (12:54 +0200)
commit4744d937c4160898d1fe151257606430750e580c
treeaebec7d9dc26e9da6e41c5f4792e00635f4398a0
parentfa9e0ecb219000e07eaf694f50679a8edfb5dc9e
Use sideband also for challenge response.

This changes server and client to exchange the challenge response
as a sideband packet if both ends support sideband connections. The
SBD_CHALLENGE_RESPONSE designator is used for this purpose. On the
client side the changes are less intrusive due to an additional
cleanup of the state handling.

During connection setup the client's idea of the state of
the connection is monitored in the ->status variable of struct
client_task. If the client is in the CL_SENT_AUTH state, it receives
the challenge and sends the hash of the decrypted challenge back to the
server. Either operation may fail, and it seems cleaner to separate
the two. So this patch adds the new state CL_RECEIVED_CHALLENGE. The
clients enters this state once it decrypted the received challenge.
client.h
client_common.c
command.c