Merge pull request #24570 from topimiettinen/nft-sets-v2
network: firewall integration with NFT sets
This commit is contained in:
@@ -747,3 +747,22 @@ int parse_loadavg_fixed_point(const char *s, loadavg_t *ret) {
|
||||
|
||||
return store_loadavg_fixed_point(i, f, ret);
|
||||
}
|
||||
|
||||
/* Limitations are described in https://www.netfilter.org/projects/nftables/manpage.html and
|
||||
* https://bugzilla.netfilter.org/show_bug.cgi?id=1175 */
|
||||
bool nft_identifier_valid(const char *id) {
|
||||
if (!id)
|
||||
return false;
|
||||
|
||||
size_t len = strlen(id);
|
||||
if (len == 0 || len > 31)
|
||||
return false;
|
||||
|
||||
if (!ascii_isalpha(id[0]))
|
||||
return false;
|
||||
|
||||
for (size_t i = 1; i < len; i++)
|
||||
if (!ascii_isalpha(id[i]) && !ascii_isdigit(id[i]) && !IN_SET(id[i], '/', '\\', '_', '.'))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -152,3 +152,5 @@ int parse_oom_score_adjust(const char *s, int *ret);
|
||||
* to a loadavg_t. */
|
||||
int store_loadavg_fixed_point(unsigned long i, unsigned long f, loadavg_t *ret);
|
||||
int parse_loadavg_fixed_point(const char *s, loadavg_t *ret);
|
||||
|
||||
bool nft_identifier_valid(const char *id);
|
||||
|
||||
Reference in New Issue
Block a user