Subject: Re: iSCSI: use of Text/Login with no data segment

From: "Julian Satran" <[email-masked]>
Date: Sun, 16 Jun 2002 19:26:11 +0300

Pat,

On a second though the following text may be more appropriate:

A target or initiator MUST NOT use a Text/Login Response or Text/
Login Request with no data segment (DataSegmentLength 0) unless explicitly 
required by a general or a key-specific negotiation rule.

As it cover all the cases in which we  wanted to avoid abuse.

Julo
----- Forwarded by Julian Satran/Haifa/IBM on 06/16/2002 07:21 PM -----

Julian Satran
06/15/2002 06:25 PM

        To:     [email-masked]
        cc:     [email-masked]
        From:   Julian Satran/Haifa/IBM@IBMIL
        Subject:        Re: iSCSI: use of Text/Login with no data segment

Pat,

The SHOULD is there to avoid abuse and I will fix the text

Julo

[email-masked]
06/15/2002 12:51 AM
Please respond to pat_thaler

        To:     "Julian Satran" <[email-masked]>, [email-masked]
        cc: 
        Subject:        iSCSI: use of Text/Login with no data segment

Julian,

4.2 (page 72) of iSCSI-13 says:
A target or initiator SHOULD NOT use a Text/Login Response or Text/
Login Request with no data segment (DataSegmentLength 0) unless
responding to a Text/Login Request respective Text/Login Response
with the C bit set to 1.

"SHOULD NOT" is too strong here as there are times when one must send a
Text/Login Response or Request with no data segment if one is to complete
the login.

For example, a Target might send a Login response with the T=0 and C=0. If
the initiator doesn't have an keys it wants to send, then the initiator 
will
have to send a Login Request with no data segment if the login is to
complete.

Also, wrt grammar, "respective" is not a conjunction so the normal way to
use it would be "... A or B ... C or D, respectively, ...." At least that 
is
the usage that I have seen and what the dictionary at hand supports.

If one wants to retain the idea of not sending empty PDUs when you do have
something to say, one could put in:
A target or initiator SHOULD NOT use a Text/Login Response or Text/
Login Request with no data segment (DataSegmentLength 0) unless
responding to a Text/Login Request or Text/Login Response, respectively,
with the T bit set to 0 while the node has no keys to send or with the C 
bit
set to 1.

Pat

---

From: Martins Krikis <[email-masked]>
Date: Mon, 17 Jun 2002 14:19:23 -0700 (PDT)

> required by a general or a key-specific negotiation

I think the words are unnecessarily strong and
disallow such nice guestures as "please, you
speak first" from the iSCSI nodes...

> As it cover all the cases in which we  wanted to

IMHO, you cannot really cover all abuse cases.
What you have achieved is that the "abuser"
(the guy, who says, "please, you first") now
has to be a little more sophisticated, and instead
of sending an empty data segment send the following:
X-vendor_addr-you_speak_first-bogus_key_nr_x=yes.
Whatever the response to this particular key is
irrelevant, of course. But it achieved approximately
the same effect as an empty PDU, and it can be used
to abuse the negotiation process.

This said, I don't think that the potential for
abuse can be helped, nor do I think it is necessary
to try to prevent all abuse. That's why I think
this new wording was unnecessary, but it isn't 
really worth fighting over either.

Martins Krikis, Intel Corp.

Disclaimer: these are my own opinions and
            may not be my employer's.

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com