From: Kay Sievers Date: Sat, 24 Feb 2007 22:43:04 +0000 (+0100) Subject: update DRIVER== changes X-Git-Tag: 174~2064 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=915fde17387f7245164fbda21a0f5bbc185f7dc2;ds=sidebyside update DRIVER== changes --- 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;