Просмотр исходного кода

handshake: Let a payload's certificate alias the decrypted message rather than copying it

JackDoan 6 дней назад
Родитель
Сommit
35b3d92bdd
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      handshake/payload.go

+ 3 - 2
handshake/payload.go

@@ -72,7 +72,8 @@ func MarshalPayload(out []byte, p Payload) []byte {
 	return append(out, rest...)
 	return append(out, rest...)
 }
 }
 
 
-// UnmarshalPayload decodes a protobuf-encoded NebulaHandshake message.
+// UnmarshalPayload decodes a protobuf-encoded NebulaHandshake message. The
+// returned Cert aliases b.
 func UnmarshalPayload(b []byte) (Payload, error) {
 func UnmarshalPayload(b []byte) (Payload, error) {
 	var p Payload
 	var p Payload
 
 
@@ -127,7 +128,7 @@ func unmarshalPayloadDetails(p *Payload, b []byte) error {
 			if n < 0 {
 			if n < 0 {
 				return errInvalidHandshakeDetails
 				return errInvalidHandshakeDetails
 			}
 			}
-			p.Cert = append([]byte(nil), v...)
+			p.Cert = v
 			b = b[n:]
 			b = b[n:]
 		case fieldInitiatorIndex:
 		case fieldInitiatorIndex:
 			if typ != protowire.VarintType {
 			if typ != protowire.VarintType {