+ }
+ if (value[0] == '\0')
+ dbg("name empty, node creation supressed");
+ add_rule_key(rule, &rule->name, operation, value);
+ continue;
+ }
+
+ if (strcasecmp(key, "SYMLINK") == 0) {
+ add_rule_key(rule, &rule->symlink, operation, value);
+ valid = 1;
+ continue;
+ }
+
+ if (strcasecmp(key, "OWNER") == 0) {
+ valid = 1;
+ if (rules->resolve_names && (!strchr(value, '$') && !strchr(value, '%'))) {
+ char *endptr;
+ strtoul(value, &endptr, 10);
+ if (endptr[0] != '\0') {
+ char owner[32];
+ uid_t uid = lookup_user(value);
+ dbg("replacing username='%s' by id=%i", value, uid);
+ sprintf(owner, "%u", (unsigned int) uid);
+ add_rule_key(rule, &rule->owner, operation, owner);
+ continue;
+ }
+ }
+
+ add_rule_key(rule, &rule->owner, operation, value);
+ continue;
+ }
+
+ if (strcasecmp(key, "GROUP") == 0) {
+ valid = 1;
+ if (rules->resolve_names && (!strchr(value, '$') && !strchr(value, '%'))) {
+ char *endptr;
+ strtoul(value, &endptr, 10);
+ if (endptr[0] != '\0') {
+ char group[32];
+ gid_t gid = lookup_group(value);
+ dbg("replacing groupname='%s' by id=%i", value, gid);
+ sprintf(group, "%u", (unsigned int) gid);
+ add_rule_key(rule, &rule->group, operation, group);
+ continue;