err("invalid SUBSYSTEM operation");
goto invalid;
}
- add_rule_key(rule, &rule->subsystem, operation, value);
+ /* bus, class, subsystem events should all be the same */
+ if (strcmp(value, "subsystem") == 0 ||
+ strcmp(value, "bus") == 0 ||
+ strcmp(value, "class") == 0) {
+ if (strcmp(value, "bus") == 0 || strcmp(value, "class") == 0)
+ err("'%s' must be specified as 'subsystem' "
+ "please fix it in %s:%u", value, filename, lineno);
+ add_rule_key(rule, &rule->subsystem, operation, "subsystem|class|bus");
+ } else
+ add_rule_key(rule, &rule->subsystem, operation, value);
valid = 1;
continue;
}
continue;
}
+ if (strncasecmp(key, "TEST", sizeof("TEST")-1) == 0) {
+ attr = get_key_attribute(key + sizeof("TEST")-1);
+ if (attr != NULL)
+ rule->test_mode_mask = strtol(attr, NULL, 8);
+ add_rule_key(rule, &rule->test, operation, value);
+ valid = 1;
+ continue;
+ }
+
if (strcasecmp(key, "RUN") == 0) {
add_rule_key(rule, &rule->run, operation, value);
valid = 1;