diff --git a/pkg/util/buffers.go b/pkg/util/buffers.go index 32d32bf..5bcfb3c 100644 --- a/pkg/util/buffers.go +++ b/pkg/util/buffers.go @@ -296,12 +296,4 @@ func (reader *MemoryReader) ClipFront() (r net.Buffers) { reader.offset0 = 0 reader.offset1 = 0 return -} - -func (buffers *Memory) ToBytes() []byte { - ret := make([]byte, buffers.Size) - var clone net.Buffers - clone = append(clone, buffers.Buffers...) - clone.Read(ret) - return ret -} +} \ No newline at end of file diff --git a/plugin/rtmp/pkg/handshake.go b/plugin/rtmp/pkg/handshake.go index 996850e..f817d2a 100644 --- a/plugin/rtmp/pkg/handshake.go +++ b/plugin/rtmp/pkg/handshake.go @@ -120,8 +120,12 @@ func (nc *NetConnection) simple_handshake(C1 []byte, checkC2 bool) error { if err != nil { return err } - if checkC2 && !bytes.Equal(C2.ToBytes()[8:], S0S1[9:]) { - return errors.New("C2 Error") + if checkC2 { + buf := nc.mediaDataPool.NextN(C2.Size) + C2.Read(buf) + if !bytes.Equal(buf[8:], S0S1[9:]) { + return errors.New("C2 Error") + } } return nil }