diff options
author | Lee Duncan <leeman.duncan@gmail.com> | 2020-09-10 13:15:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-10 13:15:01 -0700 |
commit | e89ffb2a81a000471fe6b558d93a4437656b30f9 (patch) | |
tree | 94afafb7bb8e2367c04edda195fcf0dcc1ee0dcb | |
parent | f6f2316f15d2c21a8fb777d86aacca10bc703b40 (diff) | |
parent | 9ac758cc472d991d7eaa9a1da17279cbbdbc7ebf (diff) | |
download | open-iscsi-e89ffb2a81a000471fe6b558d93a4437656b30f9.tar.gz |
Merge pull request #221 from gulams/master
Check Invalid Session id for stop connection
-rw-r--r-- | usr/initiator.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/usr/initiator.c b/usr/initiator.c index 5f4bdca..684647c 100644 --- a/usr/initiator.c +++ b/usr/initiator.c @@ -692,6 +692,7 @@ static void iscsi_login_eh(struct iscsi_conn *conn, struct queue_task *qtask, int err) { struct iscsi_session *session = conn->session; + int stop_flag = 0; log_debug(3, "iscsi_login_eh"); /* @@ -711,7 +712,11 @@ static void iscsi_login_eh(struct iscsi_conn *conn, struct queue_task *qtask, !iscsi_retry_initial_login(conn)) session_conn_shutdown(conn, qtask, err); else { - session_conn_reopen(conn, qtask, STOP_CONN_TERM); + stop_flag = (session->id < INVALID_SESSION_ID) ? STOP_CONN_TERM : 0; + log_debug(6, "connection %p socket_fd: %d, " + "session id: %d stop_flag: %d\n", + conn, conn->socket_fd, session->id, stop_flag); + session_conn_reopen(conn, qtask, stop_flag); } break; case R_STAGE_SESSION_REDIRECT: |