David Wierbowski writes: > > Tero, thanks for the comments and the clarification on how to read a lower > case must. I do have a few more comments. > > >So implementations cannot just search uppercase "MUST/SHOULD/MAY" > >texts and assume it is enough to make sure those are correct. It also > >needs to do what the text says... > I think most implementers focus on the MUST and SHOULDs and then apply > common sense to the remaining text.
I agree. I have done that myself too, and only noticed that this does not really help when the latest version of ikev2bis had following change (this is unrelated to current case, but it is more generic case): Old text: ---------------------------------------------------------------------- The responder can be assured that the initiator is prepared to receive messages on an SA if either (1) it has received a cryptographically valid message on the new SA, or (2) the new SA rekeys an existing SA and it receives an IKE request to close the replaced SA. When rekeying an SA, the responder SHOULD continue to send messages on the old SA until one of those events occurs. ---------------------------------------------------------------------- New text: ---------------------------------------------------------------------- The responder can be assured that the initiator is prepared to receive messages on an SA if either (1) it has received a cryptographically valid message on the new SA, or (2) the new SA rekeys an existing SA and it receives an IKE request to close the replaced SA. When rekeying an SA, the responder continues to send traffic on the old SA until one of those events occurs. ---------------------------------------------------------------------- Earlier we knew that we didn't follow that SHOULD exactly, as we moved to use new SA either if old one was deleted or after short timeout. We knew this was against the SHOULD and changing it was on our todo list. Now the new text does not say "SHOULD" anymore (it was removed, not lowercased), it just says you "continue to send traffic on the old SA" so effectually now it is MUST as it says you do that, you are not allowed to do anything else. So when the text removed "SHOULD" it actually made the required behavior much stricter, and made our old implementations so they do not follow the given behavior (as this was in our todo list, we have already changed the code). This is more generic thing than just CRLs (or rekey behavior), i.e. what does non-lowercase "do this" statement in the RFC really mean. -- kivi...@iki.fi _______________________________________________ IPsec mailing list IPsec@ietf.org https://www.ietf.org/mailman/listinfo/ipsec