You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
returnsyserr.NewAnnotatedError(syserr.ErrNotSupported, fmt.Sprintf("Nftables: Chain with handle: %d already exists and NLM_F_REPLACE is not supported", chain.GetHandle()))
424
424
}
425
425
426
-
// TODO: b/421437663: Support updating existing chains.
426
+
// TODO: b/434243967: Support updating existing chains.
427
427
returnsyserr.NewAnnotatedError(syserr.ErrNotSupported, fmt.Sprintf("Nftables: Chain flags attribute is not supported for existing chains"))
returnsyserr.NewAnnotatedError(syserr.ErrNotSupported, fmt.Sprintf("Nftables: Netdev basechains or basechains attached to Ingress or Egress are not currently supported for deleting"))
returnsyserr.NewAnnotatedError(syserr.ErrBusy, fmt.Sprintf("Nftables: Non-recursive delete on a chain with use > 0 is not supported. Chain %s has chain use %d", chain.GetName(), chain.GetChainUse()))
714
714
}
715
715
716
-
// TODO: b/421437663 - Support iteratively deleting rules in a chain to then
716
+
// TODO: b/434243967 - Support iteratively deleting rules in a chain to then
717
717
// delete chains. After deleting all the possible rules, if the chain is
returnsyserr.NewAnnotatedError(syserr.ErrTooManyOpenFiles, fmt.Sprintf("Nftables: Chain %s has the maximum chain use value at %d", chain.GetName(), chain.GetChainUse()))
849
849
}
850
850
851
-
// TODO - b/421437663: Support replace operations on rules.
851
+
// TODO - b/434244017: Support replace operations on rules.
852
852
ifmsgFlags&linux.NLM_F_REPLACE!=0 {
853
853
returnsyserr.NewAnnotatedError(syserr.ErrNotSupported, "Nftables: Replace operations are not currently supported.")
returnnil, syserr.NewAnnotatedError(syserr.ErrInvalidArgument, fmt.Sprintf("Nftables: Attribute NFTA_DATA_VALUE is not supported for register type %d", regType))
965
965
}
966
966
967
-
// TODO - b/421437663: Add stricter validation for value bytes.
967
+
// TODO - b/434244017: Add stricter validation for value bytes.
968
968
returnnewBytesData(valueBytes), nil
969
969
} elseifvBytes, ok:=dataAttrs[linux.NFTA_DATA_VERDICT]; ok {
970
970
// Represents a verdict like NF_DROP or NF_ACCEPT.
return0, syserr.NewAnnotatedError(syserr.ErrInvalidArgument, fmt.Sprintf("Nftables: Register %d with type %d is less than %d bytes", reg, regType, linux.NFT_REG_1*linux.NFT_REG_SIZE/linux.NFT_REG32_SIZE))
1035
1035
}
1036
1036
1037
-
// TODO - b/421437663: Add error checking for the length of the expression data, ensuring it
1037
+
// TODO - b/434244017: Add error checking for the length of the expression data, ensuring it
} elseif_, ok:=verdictAttrs[linux.NFTA_VERDICT_CHAIN_ID]; ok {
1074
-
// TODO - b/421437663: Add support for looking up chains via their transaction id.
1074
+
// TODO - b/434243967: Add support for looking up chains via their transaction id.
1075
1075
returnv, syserr.NewAnnotatedError(syserr.ErrNotSupported, fmt.Sprintf("Nftables: Looking up chains via their id is not supported"))
1076
1076
} else {
1077
1077
returnv, syserr.NewAnnotatedError(syserr.ErrInvalidArgument, fmt.Sprintf("Nftables: Attributes for verdict data must contain a chain name or chain id"))
0 commit comments