From 915fde17387f7245164fbda21a0f5bbc185f7dc2 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Sat, 24 Feb 2007 23:43:04 +0100 Subject: [PATCH] update DRIVER== changes --- TODO | 4 ---- extras/volume_id/vol_id.c | 3 ++- udev_rules_parse.c | 5 +++++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index f64273cab..7afef5fe9 100644 --- a/TODO +++ b/TODO @@ -4,10 +4,6 @@ These things would be nice to have: any of the links at that time These things will change in future udev versions: - o make DRIVER== to match only the event device - (DRIVERS must be used, we currently translate it to DRIVERS and print - a warning if DRIVER is used) - o warn if BUS, ID, SYSFS are used as keys (they are SUBSYSTEMS, KERNELS, ATTRS now) diff --git a/extras/volume_id/vol_id.c b/extras/volume_id/vol_id.c index 73843ef69..92f00e0c5 100644 --- a/extras/volume_id/vol_id.c +++ b/extras/volume_id/vol_id.c @@ -188,7 +188,8 @@ int main(int argc, char *argv[]) /* try to drop all privileges before reading disk content */ pw = getpwnam ("nobody"); if (pw != NULL && pw->pw_uid > 0 && pw->pw_gid > 0) { - dbg("dropping privileges to %u:%u", (unsigned int)pw->pw_uid, (unsigned int)pw->pw_gid); + dbg("dropping privileges to %u:%u", + (unsigned int)pw->pw_uid, (unsigned int)pw->pw_gid); if (setgroups(0, NULL) != 0 || setgid(pw->pw_gid) != 0 || setuid(pw->pw_uid) != 0) { diff --git a/udev_rules_parse.c b/udev_rules_parse.c index 00b53285f..8ef5ffee4 100644 --- a/udev_rules_parse.c +++ b/udev_rules_parse.c @@ -307,6 +307,11 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena } if (strcasecmp(key, "DRIVER") == 0) { + if (operation != KEY_OP_MATCH && + operation != KEY_OP_NOMATCH) { + err("invalid DRIVER operation"); + goto invalid; + } add_rule_key(rule, &rule->driver, operation, value); valid = 1; continue; -- 2.30.2