Pat,
4.3 and 4.4 cover two diferent phases.
Parameters should not be negotiated or declared
twice.
I think that you refer to the responses to
SendTargets - those contain more than an instance of the declarations and have
to outlined.
How about the following text in 4.4:
Neither the initiator nor the target should attempt to negotiate a parameter
more than once during login except for responses to specific keys that
explicitly allow repeated key declarations (e.g. SendTargets). If detected by
the target this MUST result in a Login reject (initiator error). The initiator
MUST drop the connection.
and in
4.4:
Neither the initiator nor the target should attempt to negotiate a parameter
more than once during any negotiation sequence without an intervening reset
except for responses to specific keys that explicitly allow repeated key
declarations. If detected by the target this MUST result in a Reject with a
reason of "protocol error". The initiator MUST reset the negotiation as outlined
above.
Julo
Julian,
The following text appears in 4.3 (page 78 just before 4.3.1):
Neither the initiator nor the target should attempt to negotiate a
parameter more than once during login. If detected by the target this
MUST result in a Login reject (initiator error). The initiator MUST
drop the connection.
and nearly the same text in 4.4 (page 85 near the end):
Neither the initiator nor the target should attempt to negotiate a
parameter more than once during any negotiation sequence without an
intervening reset. If detected by the target this MUST result in a
Reject with a reason of "protocol error". The initiator MUST reset
the negotiation as outlined above.
This is confusing partly because "negotiate" seems to be generally used covering both negotiations and declarations and in some cases covering only negotiations. It isn't clear in which sense it is used. If the text above applies only to negotiated values, then it would be allowable to send parameters such as Initiator Name, SessionType, and MaxRecvDataSegmentLength over which doesn't seem to be a good idea. However, there are other declarative parameters which are sent multiple times - SendTargets where there are multiple targets or multiple addresses for a target requires sending the same parameter multiple times.
Perhaps the text should be changed to:
Neither the initiator nor the target should attempt to declare or negotiate a
parameter other than TargetName, TargetAlias or TargetAddress more than once....
Regards,
Pat
|