Mercurial > illumos > illumos-gate
changeset 10624:5ccd6d7aa2d9
6878085 COMSTAR iscsit does not send failure response when CHAP authentication failed
author | Charles Ting <Charles.Ting@Sun.COM> |
---|---|
date | Wed, 23 Sep 2009 12:21:55 -0400 |
parents | a08d4ae62796 |
children | 76705885a9bb |
files | usr/src/uts/common/io/comstar/port/iscsit/iscsit_login.c usr/src/uts/common/io/idm/idm_conn_sm.c |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/io/comstar/port/iscsit/iscsit_login.c Wed Sep 23 08:43:18 2009 -0700 +++ b/usr/src/uts/common/io/comstar/port/iscsit/iscsit_login.c Wed Sep 23 12:21:55 2009 -0400 @@ -1055,6 +1055,14 @@ nvlist_free(lsm->icl_response_nvlist); lsm->icl_response_nvlist = NULL; } + /* Make sure we already set the login error */ + if (ict->ict_login_sm.icl_login_resp_err_class == + ISCSI_STATUS_CLASS_SUCCESS) { + SET_LOGIN_ERROR(ict, + ISCSI_STATUS_CLASS_TARGET_ERR, + ISCSI_LOGIN_STATUS_TARGET_ERROR); + } + iscsit_login_sm_event(ict, ILE_LOGIN_RESP_READY, NULL); }
--- a/usr/src/uts/common/io/idm/idm_conn_sm.c Wed Sep 23 08:43:18 2009 -0700 +++ b/usr/src/uts/common/io/idm/idm_conn_sm.c Wed Sep 23 12:21:55 2009 -0400 @@ -566,6 +566,11 @@ idm_update_state(ic, CS_S9_INIT_ERROR, event_ctx); break; case CE_LOGIN_FAIL_SND_DONE: + pdu = (idm_pdu_t *)event_ctx->iec_info; + /* restore client callback */ + pdu->isp_callback = ic->ic_client_callback; + ic->ic_client_callback = NULL; + idm_pdu_complete(pdu, pdu->isp_status); (void) idm_notify_client(ic, CN_LOGIN_FAIL, NULL); idm_update_state(ic, CS_S9_INIT_ERROR, event_ctx); break;