fix: Correctly detect server injection frame for flutter web.
This commit is contained in:
@@ -500,10 +500,13 @@ class FrameCryptor {
|
||||
|
||||
if (keyOptions.uncryptedMagicBytes != null) {
|
||||
var magicBytes = keyOptions.uncryptedMagicBytes!;
|
||||
if (buffer.length >= magicBytes.length + 1) {
|
||||
if (buffer.length > magicBytes.length + 1) {
|
||||
var magicBytesBuffer = buffer.sublist(
|
||||
buffer.length - (magicBytes.length + 1), magicBytes.length);
|
||||
buffer.length - magicBytes.length - 1, buffer.length - 1);
|
||||
//print('magicBytesBuffer $magicBytesBuffer, magicBytes $magicBytes, ');
|
||||
if (magicBytesBuffer.toString() == magicBytes.toString()) {
|
||||
var frameType = buffer.sublist(buffer.length - 1)[0];
|
||||
print('skip uncrypted frame, type $frameType');
|
||||
var finalBuffer = BytesBuilder();
|
||||
finalBuffer.add(Uint8List.fromList(
|
||||
buffer.sublist(0, buffer.length - (magicBytes.length + 1))));
|
||||
|
||||
Reference in New Issue
Block a user