Lines Matching defs:name
200 static void print_new_rule(const char *name, mode_t mode, uid_t uid, gid_t gid)
206 printf("%s %4o %4o %s %d %s %d\n", name, mode, mode, pw->pw_name, uid,
223 static int validate_file(const char *name, mode_t mode, uid_t uid, gid_t gid)
231 if (strcmp(name, pr->spec) == 0) {
241 printf("# WARNING # Multiple exact rules for file: %s\n", name);
245 print_new_rule(name, mode, uid, gid);
253 if ((strstr(name, pr->spec) == name) &&
254 (!strchr(name + strlen(pr->spec), '/'))) {
265 if (strstr(name, pr->spec) == name) {
278 print_new_rule(name, mode, uid, gid);
284 static int validate_link(const char *name, mode_t mode, uid_t uid, gid_t gid)
293 if (strcmp(name, pr->spec) == 0) {
303 printf("# WARNING # Multiple exact rules for link: %s\n", name);
305 print_new_rule(name, mode, uid, gid);
312 static int validate_dir(const char *name, mode_t mode, uid_t uid, gid_t gid)
320 if (strcmp(name, pr->spec) == 0) {
330 printf("# WARNING # Multiple exact rules for directory: %s\n", name);
334 print_new_rule(name, mode, uid, gid);
340 if (strstr(name, pr->spec) == name) {
353 print_new_rule(name, mode, uid, gid);
359 static int check_path(const char *name)
369 err = lstat(name, &s);
373 perror(name);
380 if (name[strlen(name) - 1] != '/')
381 snprintf(namebuf, sizeof(namebuf), "%s/", name);
383 snprintf(namebuf, sizeof(namebuf), "%s", name);
401 return validate_link(name, PERMS(s.st_mode), s.st_uid, s.st_gid);
403 return validate_file(name, PERMS(s.st_mode), s.st_uid, s.st_gid);