Julian,
If declarations
should not be repeated (except for those where it is explicitly allowed), then
it should be "negotiate or declare" because "negotiate" doesn't cover
declarations. Alternatively, one could add an explicit definition that
"Negotiate" includes both declarations and negotiations. Secondly, SendTargets
is not a valid example for login as it is FFPO. I think the only parameter
explicitly allowed to be duplicated during Login is TargetAddress (when returned
as a result of a redirect). Furthermore, I can not find any explicit statement
that SendTargets may be repeated during a FFP negotiation sequence. Only
TargetName and TargetAddress have explicit text allowing them to be repeated (in
Appendix B for both and in the description of redirection for LoginResponse for
TargetAddress).
Therefore, I
suggest:
For
4.3:
Neither the initiator nor the target should
attempt to declare or negotiate a parameter more than once during login except
for responses to specific keys that explicitly allow repeated key declarations
(e.g. TargetAddress). If detected by the target this MUST result in a Login
reject (initiator error). The initiator MUST drop the connection
For
4.4: Neither the initiator nor the target should attempt to declare or
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 (e.g. TargetAddress). 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.
Pat
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
|