r = get_user_creds(&owner, &uid, NULL, NULL, NULL);
if (r < 0) {
if (r == -ENOENT || r == -ESRCH)
- udev_err(rules->udev, "specified user '%s' unknown\n", owner);
+ log_error("specified user '%s' unknown", owner);
else
- udev_err(rules->udev, "error resolving user '%s': %s\n", owner, strerror(-r));
+ log_error("error resolving user '%s': %s", owner, strerror(-r));
}
/* grow buffer if needed */
r = get_group_creds(&group, &gid);
if (r < 0) {
if (r == -ENOENT || r == -ESRCH)
- udev_err(rules->udev, "specified group '%s' unknown\n", group);
+ log_error("specified group '%s' unknown", group);
else
- udev_err(rules->udev, "error resolving group '%s': %s\n", group, strerror(-r));
+ log_error("error resolving group '%s': %s", group, strerror(-r));
}
/* grow buffer if needed */
_cleanup_free_ char *tmp;
tmp = cescape(buf);
- log_error("invalid key/value pair in file %s on line %u, starting at character %tu ('%s')\n",
+ log_error("invalid key/value pair in file %s on line %u, starting at character %tu ('%s')",
filename, lineno, linepos - line + 1, tmp);
if (linepos[1] == '#')
log_error("hint: comments can only start at beginning of line");
r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs);
if (r < 0) {
- log_error("failed to enumerate rules files: %s", strerror(-r));
+ log_error_errno(r, "failed to enumerate rules files: %m");
return udev_rules_unref(rules);
}
struct udev_event *event,
usec_t timeout_usec,
usec_t timeout_warn_usec,
+ struct udev_list *properties_list,
const sigset_t *sigmask) {
struct token *cur;
struct token *rule;
const char *value;
value = udev_device_get_property_value(event->dev, key_name);
- if (value == NULL)
+
+ /* check global properties */
+ if (!value && properties_list) {
+ struct udev_list_entry *list_entry;
+
+ list_entry = udev_list_get_entry(properties_list);
+ list_entry = udev_list_entry_get_by_name(list_entry, key_name);
+ if (list_entry != NULL)
+ value = udev_list_entry_get_value(list_entry);
+ }
+
+ if (!value)
value = "";
if (match_key(rules, cur, value))
goto nomatch;
r = get_user_creds(&ow, &event->uid, NULL, NULL, NULL);
if (r < 0) {
if (r == -ENOENT || r == -ESRCH)
- udev_err(event->udev, "specified user '%s' unknown\n", owner);
+ log_error("specified user '%s' unknown", owner);
else
- udev_err(event->udev, "error resolving user '%s': %s\n", owner, strerror(-r));
+ log_error("error resolving user '%s': %s", owner, strerror(-r));
event->uid = 0;
}
r = get_group_creds(&gr, &event->gid);
if (r < 0) {
if (r == -ENOENT || r == -ESRCH)
- udev_err(event->udev, "specified group '%s' unknown\n", group);
+ log_error("specified group '%s' unknown", group);
else
- udev_err(event->udev, "error resolving group '%s': %s\n", group, strerror(-r));
+ log_error("error resolving group '%s': %s", group, strerror(-r));
event->gid = 0;
}
strscpyl(tags_dir, sizeof(tags_dir), "/run/udev/static_node-tags/", *t, "/", NULL);
r = mkdir_p(tags_dir, 0755);
if (r < 0) {
- log_error("failed to create %s: %s", tags_dir, strerror(-r));
+ log_error_errno(r, "failed to create %s: %m", tags_dir);
return r;
}