diff --git a/NEWS b/NEWS
index 52bfa6a991..972b9b0b11 100644
--- a/NEWS
+++ b/NEWS
@@ -6,7 +6,8 @@ The udevadm test command has no longer a --force option, nodes and symlinks
are always updated with a test run now.
The udevd daemon can be started with --resolve-names=never to avoid all user
-and group lookups (e.g. in cut-down systems).
+and group lookups (e.g. in cut-down systems) or --resolve-names=late to
+lookup user and groups every time events are handled.
udev 136
========
diff --git a/udev/udevd.c b/udev/udevd.c
index 13a10240d7..7d82d2132e 100644
--- a/udev/udevd.c
+++ b/udev/udevd.c
@@ -688,16 +688,18 @@ int main(int argc, char *argv[])
case 'N':
if (strcmp (optarg, "early") == 0) {
resolve_names = 1;
+ } else if (strcmp (optarg, "late") == 0) {
+ resolve_names = 0;
} else if (strcmp (optarg, "never") == 0) {
resolve_names = -1;
} else {
- fprintf(stderr, "resolve-names must be early or never\n");
- err(udev, "resolve-names must be early or never\n");
+ fprintf(stderr, "resolve-names must be early, late or never\n");
+ err(udev, "resolve-names must be early, late or never\n");
goto exit;
}
break;
case 'h':
- printf("Usage: udevd [--help] [--daemon] [--debug-trace] [--debug] [--resolve-names=early|never] [--version]\n");
+ printf("Usage: udevd [--help] [--daemon] [--debug-trace] [--debug] [--resolve-names=early|late|never] [--version]\n");
goto exit;
case 'V':
printf("%s\n", VERSION);
diff --git a/udev/udevd.xml b/udev/udevd.xml
index 010411c781..0df6f4ba59 100644
--- a/udev/udevd.xml
+++ b/udev/udevd.xml
@@ -29,7 +29,7 @@
-
+
@@ -70,7 +70,8 @@
Specify when udevd should resolve names of users and groups.
When set to (the default) names will be
- resolved when the rules are parsed.
+ resolved when the rules are parsed. When set to
+ names will be resolved for every event.
When set to names will never be resolved
and all devices will be owned by root.