<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">The spec looks much better now. I’m not yet sure what my opinion is on the retry request prologue changes, so I’ll first implement the new definition in the following 2-3 days before giving my final feedback on that.<br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><br class="">Nemanja</div>
</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On May 1, 2018, at 11:46 AM, Trevor Perrin <<a href="mailto:trevp@trevp.net" class="">trevp@trevp.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class="">I incorporated the recent list discussions about NoiseSocket, and fixed some things Gerardo pointed out:<br class=""><br class=""><a href="https://github.com/noiseprotocol/noisesocket_spec/blob/master/output/noisesocket.pdf" class="">https://github.com/noiseprotocol/noisesocket_spec/blob/master/output/noisesocket.pdf</a><br class=""><br class=""><br class="">Substantive changes:<br class=""><br class=""> - Clarified that padding is used with handshake payloads<div class=""><br class=""></div><div class=""> - Disallowed sending negotiation_data after the first round-trip, except in retry case. The length fields will still be present so negotiation_data in these messages could be used later, but for now we should probably keep things simple and not require people to think about and support negotiation_data in every handshake message (and this isn't needed for NLS).<br class=""><br class=""> - Changed prologue for the retry request / NoiseSocketInit3 case to cover Alice's negotiation_data when she sends the retry message (which in NLS contains the initial_protocol Alice is echoing from Bob's retry_protocol). This might not be strictly necessary, if we require the server to state the only retry protocol it will accept in its first response, so having the client repeat this would be redundant, which is why I was initially thinking of omitting it and requiring the retry negotiation_data to be empty.<br class=""><br class="">But for consistency, to support other negotiation_data fields, and to provide more flexibility / interop with future extensions which might allow more flexible retry options, I think it is probably best for Alice to repeat the initial_protocol (in NLS) and have it bound into the prologue (in NoiseSocket).<br class=""><br class=""> - Removed API section<br class=""><br class=""> - Marked this as 'official/unstable'<br class=""><br class=""><br class="">Editorial changes:<br class=""> - Added a table to clarify the different response cases, and some text cleanup.<div class=""> - Switched to Alice and Bob terminology<br class=""><br class=""><br class="">I'd like to publish this next week, so would appreciate further thoughts or PRs on the text.<br class=""><br class=""><br class="">Trevor<br class=""></div></div><div class=""><br class=""></div></div>
_______________________________________________<br class="">Noise mailing list<br class=""><a href="mailto:Noise@moderncrypto.org" class="">Noise@moderncrypto.org</a><br class="">https://moderncrypto.org/mailman/listinfo/noise<br class=""></div></blockquote></div><br class=""></body></html>