feat(protocol): freeze M4 native session RC6 contract
This commit is contained in:
@@ -44,6 +44,10 @@ def classify_input(raw: bytes) -> str:
|
||||
return "valid" if width and height and x < width and y < height else "invalid:field"
|
||||
if kind == 7:
|
||||
return "valid" if len(body) == 4 else "invalid:length"
|
||||
if kind == 8:
|
||||
if len(body) != 8:
|
||||
return "invalid:length"
|
||||
return "valid" if body[0] <= 15 and body[3] <= 3 else "invalid:field"
|
||||
return "invalid:kind"
|
||||
|
||||
|
||||
@@ -68,6 +72,14 @@ def classify_feedback(raw: bytes) -> str:
|
||||
return "valid" if valid_fec_status(body) else "invalid:field"
|
||||
if kind == 3:
|
||||
return "valid" if not body else "invalid:length"
|
||||
if kind == 4:
|
||||
if len(body) != 24:
|
||||
return "invalid:length"
|
||||
return "valid" if any(body[:16]) and int.from_bytes(body[16:24], "big") > 0 else "invalid:field"
|
||||
if kind == 5:
|
||||
if len(body) != 16:
|
||||
return "invalid:length"
|
||||
return "valid" if any(body) else "invalid:field"
|
||||
return "invalid:type"
|
||||
if kind in (1, 2, 3):
|
||||
return "invalid:direction"
|
||||
|
||||
Reference in New Issue
Block a user