Lines Matching full:path
87 int c = strcmp(a->path, b->path); in pf_kanchor_compare()
95 int c = strcmp(a->path, b->path); in pf_keth_anchor_compare()
132 pf_find_kanchor(const char *path) in pf_find_kanchor() argument
139 strlcpy(key->path, path, sizeof(key->path)); in pf_find_kanchor()
175 pf_find_kruleset(const char *path) in pf_find_kruleset() argument
179 while (*path == '/') in pf_find_kruleset()
180 path++; in pf_find_kruleset()
181 if (!*path) in pf_find_kruleset()
183 anchor = pf_find_kanchor(path); in pf_find_kruleset()
190 pf_get_leaf_kruleset(char *path, char **path_remainder) in pf_get_leaf_kruleset() argument
196 p = path; in pf_get_leaf_kruleset()
209 leaf = path; in pf_get_leaf_kruleset()
211 * if no path component exists, then main ruleset is in pf_get_leaf_kruleset()
221 /* restore slashes in path. */ in pf_get_leaf_kruleset()
238 ((parent != NULL) && (strlen(parent->path) >= PF_ANCHOR_MAXPATH))) in pf_create_kanchor()
249 * Make sure path for levels 2, 3, ... is terminated by '/': in pf_create_kanchor()
252 strlcpy(anchor->path, parent->path, sizeof(anchor->path)); in pf_create_kanchor()
253 strlcat(anchor->path, "/", sizeof(anchor->path)); in pf_create_kanchor()
255 strlcat(anchor->path, anchor->name, sizeof(anchor->path)); in pf_create_kanchor()
261 anchor->path, anchor->name, dup->path, dup->name); in pf_create_kanchor()
272 "'%s' '%s'\n", __func__, anchor->path, in pf_create_kanchor()
273 anchor->name, dup->path, dup->name); in pf_create_kanchor()
286 pf_find_or_create_kruleset(const char *path) in pf_find_or_create_kruleset() argument
292 if (path[0] == 0) in pf_find_or_create_kruleset()
294 while (*path == '/') in pf_find_or_create_kruleset()
295 path++; in pf_find_or_create_kruleset()
296 ruleset = pf_find_kruleset(path); in pf_find_or_create_kruleset()
302 strlcpy(p, path, MAXPATHLEN); in pf_find_or_create_kruleset()
310 * aname is a path remainder, which contains nodes we must create. We in pf_find_or_create_kruleset()
311 * process the aname path from left to right, effectively descending in pf_find_or_create_kruleset()
364 char *p, *path; in pf_kanchor_setup() local
372 path = (char *)rs_malloc(MAXPATHLEN); in pf_kanchor_setup()
373 if (path == NULL) in pf_kanchor_setup()
376 strlcpy(path, name + 1, MAXPATHLEN); in pf_kanchor_setup()
378 /* relative path */ in pf_kanchor_setup()
380 if (s->anchor == NULL || !s->anchor->path[0]) in pf_kanchor_setup()
381 path[0] = 0; in pf_kanchor_setup()
383 strlcpy(path, s->anchor->path, MAXPATHLEN); in pf_kanchor_setup()
385 if (!path[0]) { in pf_kanchor_setup()
388 rs_free(path); in pf_kanchor_setup()
391 if ((p = strrchr(path, '/')) != NULL) in pf_kanchor_setup()
394 path[0] = 0; in pf_kanchor_setup()
398 if (path[0]) in pf_kanchor_setup()
399 strlcat(path, "/", MAXPATHLEN); in pf_kanchor_setup()
400 strlcat(path, name, MAXPATHLEN); in pf_kanchor_setup()
402 if ((p = strrchr(path, '/')) != NULL && !strcmp(p, "/*")) { in pf_kanchor_setup()
406 ruleset = pf_find_or_create_kruleset(path); in pf_kanchor_setup()
407 rs_free(path); in pf_kanchor_setup()
427 strlcat(anchor_call, r->anchor->path, in pf_kanchor_copyout()
436 strlcpy(a, rs->anchor->path, MAXPATHLEN); in pf_kanchor_copyout()
444 if (strncmp(a, r->anchor->path, strlen(a))) { in pf_kanchor_copyout()
446 r->anchor->path); in pf_kanchor_copyout()
449 if (strlen(r->anchor->path) > strlen(a)) in pf_kanchor_copyout()
450 strlcat(anchor_call, r->anchor->path + (a[0] ? in pf_kanchor_copyout()
488 strlcat(anchor_call, r->anchor->path, in pf_keth_anchor_nvcopyout()
497 strlcpy(a, rs->anchor->path, MAXPATHLEN); in pf_keth_anchor_nvcopyout()
505 if (strncmp(a, r->anchor->path, strlen(a))) { in pf_keth_anchor_nvcopyout()
507 r->anchor->path); in pf_keth_anchor_nvcopyout()
510 if (strlen(r->anchor->path) > strlen(a)) in pf_keth_anchor_nvcopyout()
511 strlcat(anchor_call, r->anchor->path + (a[0] ? in pf_keth_anchor_nvcopyout()
538 pf_find_keth_ruleset(const char *path) in pf_find_keth_ruleset() argument
542 while (*path == '/') in pf_find_keth_ruleset()
543 path++; in pf_find_keth_ruleset()
544 if (!*path) in pf_find_keth_ruleset()
546 anchor = pf_find_keth_anchor(path); in pf_find_keth_ruleset()
554 _pf_find_keth_anchor(struct pf_keth_ruleset *rs, const char *path) in _pf_find_keth_anchor() argument
561 strlcpy(key->path, path, sizeof(key->path)); in _pf_find_keth_anchor()
568 pf_find_keth_anchor(const char *path) in pf_find_keth_anchor() argument
570 return (_pf_find_keth_anchor(V_pf_keth, path)); in pf_find_keth_anchor()
574 pf_find_or_create_keth_ruleset(const char *path) in pf_find_or_create_keth_ruleset() argument
580 if (path[0] == 0) in pf_find_or_create_keth_ruleset()
582 while (*path == '/') in pf_find_or_create_keth_ruleset()
583 path++; in pf_find_or_create_keth_ruleset()
584 ruleset = pf_find_keth_ruleset(path); in pf_find_or_create_keth_ruleset()
590 strlcpy(p, path, MAXPATHLEN); in pf_find_or_create_keth_ruleset()
602 strlcpy(p, path, MAXPATHLEN); in pf_find_or_create_keth_ruleset()
611 (parent != NULL && strlen(parent->path) >= in pf_find_or_create_keth_ruleset()
624 strlcpy(anchor->path, parent->path, in pf_find_or_create_keth_ruleset()
625 sizeof(anchor->path)); in pf_find_or_create_keth_ruleset()
626 strlcat(anchor->path, "/", sizeof(anchor->path)); in pf_find_or_create_keth_ruleset()
628 strlcat(anchor->path, anchor->name, sizeof(anchor->path)); in pf_find_or_create_keth_ruleset()
633 anchor->path, anchor->name, dup->path, dup->name); in pf_find_or_create_keth_ruleset()
644 "'%s' '%s'\n", __func__, anchor->path, in pf_find_or_create_keth_ruleset()
645 anchor->name, dup->path, dup->name); in pf_find_or_create_keth_ruleset()
669 char *p, *path; in pf_keth_anchor_setup() local
677 path = (char *)rs_malloc(MAXPATHLEN); in pf_keth_anchor_setup()
678 if (path == NULL) in pf_keth_anchor_setup()
681 strlcpy(path, name + 1, MAXPATHLEN); in pf_keth_anchor_setup()
683 /* relative path */ in pf_keth_anchor_setup()
685 if (s->anchor == NULL || !s->anchor->path[0]) in pf_keth_anchor_setup()
686 path[0] = 0; in pf_keth_anchor_setup()
688 strlcpy(path, s->anchor->path, MAXPATHLEN); in pf_keth_anchor_setup()
690 if (!path[0]) { in pf_keth_anchor_setup()
693 rs_free(path); in pf_keth_anchor_setup()
696 if ((p = strrchr(path, '/')) != NULL) in pf_keth_anchor_setup()
699 path[0] = 0; in pf_keth_anchor_setup()
703 if (path[0]) in pf_keth_anchor_setup()
704 strlcat(path, "/", MAXPATHLEN); in pf_keth_anchor_setup()
705 strlcat(path, name, MAXPATHLEN); in pf_keth_anchor_setup()
707 if ((p = strrchr(path, '/')) != NULL && !strcmp(p, "/*")) { in pf_keth_anchor_setup()
711 ruleset = pf_find_or_create_keth_ruleset(path); in pf_keth_anchor_setup()
712 rs_free(path); in pf_keth_anchor_setup()