]> Sergey Matveev's repositories - vors.git/commitdiff
One possible round-trip less
authorSergey Matveev <stargrave@stargrave.org>
Mon, 15 Apr 2024 22:00:07 +0000 (01:00 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 15 Apr 2024 22:00:25 +0000 (01:00 +0300)
cmd/client/main.go

index 7ff841c8e9d553f2440ae58f3616f47d490084655a0679bb6ec238cdbe2ab3ab..fadaf51fd28367cfbed9a8468f666009e8433415a1dfffb436a083f2b60b2243 100644 (file)
@@ -162,10 +162,6 @@ func main() {
        if err = ctrl.SetNoDelay(true); err != nil {
                log.Fatalln("nodelay:", err)
        }
-       if _, err = io.Copy(ctrl, strings.NewReader(vors.NoisePrologue)); err != nil {
-               log.Fatalln("handshake: write prologue", err)
-               return
-       }
 
        hs, err := noise.NewHandshakeState(noise.Config{
                CipherSuite: vors.NoiseCipherSuite,
@@ -181,7 +177,16 @@ func main() {
        if err != nil {
                log.Fatalln("handshake encrypt:", err)
        }
-       if err = vors.PktWrite(ctrl, buf); err != nil {
+       buf = append(
+               append(
+                       []byte(vors.NoisePrologue),
+                       byte((len(buf) & 0xFF00) >> 8),
+                       byte((len(buf) & 0x00FF) >> 0),
+               ),
+               buf...
+       )
+       _, err = io.Copy(ctrl, bytes.NewReader(buf))
+       if err != nil {
                log.Fatalln("write handshake:", err)
                return
        }