Merge "QOS: Check for portRange validity before filter matching" into sc-dev

This commit is contained in:
Jayachandran Chinnakkannu
2021-06-29 06:12:27 +00:00
committed by Android (Google) Code Review

View File

@@ -57,6 +57,12 @@ public final class QosBearerFilter implements Parcelable {
public static final int QOS_PROTOCOL_UDP = android.hardware.radio.V1_6.QosProtocol.UDP; public static final int QOS_PROTOCOL_UDP = android.hardware.radio.V1_6.QosProtocol.UDP;
public static final int QOS_PROTOCOL_ESP = android.hardware.radio.V1_6.QosProtocol.ESP; public static final int QOS_PROTOCOL_ESP = android.hardware.radio.V1_6.QosProtocol.ESP;
public static final int QOS_PROTOCOL_AH = android.hardware.radio.V1_6.QosProtocol.AH; public static final int QOS_PROTOCOL_AH = android.hardware.radio.V1_6.QosProtocol.AH;
public static final int QOS_MIN_PORT = android.hardware.radio.V1_6.QosPortRange.MIN;
/**
* Hardcoded inplace of android.hardware.radio.V1_6.QosPortRange.MAX as it
* returns -1 due to uint16_t to int conversion in java. (TODO: Fix the HAL)
*/
public static final int QOS_MAX_PORT = 65535; // android.hardware.radio.V1_6.QosPortRange.MIN;
@QosProtocol @QosProtocol
private int protocol; private int protocol;
@@ -229,6 +235,12 @@ public final class QosBearerFilter implements Parcelable {
return end; return end;
} }
public boolean isValid() {
return start >= QOS_MIN_PORT && start <= QOS_MAX_PORT
&& end >= QOS_MIN_PORT && end <= QOS_MAX_PORT
&& start <= end;
}
@Override @Override
public void writeToParcel(@NonNull Parcel dest, int flags) { public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeInt(start); dest.writeInt(start);