udev: introduce udev_property_name_is_valid() and friends

This commit is contained in:
Yu Watanabe
2025-01-04 21:54:40 +09:00
parent b358833ee9
commit 4c547d216a
2 changed files with 10 additions and 5 deletions
+2 -5
View File
@@ -15,7 +15,6 @@
#include "creds-util.h"
#include "device-private.h"
#include "device-util.h"
#include "env-util.h"
#include "escape.h"
#include "ethtool-util.h"
#include "fd-util.h"
@@ -1111,8 +1110,7 @@ int config_parse_udev_property(
continue;
}
/* The restriction for udev property is not clear. Let's apply the one for environment variable here. */
if (!env_assignment_is_valid(resolved)) {
if (!udev_property_assignment_is_valid(resolved)) {
log_syntax(unit, LOG_WARNING, filename, line, 0,
"Invalid udev property, ignoring assignment: %s", word);
continue;
@@ -1181,8 +1179,7 @@ int config_parse_udev_property_name(
continue;
}
/* The restriction for udev property is not clear. Let's apply the one for environment variable here. */
if (!env_name_is_valid(resolved)) {
if (!udev_property_name_is_valid(resolved)) {
log_syntax(unit, LOG_WARNING, filename, line, 0,
"Invalid udev property name, ignoring assignment: %s", resolved);
continue;
+8
View File
@@ -3,6 +3,8 @@
#include <errno.h>
#include "env-util.h"
#define UDEV_NAME_SIZE 512
#define UDEV_PATH_SIZE 1024
#define UDEV_LINE_SIZE 16384
@@ -78,3 +80,9 @@ typedef enum UdevReloadFlags {
UDEV_RELOAD_KILL_WORKERS = 1u << (_UDEV_BUILTIN_MAX + 0),
UDEV_RELOAD_RULES = 1u << (_UDEV_BUILTIN_MAX + 1),
} UdevReloadFlags;
/* udev properties are conceptually close to environment variables. Let's validate names, values, and
* assignments in the same way. */
#define udev_property_name_is_valid(x) env_name_is_valid(x)
#define udev_property_value_is_valid(x) env_value_is_valid(x)
#define udev_property_assignment_is_valid(x) env_assignment_is_valid(x)