The revised wording achieves what it was intended to achieve,
namely that an empty/absent <body> result in a single <CRLF> to be
hashed.
What is not clear is WHY this alternative was chosen (as opposed to
letting it result in an empty <body>).
I could easily envision a situation where a completely empty body got
sent via BDAT to an intermediate MTA that had to convert it to DATA
format for retransmission. It wasn't hard to make a guess that some
such MTAs might a CRLF before the final dot. It's not likely, but
possible, and canonicalizing in this way prevents that problem.
Other than that it's an arbitrary choice. It was always my intent
that it be included, and the ABNF was clear that it should be
included, so that seemed to be the right way to go.
eric
_______________________________________________
NOTE WELL: This list operates according to
http://mipassoc.org/dkim/ietf-list-rules.html