• Nicholas Bellinger's avatar
    iscsi-target: Reject zero-length payloads during SecurityNegotiation · 91f0abfd
    Nicholas Bellinger authored
    This patch changes iscsi_target_handle_csg_zero() to explicitly
    reject login requests in SecurityNegotiation with a zero-length
    payload, following the language in RFC-3720 Section 8.2:
    
      Whenever an iSCSI target gets a response whose keys, or their
      values, are not according to the step definition, it MUST answer
      with a Login reject with the "Initiator Error" or "Missing Parameter"
      status.
    
    Previously when a zero-length login request in CSG=0 was received,
    the target would send a login response with CSG=0 + T_BIT=0 asking
    the initiator to complete authentication, and not fail the login
    until MAX_LOGIN_PDUS was reached.  This change will now immediately
    fail the login attempt with ISCSI_STATUS_CLS_INITIATOR_ERR status.
    Reported-by: default avatarTejas Vaykole <tejas.vaykole@calsoftinc.com>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    91f0abfd
iscsi_target_nego.c 32.6 KB