summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2018-02-15 13:40:35 +0100
committerDaniel Stenberg <daniel@haxx.se>2018-02-15 13:41:35 +0100
commitbfbdd260bde53a4d43e79101f6b4c7d37cb3f17a (patch)
tree7fd5761ce8c8f19da2830399dc5ef61e9c245a0e
parentde9fac00c40db321d44fa6fbab6eb62ec4c83998 (diff)
downloadcurl-bagder/ssh-adding-missing-states.tar.gz
ssh: add two missing state namesbagder/ssh-adding-missing-states
The list of state names (used in debug builds) was out of sync in relation to the list of states (used in all builds). I now added an assert to make sure the sizes of the two lists match, to aid in detecting this mistake better in the future. Regression since c92d2e14cf, shipped in 7.58.0. Reported-by: skundu07 on github Fixes #2312
-rw-r--r--lib/ssh.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/ssh.c b/lib/ssh.c
index b7a50a281..d3b5cac69 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -342,6 +342,7 @@ static void state(struct connectdata *conn, sshstate nowstate)
"SSH_AUTH_HOST",
"SSH_AUTH_KEY_INIT",
"SSH_AUTH_KEY",
+ "SSH_AUTH_GSSAPI",
"SSH_AUTH_DONE",
"SSH_SFTP_INIT",
"SSH_SFTP_REALPATH",
@@ -376,6 +377,7 @@ static void state(struct connectdata *conn, sshstate nowstate)
"SSH_SCP_TRANS_INIT",
"SSH_SCP_UPLOAD_INIT",
"SSH_SCP_DOWNLOAD_INIT",
+ "SSH_SCP_DOWNLOAD",
"SSH_SCP_DONE",
"SSH_SCP_SEND_EOF",
"SSH_SCP_WAIT_EOF",
@@ -386,6 +388,9 @@ static void state(struct connectdata *conn, sshstate nowstate)
"QUIT"
};
+ /* a precaution to make sure the lists are in sync */
+ DEBUGASSERT(sizeof(names)/sizeof(names[0]) == SSH_LAST);
+
if(sshc->state != nowstate) {
infof(conn->data, "SFTP %p state change from %s to %s\n",
(void *)sshc, names[sshc->state], names[nowstate]);