Two new flags have been added:
HASHDATA_FLAG_DOUBLEHASH and HASHDATA_FLAG_COOKIE.
HASHDATA_FLAG_DOUBLEHASH causes the server to double-hash the input data given a client session key and a server session key.
HASHDATA_FLAG_COOKIE causes the server to echo a cookie value in the reply message.
Additionally, BNLS_HASHDATA will now accept input data exceeding 64 bytes.
These enhancements can be used to cut out a round-trip-time on many of the hashing operations that Battle.net uses.
More detailed information can be found in the BNLS protocol specification (http://www.valhallalegends.com/yoni/BNLSProtocolSpec.txt) document, which should be updated shortly.
You just cut my BNLS_RecievedHash() event in half.
My BNLS socket changed only by needing to add code to read the returning cookie value...
And, all I needed to do for my Battle.net socket was change a few storage values, modify the MyBNLS.SndHashData() calls, and then delete one of the kWaitingFor handlers.
However, the cut in code cannot be compared to the cut in logon time.