mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
shared/bus-unit-util: rework error messages for NFTSet=
Let's be nice to the user and print the exact reason why we won't accept a setting.
This commit is contained in:
@@ -961,13 +961,21 @@ static int bus_append_nft_set(sd_bus_message *m, const char *field, const char *
|
||||
assert(table);
|
||||
assert(set);
|
||||
|
||||
source = nft_set_source_from_string(source_str);
|
||||
source = r = nft_set_source_from_string(source_str);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to parse NFT set source '%s': %m", source_str);
|
||||
if (!IN_SET(source, NFT_SET_SOURCE_CGROUP, NFT_SET_SOURCE_USER, NFT_SET_SOURCE_GROUP))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to parse %s.", field);
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Bad NFT set source value '%s'.",
|
||||
nft_set_source_to_string(source));
|
||||
|
||||
nfproto = nfproto_from_string(nfproto_str);
|
||||
if (nfproto < 0 || !nft_identifier_valid(table) || !nft_identifier_valid(set))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to parse %s.", field);
|
||||
nfproto = r = nfproto_from_string(nfproto_str);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to parse nft protocol '%s': %m", nfproto_str);
|
||||
|
||||
if (!nft_identifier_valid(table))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Bad NFT identifier name '%s'.", table);
|
||||
if (!nft_identifier_valid(set))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Bad NFT identifier name '%s'.", set);
|
||||
|
||||
r = sd_bus_message_append(m, "(iiss)", source, nfproto, table, set);
|
||||
if (r < 0)
|
||||
|
||||
Reference in New Issue
Block a user