- if (strncasecmp(key, "SYSFS", sizeof("SYSFS")-1) == 0) {
- attr = get_key_attribute(key + sizeof("SYSFS")-1);
+ if (strcasecmp(key, "DRIVERS") == 0) {
+ if (operation != KEY_OP_MATCH &&
+ operation != KEY_OP_NOMATCH) {
+ err("invalid DRIVERS operation");
+ goto invalid;
+ }
+ add_rule_key(rule, &rule->drivers, operation, value);
+ valid = 1;
+ continue;
+ }
+
+ if (strncasecmp(key, "ATTRS{", sizeof("ATTRS{")-1) == 0 ||
+ strncasecmp(key, "SYSFS{", sizeof("SYSFS{")-1) == 0) {
+ if (operation != KEY_OP_MATCH &&
+ operation != KEY_OP_NOMATCH) {
+ err("invalid ATTRS operation");
+ goto invalid;
+ }
+ attr = get_key_attribute(key + sizeof("ATTRS")-1);